软件测试是提高软件产品质量的必要条件

对于一个成熟的软件产业来说,软件产品的质量至观重要。人们设定软件产品的质量目标就是要找到用户的质量需求与这些质量特性的相关性,并将其转化为开发过程中可度量的技术指标或能力指标,作为质量控制的依据。

随着 会上软件产品应用的日益普及,市场对软件产品质量的要求会不断提高,致使软件测试的地位变得越来越来重要了。软件质量是指软件产品中能满足给定需求的各种特性的总和。这些特性称做质量特性,ISO/IEC 9126中规定了软件的6个质量特性(如图1所示),即功能性(functionality)、可靠性(reliability)、易用性(usability)、效率(efficiency)、维护性(maintainability)和可移植性(portability),每个特性包含若干子特性。人们设定产品的质量目标就是要找到用户的质量需求与这些质量特性的相关性,并将其转化为开发过程中可度量的技术指标或能力指标,作为质量控制的依据。

图2 软件工程项目的生存周期

在软件测试过程中,如果运行测试用例的结果与该用例的预期结果不符,则需要先判定缺陷的严重等级。缺陷分级定义如下:

第一级,不能满足系统需求,致使系统不能正常工作。如:程序非正常退出、程序挂起、死机、登录不成功等。

第二级:严重影响系统要求或基本功能的实现,与需求规格说明书、设计规格说明书、操作说明书不相符,并且不存在变通的解决办法。

第三级,严重影响系统要求或基本功能的实现,与需求规格说明书、设计规格说明书、操作说明书不相符,但却存在变通的解决办法(重新安装或重新启动该软件不属于变通的解决办法)。

第四级,不影响满足系统要求或基本功能的实现,但操作不方便、用词不当、窗体控件没有完全显示等其它问题。

当该缺陷的严重等级为第二级以上(包括第二级)时,则此项测试为不通过,并记录实际输出结果。系统测试所产生的测试 告就是测试人员执行测试用例的结果汇总。

2.可靠性(reliability) 在规定的一段时间和条件下,软件产品维持规定的性能水平的能力。

ISO/IEC 9126质量模型在该质量特性下,进一步定义了3个子特性,分别为:成熟性(maturity);容错性(fault tolerance);易恢复性(recoverability)。

在进行软件系统的可靠性测试时,测试人员应主要考察以下四个方面:屏蔽用户操作错误,当程序认为输入错误或输入未经定义时,应视为不允许的输入,不加处理;日志管理,提供操作日志查询和管理的功能;不会导致系统崩溃、异常退出和丢失数据的情况,包括由产品描述中列出的其他程序或用户造成的错误输入,以及用户文档中明确规定的非法指令。

3.易用性(usability) 在指定条件使用时,软件产品被理解、学习、使用和吸引用户的能力。

ISO/IEC 9126质量模型在该质量特性下,进一步定义了3个子特性,分别为:易理解性(understandability);易学性(learnability);易操作性(operability)。

在易理解性方面要考虑:

a)程序的问题、消息和结果是易理解的(如,术语、图形表示、背景信息、帮助信息等);b)出错提示消息必须准确(如解释错误产生的原因和纠正的详细信息等)。

在易浏览性方面要考虑:

a)程序以易观察易读的形式向用户提供信息(如,确认、程序询问、警告、出错消息等);

b)屏幕输入格式, 表和其他输入、输出设计清晰和易于浏览。

在可操作性方面要考虑:对具有严重后果的功能执行是可逆的,或者程序给出该后果的明显警告,并且在执行该命令前要求确认。

4.效率(efficiency) 在规定条件下,相对于所用资源数量,软件产品提供适当性能的能力。

ISO/IEC 9126质量模型在该质量特性下,进一步定义了2个子特性,分别为:时间特性;资源特性(resource behaviour)。

系统的性能覆盖面非常广泛,对一个软件系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。在进行软件系统的性能测试时,我们主要考察以下2个方面:

·负载测试(Load Testing):确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项(如,通过量、响应时间、CPU占用率、内存使用等)。

·压力测试(Stress Testing):通过确定一个系统的瓶颈或者不能接收的性能点,获得系统能提供的最大服务级别。

5.维护性(maintainability) 软件产品可被修改的能力,包括为了适应环境的变化和需求、功能规格说明的变化而对软件进行的修改、改进或更改。

ISO/IEC 9126质量模型在该质量特性下,进一步定义了4个子特性,分别为:易分析性(analysability);易改变性(changeability);稳定性(stability);易测试性。

在进行软件系统的维护性测试时,我们主要考察以下几个方面:

·易分析性:对于程序异常可以提供错误原因提示信息。

·稳定性:对于局部错误的修改不影响整体程序的运行。

·易测试性:需求变更后的各项功能点可通过测试用例进行测试。

6.可移植性(portability) 软件产品从一种环境迁移到另外一种环境的能力。

ISO/IEC 9126质量模型在该质量特性下,进一步定义了4个子特性,分别为:适应性(adaptability);易安装性(installability);遵循性(conformance);易替换性(replaceability)。

在进行软件系统的可移植性测试时,我们主要考察以下几个方面:

·适应性:系统软件无须为适应不同环境采用特殊方法或手段,即可在指定环境中正常安装、运行。

·易安装性:依据用户安装手册,在指定环境下能成功安装系统软件。

·遵循性:系统软件可以遵循与可移植性有关的标准或约定。

·易替换性:系统软件在不影响原有系统正常运行的情况下,能够正确替换旧系统。

必须指出的是,软件测试是提高软件产品质量的必要条件而非充分条件,它是提高软件产品质量最直接、快捷的手段,但绝不是一种根本手段。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年9月9日
下一篇 2013年9月10日

相关推荐