搜档网
当前位置:搜档网 › 软件测试方法的对比分析文献综述

软件测试方法的对比分析文献综述

软件测试方法的对比分析文献综述
软件测试方法的对比分析文献综述

文献综述

软件测试方法的对比分析

一、软件测试概述

[1]张新华、何永前,软件测试方法概述,2012(4),科技视界,35~37,在开发软件的过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件,但难免在工作中犯错误。这样,在软件产品中就会隐藏许多错误和缺陷。对于规模大、复杂性高的软件更是如此。在这些错误中,有些是致命的错误,如果不排除,就会导致生命与财产的重大损失。这种情况迫使人们必须认真计划、彻底地进行软件测试。为了保证软件的质量和可靠性,应力求在分析、设计等各个开发阶段结束前,对软件进行严格的技术评审。但由于人们能力的局限性,审查不能发现所有的错误。而且在编码阶段还会引进大量的错误。这些错误和缺陷如果遗留到软件交付投入运行之时,终将会暴露出来。但到那时,不仅改正这些错误的代价更高,而且往往造成很恶劣的后果。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终审查,是软件质量保证的关键步骤。如果给软件测试下定义,可以这样讲:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据和预期的结果),并利用这些测试用例去运行程序,以发现错误的过程。

二、软件测试的方法

[2]伦立军、丁雪梅、李英梅,面向对象软件测试方法研究,2005(19),计算机工程与应用,80-82, 面向对象程序设计语言包含信息隐藏、数据抽象、动态联编和继承四个特性,信息隐藏通过减少构件间依赖程度提高软件系统可靠性和可修改性,使构件内的属性和方法,仅在完成系统功能而必须在构件间交换时才能进行传递,数据抽象定义数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察,动态联编使程序员向一个对象发送消息而不涉及系统如何实现操作时可继续执行,继承是在类、子类及对象间自动共享数据和方法的机制,它是面向对象程序设计核心!面向对象软件测试仍处于发展阶段,该文讨论了应用继承图探讨面向对象软件测试方法,提出了单元重复继承算法生成单元重复继承并给出了继承层次测试方法。由于面向对象软件的复杂性,该方法还未涉及面向对象软件测试充分性标

准测试数据生成等问题$因此有待于进一步研究。

[3]郭笑梅,面向对象的软件测试方法研究,2009(7),信息技术,145-147,根据面向对象的特点,面向对象的软件测试可分三个层阶段:

(1)测试单个对象类测试:单个对象类相当于传统的单元测试,传统的单元测试是针对程序的函数、过程或完成某一定功能的程序块。沿用单元测试的概念,实际测试类成员函数。一些传统的测试方法在面向对象的单元测试中都可以使用。只不过单元概念发生了变化,是封装的类或对象作为最小的可测试单位。

(2)面向对象集成测试:面向对象的集成测试也叫测试对象集群。面向对象的软件由于没有层次的控制结构,传统的自顶向下和自底向上的集成策略变成没有意义。面向对象软件的集成测试三种集成策略:基于使用的测试(基于用例或场景的测试)、基于线程的测试、基于对象的交互测试。基于线程的测试集成响应系统的一个输入或事件所需的一组类,每个线程被个体地集成和测试,通过回归测试保证没有副作用产生。面向对象的集成测试能够检测出相对独立的单元测试无法检测出的那些类相互作用时才会产生的错误。基于单元测试对成员函数行为正确性的保证,集成测试只关注于系统的结构和内部的相互作用。面向对象的集成测试可以分成两步进行:先进行静态测试,再进行动态测试。

(3)面向对象系统测试:通过单元测试和集成测试,仅能保证软件开发的功能得以实现。但不能确认在实际运行时,它是否满足用户的需要,是否大量存在实际使用条件下会被诱发产生错误的隐患。为此,对完成开发的软件必须经过规范的系统测试。

[4]张焕琪,软件测试策略和测试方法的应用,2011(2),电子商务,55-58,现代的软件测试策略采用双V模型,体现了软件测试的重要地位,它贯穿了软件开发的全过程。在双V模型中,首先要制定测试目的,包括:一是证明软件系统能否正常工作的演示功能;二是能够发现问题的检错功能;三是测试系统的质量的预测功能;四是控制质量的预防功能;五是按顺序包含了预防、检错、预测及演示等功能,并向着集成化、自动化、智能化的方向演进的综合功能。因此,要根据实际情况选择实现相应功能的测试目的,是为了证明软件系统能正常工作,还是为了发现问题;是为了测试系统的质量,还是为了控制软件系统的质量。其次是确定测试对象和测试范围。测试对象可以是整个系统、子系统、模块、单元,也可以是某个变量、类、成员函数等;测试范围包括功能测试、性能测试、可靠性测试、疲劳测试、移植性测试、恢复性测试等。再次是对测试环境和测试方法的选择和描述。最后是对测试结构进行记录和分析,并对测试过程做全面的跟踪和管理。因此,双V模型测试策略成为现代软件开发过程中指导

软件测试的首要选择。

[5] 谢仕义, 软件测试方法研究, 2001(3),软件测试方法研究,10-12,图形对照测试方法就是将图形软件处理后的结果(如FPC图和PCB图)和处理前的数据(如GERBER数据)以及设计规则检查(DRC)转换成图形进行对照和比较,从而作出快速、直观、正确性的判别方法。在实现过程中充分考虑图形的形状和大小与屏幕之间的关系可自动调整图形显示窗口的左右和上下位置,以确保最大限度地利用有限屏幕充分显示任意复杂图形。可通过鼠标操作对任意一个窗口的任意一部分图形进行放大和还原,并使放大图形在比较窗口内一一对应。其处理过程所涉及的算法如下(以FPC图或PCB 图为例)。

[6]王会青、冯秀芳,Web应用软件测试方法的研究,2007(4),太原理工大学学报,304-306,在软件开发过程中,用户需求的不确定性和易变性是客观存在的,不可

避免的,需求的变化将导致实际情况中设计、开发、编码等各个阶段经常要反复交叉进行。把软件开发的各个阶段划分得过于严格,那是一种理论上的理想状态,实际上在开发过程中并没有那么严格的界限,往往各个阶段是交叉进行。不仅如此,在开发过程中各个层次之间的测试如单元、集成和系统除了存在时间上的先后关系之外,还存在触发、反复、迭代和增量关系。文中提出的Web应用软件测试过程模型将测试流程大致分为两类活动,一类是测试准备活动,包括测试需求分析、测试设计、测试编码、测试验证等等;另一类是测试执行活动,包括测试运行、测试报告、测试报告分析等等。Web应用软件由多个页面文件组成,各个页面之间通过超级链接、窗体等页面元素联系成一个整体。Web应用软件测试需要根据具体的测试需求对测试内容进行有针对性地表述,围绕测试目标确定测试对象并选择相应的测试方法。Web应用软件测试可分为多种类型,如功能测试、性能测试、兼容性测试等;源文档分析器分为脚本分析器(客户端脚本和服务器端脚本)和HTML分析器。

[7]奚和平,基于构件的软件测试模型及方法,2006,7(3),解放军理工大学学报(自然科学版),236-238,根据IEEE定义,黑盒测试又称为功能测试,含义为测试过程中忽略系统或组件的内部机制,只关注对应于用户选择的输入和执行条件而产生的输出。测试执行是为了评价一个系统或组件与指定的功能需求的符合性。构件软件黑盒测试的问题主要表现在构件需求规格说明、构件确认历史记录、构件定制等3个方面。

白盒测试方法大都可以用于基于构件的软件测试中,但是有两点在基于构件的软件测试中需要注意:(1)传统的软件开发应用背景都是固定的,有详细的需求说明,而

基于构件的软件开发其背景是独立的。当构件组合时就涉及到背景的转变,因此,测试

过程中需要考虑更多的不确定因素。(2)基于构件的软件测试比传统的白盒测试有更高的要求。因为很多构件问题只有当构件发布后在实际使用中才能发觉,因此构件的测试要求更高。基于白盒的构件测试主要有两个因素:测试构件时考虑该构件可能涉及到的尽可能多的内外环境因素。构件发布时,要符合严格的测试标准。

三、结束语

总之,软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

参考文献:

[1]张新华、何永前,软件测试方法概述,2012(4),科技视界,35-37.

[2]伦立军、丁雪梅、李英梅,面向对象软件测试方法研究,2005(19),计算机工程

与应用,80-82.

[3] 郭笑梅,面向对象的软件测试方法研究,2009(7),信息技术,145-147.

[4]张焕琪, 软件测试策略和测试方法的应用,2011(2),电子商务,55-58.

[5] 谢仕义, 软件测试方法研究, 2001(3),软件测试方法研究,10-12.

[6]王会青、冯秀芳, Web应用软件测试方法的研究,2007(4).

[7]奚和平, 基于构件的软件测试模型及方法,2006,7(3), 解放军理工大学学报(自

然科学版),236-238.

相关主题