北大青鸟测试教程第04章

上传人:工**** 文档编号:579930934 上传时间:2024-08-27 格式:PPT 页数:70 大小:226.25KB
返回 下载 相关 举报
北大青鸟测试教程第04章_第1页
第1页 / 共70页
北大青鸟测试教程第04章_第2页
第2页 / 共70页
北大青鸟测试教程第04章_第3页
第3页 / 共70页
北大青鸟测试教程第04章_第4页
第4页 / 共70页
北大青鸟测试教程第04章_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《北大青鸟测试教程第04章》由会员分享,可在线阅读,更多相关《北大青鸟测试教程第04章(70页珍藏版)》请在金锄头文库上搜索。

1、第第 4 章章 软软 件件 测测 试试 过过 程程 4.1 软件测试过程概述软件测试过程概述4.2 单单 元元 测测 试试4.3 集集 成成 测测 试试4.4 系系 统统 测测 试试4.5 验验 收收 测测 试试4.6 回回 归归 测测 试试4.7 系系 统统 排排 错错4.1 软件测试过程概述软件测试过程概述 软软件件测测试试过过程程与与软软件件工工程程的的开开发发过过程程是是相相对对的的。第第2章章图图2-1采采用用V形形图图表表示示软软件件开开发发与与软软件件测测试试的的对对应应关关系系,也也可可以以采采用用图图4-1所示的螺旋形图来表示这种关系。所示的螺旋形图来表示这种关系。图4-1

2、测试过程 单单元元测测试试的的目目的的是是保保证证每每个个模模块块单单独独运运行行正正确确,多多采采用用白白盒盒技技术术,检检查查模模块块控控制制结结构构的的某某些些特特殊殊路路径径,期期望望覆覆盖盖尽尽可可能能多多的的出出错错点点。经经单单元元测测试试后后的的模模块块,组组装装为为软软件件包包,对对软软件件包包进进行行集集成成测测试试,主主要要测测试试软软件件结结构构问问题题,因因测测试试建建立立在在模模块块间间的的接接口口上上,所所以以多多为为黑黑盒盒测测试试,适适当当辅辅以以白白盒盒测测试试技技术术,以以便便能能对对主主要要控控制制路路径径进进行行测试。测试。 系系统统测测试试主主要要是

3、是检检验验软软件件是是否否满满足足功功能能、行行为为和和性性能能方方面面的的要要求求,这这一一步步完完全全采采用用黑黑盒盒测测试试技技术术。验验收收测测试试是是检检验验软软件件产产品品的的最最后后一一道道工工序序,与与前前面面各各种种测测试试过过程程的的不不同同之之处处主主要要在在于于它它突突出出了了客客户户的的作作用用,同时软件开发人员也要参与。同时软件开发人员也要参与。4.2 单单 元元 测测 试试 单元测试是对软件设计的最小单元单元测试是对软件设计的最小单元模块进行正确性检验的测试工作,主要模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。测试模块在语法、格式和逻辑上

4、的错误。 单单元元测测试试应应对对模模块块内内所所有有重重要要的的控控制制路路径径进进行行测测试试,以以便便发发现现模模块块内内部部的的错错误误。单单元元测测试试是是检检查查软软件件源源程程序序的的第第一一次次机机会会,通通过过孤孤立立地地测测试试每每个个单单元元,确确保保每每个个单单元元工工作作正正常常,这这样样比比单单元元作作为为一一个个更更大大系系统统的的一一个个部部分分更更容容易易发发现现问问题题。在在单单元元测测试试中中,每每个个程程序序模模块块可可以以并并行行、独独立立地地进进行行测试工作。测试工作。4.2.1 单元测试的主要任务单元测试的主要任务 单单元元测测试试是是针针对对每每

5、个个程程序序模模块块进进行行测测试试,单单元元测测试试的的主主要要任任务务是是解解决决以以下下5个个方方面面的的测试问题。测试问题。1模块接口测试模块接口测试 针针对对模模块块接接口口测测试试应应进进行行的的检检查查,主主要要涉及以下几方面的内容。涉及以下几方面的内容。 模模块块接接受受输输入入的的实实际际参参数数个个数数与与模模块的形式参数个数是否一致。块的形式参数个数是否一致。 输输入入的的实实际际参参数数与与模模块块的的形形式式参参数数的类型是否匹配。的类型是否匹配。 输输入入的的实实际际参参数数与与模模块块的的形形式式参参数数所使用单位是否一致。所使用单位是否一致。 调调用用其其他他模

6、模块块时时,所所传传送送的的实实际际参参数数个个数数与与被被调调用用模模块块的的形形式式参参数数的的个个数数是是否否相相同。同。 调调用用其其他他模模块块时时,所所传传送送的的实实际际参参数数与被调用模块的形式参数的类型是否匹配。与被调用模块的形式参数的类型是否匹配。 调调用用其其他他模模块块时时,所所传传送送的的实实际际参参数数与被调用模块的形式参数的单位一致。与被调用模块的形式参数的单位一致。 调调用用内内部部函函数数时时,参参数数的的个个数数、属属性性和次序是否正确。和次序是否正确。 在在模模块块有有多多个个入入口口的的情情况况下下,是是否否有有引引用与当前入口无关的参数。用与当前入口无

7、关的参数。 是否会修改了只读型参数。是否会修改了只读型参数。 出出现现全全局局变变量量时时,这这些些变变量量是是否否在在所所有有引用它们的模块中都有相同的定义。引用它们的模块中都有相同的定义。11. 有没有把某些约束当做参数来传送。有没有把某些约束当做参数来传送。2模块局部数据结构测试模块局部数据结构测试3模块中所有独立执行路径测试模块中所有独立执行路径测试4各种错误处理测试各种错误处理测试5模块边界条件测试模块边界条件测试4.2.2 单元测试的执行过程单元测试的执行过程 一一般般情情况况下下,在在完完成成了了程程序序编编写写、复复查查和和语语法法正正确确性性验验证证后后,就就应应进进行行单单

8、元元测测试试。测测试试用用例例设设计计应应与与复复审审工工作作相相结结合合,根根据据设设计计信信息息选选取取数数据据,将将增增大大发发现现上上述述各各类类错误的可能性。错误的可能性。 在进行单元测试时,需设置若干辅助在进行单元测试时,需设置若干辅助测试模块。辅助模块有两种,一种是驱动测试模块。辅助模块有两种,一种是驱动模块(模块(Driver),用以模拟被测试模块的),用以模拟被测试模块的上级模块。上级模块。 另一种是被调用模拟子模块另一种是被调用模拟子模块(Sub),用以模拟被测模块工作过程中所),用以模拟被测模块工作过程中所调用的模块。图调用的模块。图4-2显示了一般的单元测试显示了一般的

9、单元测试环境。环境。图4-2 一般单元测试环境 4.2.3 单元测试技术和测试数据用于单元测试的主要技术如下。用于单元测试的主要技术如下。1静态测试静态测试2白盒测试白盒测试3状态转换测试状态转换测试4功能测试和非功能测试功能测试和非功能测试 单单元元测测试试中中使使用用的的数数据据,通通常常不不使使用用真真实实数数据据。当当被被测测试试单单元元的的功功能能不不涉涉及及操操纵纵或或使使用用大大量量数数据据时时,测测试试中中可可以以使使用用有有代代表表性性的的一一小小部部分分手手工工制制作作的的测测试试数数据据。在在创创建建测测试试数数据据时时,应应确确保保数数据据充充分分地地测测试试单单元元的

10、的边边界界条条件件。当当被被测测试试单单元元要要操操纵纵大大量量数数据据,并并且且有有很很多多单单元元都都有有这这种种需需求求时时,可可以以考考虑虑使使用用真真实实数数据据的的一一个个较较小小的的有有代代表表性性的的样样本本。测测试试时时还还要要考考虑虑往往样样本本数数据据中中引引入入一一些些手手工工制制作作的的数数据据,以以便便测测试试单单元元的的某某个个具具体体特特性性,例如对错误条件的响应等。例如对错误条件的响应等。 当当测测试试一一个个单单元元要要从从远远程程数数据据源源接接收收数数据据时时(例例如如,从从一一个个客客户户端端/服服务务器器系系统统中中接接收收数数据据),有有必必要要在

11、在单单元元测测试试中中使使用用测测试试辅辅助助程程序序,来来模模拟拟对对这这些些数数据据的的访访问问。但但在在考考虑虑这这种种选选择择时时,必必须须首首先先对对开开发发的的测测试试辅辅助助程程序序进进行行测试,以保证模拟的真实性。测试,以保证模拟的真实性。4.2.4 单元测试人员单元测试人员 单元测试一般由开发设计人员本身完成,单元测试一般由开发设计人员本身完成,一般由开发组在组长的监督下进行,由编写一般由开发组在组长的监督下进行,由编写该单元的开发设计者设计所需的测试用例和该单元的开发设计者设计所需的测试用例和测试数据,来测试该单元并修改缺陷。开发测试数据,来测试该单元并修改缺陷。开发组组长

12、负责保证使用合适的测试技术,在合组组长负责保证使用合适的测试技术,在合理的质量控制和监督下执行充分的测试。理的质量控制和监督下执行充分的测试。 4.3 集集 成成 测测 试试将经过单元测试的模块按设计要求连接起来,将经过单元测试的模块按设计要求连接起来,组成所规定的软件系统的过程称为组成所规定的软件系统的过程称为“集成集成”。 4.3.1 集成测试的主要任务集成测试的主要任务集集成成测测试试是是组组装装软软件件的的系系统统测测试试技技术术之之一一,按按设设计计要要求求把把通通过过单单元元测测试试的的各各个个模模块块组组装装在在一一起起之之后后,进进行行集集成成测测试试的的主主要要任任务务是是要

13、要求求软软件件系系统统符符合合实实际际软软件件结结构构,发发现现与与接接口口有有关关的的各各种种错错误误。单单元元测测试试的的主主要要任务是解决以下任务是解决以下5个方面的测试问题。个方面的测试问题。 将将各各模模块块连连接接起起来来,检检查查模模块块相相互互调用时,数据经过接口是否丢失。调用时,数据经过接口是否丢失。 将将各各个个子子功功能能组组合合起起来来,检检查查能能否否达到预期要求的各项功能。达到预期要求的各项功能。 一一个个模模块块的的功功能能是是否否会会对对另另一一个个模模块的功能产生不利的影响。块的功能产生不利的影响。 全全局局数数据据结结构构是是否否有有问问题题,会会不不会会被

14、异常修改。被异常修改。 单单个个模模块块的的误误差差积积累累起起来来,是是否否被被放大,从而达到不可接受的程度。放大,从而达到不可接受的程度。4.3.2 集成测试方法集成测试方法 集成测试包括两种不同方法:非增量集成测试包括两种不同方法:非增量式集成和增量式集成。式集成和增量式集成。 1非增量式测试方法非增量式测试方法 概括来说,非增量式测试方法是采用一概括来说,非增量式测试方法是采用一步到位的方法来进行测试,即对所有模块进步到位的方法来进行测试,即对所有模块进行个别的单元测试后,按程序结构图将各模行个别的单元测试后,按程序结构图将各模块连接起来,把连接后的程序当做一个整体块连接起来,把连接后

15、的程序当做一个整体进行测试。图进行测试。图4-3给出的是采用这种非增量式给出的是采用这种非增量式的集成测试方法的一个经典例子。的集成测试方法的一个经典例子。 2增量式测试方法增量式测试方法(1)自顶向下增量式测试)自顶向下增量式测试 自顶向下增量式测试表示逐步集成和自顶向下增量式测试表示逐步集成和逐步测试是按结构图自上而下进行的。即逐步测试是按结构图自上而下进行的。即模块集成的顺序是首先集成主控模块(主模块集成的顺序是首先集成主控模块(主程序),然后按照软件控制层次结构向下程序),然后按照软件控制层次结构向下进行集成。进行集成。 图图4-4 自顶向下集成自顶向下集成集成测试的整个过程由下列集成

16、测试的整个过程由下列3个步骤完成。个步骤完成。 主主控控模模块块作作为为测测试试驱驱动动器器,把把对对主主控控模模块块进进行行单单元元测测试试时时引引入入的的被被调调用用模模拟拟子模块用实际模块替代。子模块用实际模块替代。 依依照照所所选选用用的的模模块块集集成成策策略略(深深度度优优先先和和广广度度优优先先),下下层层的的被被调调用用模模拟拟子子模块一次一个地被替换为真正的模块。模块一次一个地被替换为真正的模块。 在在每每个个模模块块被被集集成成时时,都都必必须须立立即即进行测试一遍。进行测试一遍。 回回到到第第2步步重重复复进进行行,直直到到整整个个系系统统结结构被集成完成。构被集成完成。

17、 图图4-5给出了一个按广度优先策略进行给出了一个按广度优先策略进行集成测试的典型例子。集成测试的典型例子。 图4-5 自顶向下增量式测试(广度优先策略) (2)自底向上增量式测试)自底向上增量式测试 自底向上增量式测试是从最底层的模自底向上增量式测试是从最底层的模块开始,按结构图自下而上逐步进行集成块开始,按结构图自下而上逐步进行集成和测试。图和测试。图4-6表示了采用自底向上增量式表示了采用自底向上增量式测试实现同一实例的过程。测试实现同一实例的过程。 图4-6 自底向上增量式测试 4.3.3 集成测试技术和测试数据集成测试技术和测试数据 集成测试主要测试软件的结构问题,集成测试主要测试软

18、件的结构问题,因为测试建立在模块的接口上,所以多为因为测试建立在模块的接口上,所以多为黑盒测试,适当辅以白盒测试。黑盒测试,适当辅以白盒测试。 执行集成测试应遵循下面的方法。执行集成测试应遵循下面的方法。 确确认认组组成成一一个个完完整整系系统统的的模模块块之之间间的关系。的关系。 评评审审模模块块之之间间的的交交互互和和通通信信需需求求,确认出模块间的接口。确认出模块间的接口。 使用上述信息产生一套测试用例。使用上述信息产生一套测试用例。 采采用用增增量量式式测测试试,依依次次将将模模块块加加入入到到(扩扩充充)系系统统,并并测测试试新新合合并并后后的的系系统统,这这个个过过程程以以一一个个

19、逻逻辑辑/功功能能顺顺序序重重复复进进行行,直直至至所所有有模模块块被被功功能能集集成成进进来来形形成成完完整整的的系统为止。系统为止。 此此外外,在在测测试试过过程程中中尤尤其其要要注注意意关关键键模模块块,所所谓谓关关键键模模块块一一般般都都具具有有下下述述一一个个或或多个特征。多个特征。 对应几条需求。对应几条需求。 具有高层控制功能。具有高层控制功能。 复杂,易出错。复杂,易出错。 有特殊的性能要求。有特殊的性能要求。 因因为为集集成成测测试试的的主主要要目目的的是是验验证证组组成成软软件件系系统统的的各各模模块块的的接接口口和和交交互互作作用用,因因此此集集成成测测试试对对数数据据的

20、的要要求求无无论论从从难难度度和和内内容容来来说说一一般般不不是是很很高高。集集成成测测试试一一般般也也不不使使用用真真实实数数据据,测测试试人人员员可可以以使使用用手手工工制制作作一一部部分分代代表表性性的的测测试试数数据据。在在创创建建测测试试数数据据时时,应应保保证证数数据据充充分分测测试试软软件件系系统统的的边边界条件。界条件。 在在单单元元测测试试时时,根根据据需需要要生生成成了了一一些些测测试试数数据据,在在集集成成测测试试时时可可适适当当地地重重用用这这些些数据,这样可节省时间和人力。数据,这样可节省时间和人力。 4.3.4 集成测试遵循的原则 集集成成测测试试很很不不好好把把握

21、握,应应针针对对总总体体设设计计尽尽早早开开始始筹筹划划。为为了了做做好好集集成成测测试试,需需要要遵循以下原则。遵循以下原则。 所有公共接口都要被测试到。所有公共接口都要被测试到。 关键模块必须进行充分的测试。关键模块必须进行充分的测试。 集成测试应当按一定的层次进行。集成测试应当按一定的层次进行。 集集成成测测试试的的策策略略选选择择应应当当综综合合考考虑虑质量、成本和进度之间的关系。质量、成本和进度之间的关系。 集集成成测测试试应应当当尽尽早早开开始始,并并以以总总体体设计为基础。设计为基础。 在在模模块块与与接接口口的的划划分分上上,测测试试人人员员应当和开发人员进行充分的沟通。应当和

22、开发人员进行充分的沟通。 当当接接口口发发生生修修改改时时,涉涉及及的的相相关关接接口必须进行再测试。口必须进行再测试。 测试执行结果应当如实记录。测试执行结果应当如实记录。4.3.5 集成测试人员 由由于于集集成成测测试试不不是是在在真真实实环环境境下下进进行行,而而是是在在开开发发环环境境,或或是是一一个个独独立立的的测测试试环环境境下下进进行行的的,所所以以集集成成测测试试所所需需人人员员一一般般从从开开发发组组中中选选出出,在在开开发发组组长长的的监监督督下下进进行行,开开发发组组长长负负责责保保证证在在合合理理的的质质量量控控制制和和监监督督下下使使用用合合适适的的测测试试技技术术执

23、执行行充充分分的的集成测试。集成测试。 在在集集成成测测试试过过程程中中,测测试试过过程程由由一一个个独独立测试观察员来监控测试工作。立测试观察员来监控测试工作。 集成测试过程中应考虑邀请一个用户集成测试过程中应考虑邀请一个用户代表非正式地观看集成测试代表非正式地观看集成测试 。4.4 系系 统统 测测 试试集成测试通过以后,软件已经组装成一个集成测试通过以后,软件已经组装成一个完整的软件包,这时就要进行系统测试。完整的软件包,这时就要进行系统测试。 4.4.1 系统测试的任务系统测试的任务系统测试一般要完成以下几种测试。系统测试一般要完成以下几种测试。1功能测试功能测试2性能测试性能测试3恢

24、复测试恢复测试4安全测试安全测试5强度测试强度测试6其他限制条件的测试其他限制条件的测试4.4.2 系统测试技术和测试数据系统测试技术和测试数据 系系统统测测试试完完全全采采用用黑黑盒盒测测试试技技术术,因因为为这这时时已已不不需需要要考考虑虑组组件件模模块块的的实实现现细细节节,而而主主要要是是根根据据需需求求分分析析时时确确定定的的标标准准检检验验软软件件是是否否满满足足功功能能、行行为为、性性能能和和系系统统协协调性等方面的要求。调性等方面的要求。 系统测试所用的数据必须尽可能地像系统测试所用的数据必须尽可能地像真实数据一样精确和有代表性,也必须和真实数据一样精确和有代表性,也必须和真实

25、数据的大小和复杂性相当。满足上述真实数据的大小和复杂性相当。满足上述测试数据需求的一个方法是使用真实数据。测试数据需求的一个方法是使用真实数据。 在在不不使使用用真真实实数数据据的的情情况况下下应应该该考考虑虑使使用用真真实实数数据据的的一一个个拷拷贝贝。拷拷贝贝数数据据的的质质量量、精精度度和和数数据据量量必必须须尽尽可可能能地地代代表表真真实实的的数数据据。当当使使用用真真实实数数据据或或使使用用真真实实数数据据的的拷拷贝贝时时,仍仍然然有有必必要要引引入入一一些些手手工工数数据据。在在创创建建手手工工数数据据时时,测测试试人人员员必必须须采采用用正正规规的的设设计计技技术术,使使得得提提

26、供供的的数数据据真真正正有有代代表表性,确保软件系统能充分地测试。性,确保软件系统能充分地测试。4.4.3 系统测试人员系统测试人员 系统测试由独立的测试小组在测试组系统测试由独立的测试小组在测试组长的监督下进行,测试组长负责保证在合长的监督下进行,测试组长负责保证在合理的质量控制和监督下使用合适的测试技理的质量控制和监督下使用合适的测试技术执行充分的系统测试。在系统测试过程术执行充分的系统测试。在系统测试过程中,测试过程由一个独立测试观察员来监中,测试过程由一个独立测试观察员来监控测试工作。系统测试过程也应考虑邀请控测试工作。系统测试过程也应考虑邀请一个用户代表非正式地观看测试,同时得一个用

27、户代表非正式地观看测试,同时得到用户反馈意见并在正式验收测试之前尽到用户反馈意见并在正式验收测试之前尽量满足用户的要求。量满足用户的要求。 4.5 验验 收收 测测 试试 系统测试完成后,并使系统试运行了系统测试完成后,并使系统试运行了预定的时间,应进行验收测试。预定的时间,应进行验收测试。 4.5.1 验收测试的主要任务 软软件件验验收收测测试试应应完完成成的的主主要要测测试试工工作作包包括以下几方面。括以下几方面。1文档资料的审查验收文档资料的审查验收2功能测试功能测试3性能测试性能测试4强化测试强化测试5性能降级执行方式测试性能降级执行方式测试6检查系统的余量要求检查系统的余量要求7安装

28、测试安装测试8用户操作测试用户操作测试4.5.2 验收测试技术和测试数据 验收测试完全采用黑盒测试技术,主验收测试完全采用黑盒测试技术,主要是用户代表通过执行其在平常使用系统要是用户代表通过执行其在平常使用系统时的典型任务来测试软件系统,根据业务时的典型任务来测试软件系统,根据业务需求分析,检验软件是否满足功能、行为、需求分析,检验软件是否满足功能、行为、性能和系统协调性等方面的要求。性能和系统协调性等方面的要求。 只只要要有有可可能能,在在验验收收测测试试中中就就应应该该使使用用真真实实数数据据。当当真真实实数数据据中中包包含含机机密密性性或或安安全全性性信信息息,并并且且这这些些数数据据在

29、在局局部部或或整整个个验验收收测测试试中中可可见见时时,就就必必须须采采取取以以下下措措施施来来保证。保证。 用用户户代代表表被被允允许许使使用用这这些些数数据据,或或者者合合理理地地组组织织测测试试使使测测试试组组长长不不必必看看到到这这些数据也可进行测试。些数据也可进行测试。 测测试试观观察察员员被被允允许许使使用用这这些些数数据据,或或者者能能够够在在看看不不到到这这些些数数据据的的情情况况下下确确认认并记录测试用例的成功或失败。并记录测试用例的成功或失败。 在不使用真实数据的情况下,应该考在不使用真实数据的情况下,应该考虑使用真实数据的一个拷贝。拷贝数据的虑使用真实数据的一个拷贝。拷贝

30、数据的质量、精度和数据量必须尽可能地代表真质量、精度和数据量必须尽可能地代表真实的数据。实的数据。 当使用真实数据或使用真实数当使用真实数据或使用真实数据的拷贝时,仍然有必要引入一些手工数据的拷贝时,仍然有必要引入一些手工数据,例如,测试边界条件或错误条件时,据,例如,测试边界条件或错误条件时,可创建一些手工数据。在创建手工数据时,可创建一些手工数据。在创建手工数据时,测试人员必须采用正规的设计技术,使得测试人员必须采用正规的设计技术,使得提供的数据真正有代表性,确保软件系统提供的数据真正有代表性,确保软件系统能充分地测试。能充分地测试。4.5.3 验收测试人员验收测试人员 验验收收测测试试一

31、一般般在在测测试试组组的的协协助助下下,由由用用户户代代表表执执行行。测测试试组组长长负负责责保保证证在在合合理理的的质质量量控控制制和和监监督督下下使使用用合合适适的的测测试试技技术术执执行行充充分分测测试试。测测试试人人员员在在验验收收测测试试工工作作中中将将协协助助用用户户代代表表执执行行测测试试,并并和和测测试试观观察员一起向用户解释测试用例的结果。察员一起向用户解释测试用例的结果。4.5.4 、测试 软件开发设计人员在软件开发设计时,软件开发设计人员在软件开发设计时,不可能完全预见用户实际使用软件系统的情况。不可能完全预见用户实际使用软件系统的情况。 另另外外,一一个个软软件件产产品

32、品可可能能拥拥有有众众多多用用户户,不不可可能能由由每每个个用用户户验验收收,此此时时多多采采用用称称为为、测测试试的的过过程程,以以发发现现那那些些似似乎乎只只有有最最终终用用户户才才能发现的问题。能发现的问题。 测试是在软件开发公司内模拟软件系测试是在软件开发公司内模拟软件系统的运行环境下的一种验收测试,即软件统的运行环境下的一种验收测试,即软件开发公司组织内部人员,模拟各类用户行开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品(称为为对即将面市的软件产品(称为版本)进版本)进行测试,试图发现并修改错误。行测试,试图发现并修改错误。 经经过过测测试试调调整整的的软软件件产产品品称

33、称为为版版本本。紧紧随随其其后后的的测测试试是是指指软软件件开开发发公公司司组组织织各各方方面面的的典典型型用用户户在在日日常常工工作作中中实实际际使使用用版版本本,并并要要求求用用户户报报告告异异常常情情况况,提提出出批批评评意意见见。然然后后软软件件开开发发公公司司再再对对版版本本进进行行改改错和完善。错和完善。 所所以以,一一些些软软件件开开发发公公司司把把测测试试看看成成是是对对一一个个早早期期的的、不不稳稳定定的的软软件件版版本本所所进进行行的的验验收收测测试试,而而把把测测试试看看成成是是对对一一个个晚晚期期的的、更更加加稳稳定定的的软软件件版版本本所所进进行行的的验验收收测试。测

34、试。4.6 回回 归归 测测 试试 回归测试是指软件系统被修改或扩充回归测试是指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。每当软引入新的错误而重复进行的测试。每当软件增加了新的功能,或者软件中的缺陷被件增加了新的功能,或者软件中的缺陷被修正,这些变更都有可能影响软件原有的修正,这些变更都有可能影响软件原有的功能和结构。功能和结构。 为了防止软件的变更产生无法预料的为了防止软件的变更产生无法预料的副作用,不仅要对内容进行测试,还要重副作用,不仅要

35、对内容进行测试,还要重复进行过去已经进行过的测试,以证明修复进行过去已经进行过的测试,以证明修改没有引起未曾预料的后果,或证明修改改没有引起未曾预料的后果,或证明修改后的软件仍能满足具体的需求。后的软件仍能满足具体的需求。 在在理理想想的的测测试试环环境境中中,程程序序每每改改变变一一次次,测测试试人人员员都都重重新新执执行行回回归归测测试试,一一方方面面来来验验证证新新增增加加或或修修改改功功能能的的正正确确性性,另另一一方方面面测测试试人人员员还还要要从从以以前前的的测测试试中中选选取取大大量量的的测测试试以以确确定定是是否否在在实实现现新新功功能能的的过过程程中中引入了缺陷。引入了缺陷。

36、图图4-7说明了回归测试和说明了回归测试和V模型之间的关系。模型之间的关系。图4-7 回归测试和V模型 回回归归测测试试特特别别适适用用于于较较高高阶阶段段的的测测试试过过程程,回回归归测测试试一一般般多多在在系系统统测测试试和和验验收收测测试试环环境境下下进进行行,以以确确保保整整个个软软件件系系统统新新的的构构造造或或新新的的版版本本仍仍然然运运行行正正确确,或或者者确确保保软件系统的现有业务功能完好无损。软件系统的现有业务功能完好无损。4.6.1 回归测试技术和测试数据回归测试技术和测试数据 回归测试一般采用黑盒测试技术来测回归测试一般采用黑盒测试技术来测试软件的高级需求,而无须考虑软件

37、的实试软件的高级需求,而无须考虑软件的实现细节,也可能采用一些非功能测试来检现细节,也可能采用一些非功能测试来检查系统的增强或扩展是否影响了系统的性查系统的增强或扩展是否影响了系统的性能特性,以及与其他系统间的互操作性和能特性,以及与其他系统间的互操作性和兼容性问题。兼容性问题。 错错误误猜猜测测在在回回归归测测试试中中是是很很重重要要的的。错错误误看看起起来来像像是是通通过过直直觉觉发发现现软软件件中中的的错错误误或或缺缺陷陷,实实际际上上错错误误猜猜测测主主要要来来自自于于经经验验,测测试试者者是是使使用用了了一一系系列列技技术术来来确确定定测测试试所所要要达达到到的的范范围围和和程度,这

38、些技术主要有:程度,这些技术主要有: 有关软件设计方法和实现技术;有关软件设计方法和实现技术; 有关前期测试阶段结果的知识;有关前期测试阶段结果的知识; 测测试试类类似似或或相相关关系系统统的的经经验验,了了解解在在以以前的这些系统中曾在哪些地方出现缺陷;前的这些系统中曾在哪些地方出现缺陷; 典典型型的的产产生生错错误误的的知知识识,如如被被零零除除错误;错误; 通用的测试经验规则。通用的测试经验规则。 设计和引入回归测试数据的重要原则设计和引入回归测试数据的重要原则是,应保证数据中可能影响测试的因素与是,应保证数据中可能影响测试的因素与未经修改扩充的原软件上进行测试时的哪未经修改扩充的原软件

39、上进行测试时的哪些因素尽可能一致,否则要想确定观测到些因素尽可能一致,否则要想确定观测到的测试结果是由于数据变化还是很困难的。的测试结果是由于数据变化还是很困难的。 4.6.2 回归测试的范围回归测试的范围 在回归测试范围的选择上,一个最简在回归测试范围的选择上,一个最简单的方法是每次回归执行所有在前期测试单的方法是每次回归执行所有在前期测试阶段建立的测试,来确认问题修改的正确阶段建立的测试,来确认问题修改的正确性,以及没有造成对其他功能的不利影响。性,以及没有造成对其他功能的不利影响。 常用的用例选择方法可以分为以下常用的用例选择方法可以分为以下3种。种。(1)局限在修改范围内的测试)局限在

40、修改范围内的测试(2)在受影响功能范围内回归)在受影响功能范围内回归(3)根根据据一一定定的的覆覆盖盖率率指指标标选选择择回回归归测试测试4.6.3 回归测试人员 由由于于回回归归测测试试一一般般与与系系统统测测试试和和验验收收测测试试相相关关,所所以以要要由由测测试试组组长长负负责责,确确保保选选择择使使用用合合适适的的技技术术和和在在合合理理的的质质量量控控制制中中执执行行充充分分的的回回归归测测试试。测测试试人人员员在在回回归归测测试试工工作作中中将将设设计计并并实实现现测测试试新新的的扩扩展展或或增增强强部部分分所所需需的的新新测测试试用用例例,并并使使用用正正规规的的设计技术创建或修

41、改已有的测试数据。设计技术创建或修改已有的测试数据。 在在回回归归测测试试过过程程中中,测测试试过过程程由由一一个个测测试试观观察察员员来来监监控控测测试试工工作作。在在回回归归测测试试完完成成时时测测试试组组组组长长负负责责整整理理并并归归档档大大量量的的回回归归测测试试结结果果,包包括括测测试试结结果果记记录录、回回归归测测试日志和简短的回归测试总结报告。试日志和简短的回归测试总结报告。4.7 系系 统统 排排 错错系系统统测测试试的的目目的的是是为为了了发发现现尽尽可可能能多多的的错错误误,系系统统排排错错的的任任务务就就是是根根据据测测试试时时所所发发现现的的错错误误,找找出出原原因因

42、和和具具体体的的位位置置,并并进进行行改改正正。排排错错工工作作主主要要由由程程序序开开发发人人员员进进行行,也也就就是是说,谁开发的程序由谁来排错。说,谁开发的程序由谁来排错。1排错过程排错过程2排错方法排错方法 下面简要介绍常用的下面简要介绍常用的3种排错方法。种排错方法。 原始类排错方法是最常用也是最低原始类排错方法是最常用也是最低效的方法,只有在万般无奈的情况下才使效的方法,只有在万般无奈的情况下才使用它,主要思想是用它,主要思想是“通过计算机找错通过计算机找错”。 回溯法能成功地用于程序的排错。回溯法能成功地用于程序的排错。 归归纳纳和和演演绎绎法法采采用用“分分治治”的的概概念念,

43、首首先先基基于于错错误误出出现现有有关关的的所所有有数数据据,假假想想一一个个错错误误原原因因,用用这这些些数数据据证证明明或或反反驳驳它它;或或者者一一次次列列出出所所有有可可能能的的原原因因,通通过过测测试试一一一一排排除除。只只要要某某次次测测试试结结果果说说明明某某种种假假设设已已呈呈现现倪倪端端,则则立立即即精精化化数数据据,进进一一步步进行深入的测试。进行深入的测试。前前面面多多次次提提到到,修修改改一一处处老老问问题题可可能能引引入入几几处处新新问问题题,有有时时程程序序越越改改越越乱乱,但但若若能能做做到到每每次次纠纠错错前前都都细细心心注注意意以以下下3个个问问题题,情况将大为改观。情况将大为改观。 导导致致这这个个错错误误的的原原因因在在程程序序其其他他部部分分还还可能存在吗?可能存在吗? 本本次次修修改改可可能能对对程程序序中中相相关关的的逻逻辑辑和和数数据造成什么影响?引起什么问题?据造成什么影响?引起什么问题? 上次遇到的类似问题是如何排除的?上次遇到的类似问题是如何排除的?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号