background image

构件软件测试技术研究进展

    【摘要】本文研究了构件软件的相关概念问题,构建软件的测试规格,然后,进一步分析
了传统的构件软件测试技术,最后,着重研究了当下的构件化软件系统测试技术,为提高
构件软件测试技术提供参考。

 

  【关键词】构件软件;测试技术;研究进展

 

  

 

  一、前言

 

  构件软件的测试技术对于我们使用构件软件非常重要,能否正确的研究出构件软件测
试技术决定了我们未来能否更好的利用构件软件。因此,对于构件软件,需要制定正确的测
试技术对其进行测试,以提高其性能,发现问题,解决问题。

 

  二、构件软件概述

 

  构件是面向软件体系架构的可复用软件模块。构件(

component)是可复用的软件组成

成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架

framework)、软件构架(或体系结构 Architectural)、文档、分析件、设计模式(Pattern)

等。

1995 年,Ian.oraham 给出的构件定义如下:构件(Component)是指一个对象(接口规

范、或二进制代码),它被用于复用,接口被明确定义。构件是作为一个逻辑紧密的程序代
码包的形式出现的,有着良好的接口。像

Ada 的 Package、Smalltalk-80 和 C++的 class 和数据

类型都可属于构件范畴。但是,操作集合、过程、函数即使可以复用也不能成为一个构件。开
发者可以通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的。软件构件技
术是软件复用的关键因素,也是软件复用技术研究的重点。

 

  三、构件软件测试规格

 

  构件测试规格

C(omponeniTestBnehc,CTB)由构件开发者给出一个测试规格,其中描

述了构件的行为

(imPlemeniation),接口和相应的测试集,用户可以在实际系统中使用这个

规范进行测试。规范是以

XML 形式提供的可以不受操作系统的限制。提供了一系列构件测

试工具,可以把

XML 形式的规范转化为 C 或 JAVA 执行。可以以三种方式生成测试,手工

的、计算机辅助的和自动化的,比较灵活

:使用 XMI 语言描述测试规格,可移植性好;支持符

号执行,可以通过符号执行得到测试输出而无需实际运行测试

;缺点是符号执行速度慢。 

  四、传统的软件测试

  1 软件测试的重要性、目的和原则 为了能够保证交付的软件使客户

满意,需要在软件开发、集成和形成系统之后进行充分、全面、有效的测试,软件测试是保证
软件质量的重要手段。

 测试过程贯穿在软件开发的整个生命周期过程,覆盖范围是很广泛

的,包括需求分析,设计文档、程序代码等。目前比较侠义的理解是软件测试就是对程序代
码的测试。

 软件测试中应该遵循主要原则包括: 

  

(一)应当把

“尽早地和不断地进行软件测试”作为软件开发者的座右铭; 

  

(二)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成;(三)序员应

避免检查自己的程序;

 

  

(四)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件; 

  

(五)充分重视测试中的群集现象; 

  

(六)严格执行测试计划,排除测试的随意性; 

  

(七)应当对每一个测试结果做全面的检查; 

  

(八)妥善的保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。  2 

传统的软件测试主要方法和技术

 通常依照如下方法对软件测试进行分类: (一) 软件开发过

程中的测试:包括单元测试;集成测试;系统测试;

 验收测试。 (二) 软件产品测试。测试对

象是已经或即将产品化的软件。包括:功能测试;性能测试;

β 测试;Benchmark 测试。 (三)