软件测试技术 教学课件 ppt 作者 佟伟光 第04章

上传人:E**** 文档编号:89493634 上传时间:2019-05-25 格式:PPT 页数:70 大小:156KB
返回 下载 相关 举报
软件测试技术 教学课件 ppt 作者  佟伟光 第04章_第1页
第1页 / 共70页
软件测试技术 教学课件 ppt 作者  佟伟光 第04章_第2页
第2页 / 共70页
软件测试技术 教学课件 ppt 作者  佟伟光 第04章_第3页
第3页 / 共70页
软件测试技术 教学课件 ppt 作者  佟伟光 第04章_第4页
第4页 / 共70页
软件测试技术 教学课件 ppt 作者  佟伟光 第04章_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《软件测试技术 教学课件 ppt 作者 佟伟光 第04章》由会员分享,可在线阅读,更多相关《软件测试技术 教学课件 ppt 作者 佟伟光 第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、试建立在模块间的接口上,所以多为黑盒测试,适当辅以白盒测试技术,以便能对主要控制路径进行测试。,系统测试主要是检验软件是否满足功能、行为和性能方面的要求,这一步完全采用黑盒测试技术。验收测试是检验软件产品的最后一道工序,与前面各种测试过程的不同之处主要在于它突出了客户的作用,同时软件开发人员也要参与。,4.2 单 元 测 试,单元测试是对软件设计的最小单元模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。,单元测试应对模块内所有重要的控制路径进行测试,以便发现模块内部的错误。单元测试是检查软件源程序的第一次机会,通过孤立地测试每个单元,确保每个单元工作正常,这样比单元作为一

3、个更大系统的一个部分更容易发现问题。在单元测试中,每个程序模块可以并行、独立地进行测试工作。,4.2.1 单元测试的主要任务 单元测试是针对每个程序模块进行测试,单元测试的主要任务是解决以下5个方面的测试问题。 1模块接口测试 针对模块接口测试应进行的检查,主要涉及以下几方面的内容。, 模块接受输入的实际参数个数与模块的形式参数个数是否一致。 输入的实际参数与模块的形式参数的类型是否匹配。 输入的实际参数与模块的形式参数所使用单位是否一致。, 调用其他模块时,所传送的实际参数个数与被调用模块的形式参数的个数是否相同。 调用其他模块时,所传送的实际参数与被调用模块的形式参数的类型是否匹配。 调用

4、其他模块时,所传送的实际参数与被调用模块的形式参数的单位一致。 调用内部函数时,参数的个数、属性和次序是否正确。, 在模块有多个入口的情况下,是否有引用与当前入口无关的参数。 是否会修改了只读型参数。 出现全局变量时,这些变量是否在所有引用它们的模块中都有相同的定义。 11. 有没有把某些约束当做参数来传送。,2模块局部数据结构测试 3模块中所有独立执行路径测试 4各种错误处理测试 5模块边界条件测试,4.2.2 单元测试的执行过程 一般情况下,在完成了程序编写、复查和语法正确性验证后,就应进行单元测试。测试用例设计应与复审工作相结合,根据设计信息选取数据,将增大发现上述各类错误的可能性。,在

5、进行单元测试时,需设置若干辅助测试模块。辅助模块有两种,一种是驱动模块(Driver),用以模拟被测试模块的上级模块。 另一种是被调用模拟子模块(Sub),用以模拟被测模块工作过程中所调用的模块。图4-2显示了一般的单元测试环境。,图4-2 一般单元测试环境,4.2.3 单元测试技术和测试数据 用于单元测试的主要技术如下。 1静态测试 2白盒测试 3状态转换测试 4功能测试和非功能测试,单元测试中使用的数据,通常不使用真实数据。当被测试单元的功能不涉及操纵或使用大量数据时,测试中可以使用有代表性的一小部分手工制作的测试数据。在创建测试数据时,应确保数据充分地测试单元的边界条件。当被测试单元要操

6、纵大量数据,并且有很多单元都有这种需求时,可以考虑使用真实数据的一个较小的有代表性的样本。测试时还要考虑往样本数据中引入一些手工制作的数据,以便测试单元的某个具体特性,例如对错误条件的响应等。,当测试一个单元要从远程数据源接收数据时(例如,从一个客户端/服务器系统中接收数据),有必要在单元测试中使用测试辅助程序,来模拟对这些数据的访问。但在考虑这种选择时,必须首先对开发的测试辅助程序进行测试,以保证模拟的真实性。,4.2.4 单元测试人员 单元测试一般由开发设计人员本身完成,一般由开发组在组长的监督下进行,由编写该单元的开发设计者设计所需的测试用例和测试数据,来测试该单元并修改缺陷。开发组组长

7、负责保证使用合适的测试技术,在合理的质量控制和监督下执行充分的测试。,4.3 集 成 测 试,将经过单元测试的模块按设计要求连接起来,组成所规定的软件系统的过程称为“集成”。,4.3.1 集成测试的主要任务 集成测试是组装软件的系统测试技术之一,按设计要求把通过单元测试的各个模块组装在一起之后,进行集成测试的主要任务是要求软件系统符合实际软件结构,发现与接口有关的各种错误。单元测试的主要任务是解决以下5个方面的测试问题。, 将各模块连接起来,检查模块相互调用时,数据经过接口是否丢失。 将各个子功能组合起来,检查能否达到预期要求的各项功能。 一个模块的功能是否会对另一个模块的功能产生不利的影响。

8、 全局数据结构是否有问题,会不会被异常修改。 单个模块的误差积累起来,是否被放大,从而达到不可接受的程度。,4.3.2 集成测试方法 集成测试包括两种不同方法:非增量式集成和增量式集成。,1非增量式测试方法 概括来说,非增量式测试方法是采用一步到位的方法来进行测试,即对所有模块进行个别的单元测试后,按程序结构图将各模块连接起来,把连接后的程序当做一个整体进行测试。图4-3给出的是采用这种非增量式的集成测试方法的一个经典例子。,2增量式测试方法 (1)自顶向下增量式测试 自顶向下增量式测试表示逐步集成和逐步测试是按结构图自上而下进行的。即模块集成的顺序是首先集成主控模块(主程序),然后按照软件控

9、制层次结构向下进行集成。,图4-4 自顶向下集成,集成测试的整个过程由下列3个步骤完成。 主控模块作为测试驱动器,把对主控模块进行单元测试时引入的被调用模拟子模块用实际模块替代。 依照所选用的模块集成策略(深度优先和广度优先),下层的被调用模拟子模块一次一个地被替换为真正的模块。 在每个模块被集成时,都必须立即进行测试一遍。,回到第2步重复进行,直到整个系统结构被集成完成。 图4-5给出了一个按广度优先策略进行集成测试的典型例子。,图4-5 自顶向下增量式测试(广度优先策略),(2)自底向上增量式测试 自底向上增量式测试是从最底层的模块开始,按结构图自下而上逐步进行集成和测试。图4-6表示了采

10、用自底向上增量式测试实现同一实例的过程。,图4-6 自底向上增量式测试,4.3.3 集成测试技术和测试数据 集成测试主要测试软件的结构问题,因为测试建立在模块的接口上,所以多为黑盒测试,适当辅以白盒测试。,执行集成测试应遵循下面的方法。 确认组成一个完整系统的模块之间的关系。 评审模块之间的交互和通信需求,确认出模块间的接口。 使用上述信息产生一套测试用例。 采用增量式测试,依次将模块加入到(扩充)系统,并测试新合并后的系统,这个过程以一个逻辑/功能顺序重复进行,直至所有模块被功能集成进来形成完整的系统为止。,此外,在测试过程中尤其要注意关键模块,所谓关键模块一般都具有下述一个或多个特征。 对

11、应几条需求。 具有高层控制功能。 复杂,易出错。 有特殊的性能要求。,因为集成测试的主要目的是验证组成软件系统的各模块的接口和交互作用,因此集成测试对数据的要求无论从难度和内容来说一般不是很高。集成测试一般也不使用真实数据,测试人员可以使用手工制作一部分代表性的测试数据。在创建测试数据时,应保证数据充分测试软件系统的边界条件。 在单元测试时,根据需要生成了一些测试数据,在集成测试时可适当地重用这些数据,这样可节省时间和人力。,4.3.4 集成测试遵循的原则 集成测试很不好把握,应针对总体设计尽早开始筹划。为了做好集成测试,需要遵循以下原则。 所有公共接口都要被测试到。 关键模块必须进行充分的测

12、试。 集成测试应当按一定的层次进行。, 集成测试的策略选择应当综合考虑质量、成本和进度之间的关系。 集成测试应当尽早开始,并以总体设计为基础。 在模块与接口的划分上,测试人员应当和开发人员进行充分的沟通。 当接口发生修改时,涉及的相关接口必须进行再测试。 测试执行结果应当如实记录。,4.3.5 集成测试人员 由于集成测试不是在真实环境下进行,而是在开发环境,或是一个独立的测试环境下进行的,所以集成测试所需人员一般从开发组中选出,在开发组长的监督下进行,开发组长负责保证在合理的质量控制和监督下使用合适的测试技术执行充分的集成测试。,在集成测试过程中,测试过程由一个独立测试观察员来监控测试工作。

13、集成测试过程中应考虑邀请一个用户代表非正式地观看集成测试 。,4.4 系 统 测 试,集成测试通过以后,软件已经组装成一个完整的软件包,这时就要进行系统测试。,4.4.1 系统测试的任务 系统测试一般要完成以下几种测试。 1功能测试 2性能测试 3恢复测试 4安全测试 5强度测试 6其他限制条件的测试,4.4.2 系统测试技术和测试数据 系统测试完全采用黑盒测试技术,因为这时已不需要考虑组件模块的实现细节,而主要是根据需求分析时确定的标准检验软件是否满足功能、行为、性能和系统协调性等方面的要求。 系统测试所用的数据必须尽可能地像真实数据一样精确和有代表性,也必须和真实数据的大小和复杂性相当。满

14、足上述测试数据需求的一个方法是使用真实数据。,在不使用真实数据的情况下应该考虑使用真实数据的一个拷贝。拷贝数据的质量、精度和数据量必须尽可能地代表真实的数据。当使用真实数据或使用真实数据的拷贝时,仍然有必要引入一些手工数据。在创建手工数据时,测试人员必须采用正规的设计技术,使得提供的数据真正有代表性,确保软件系统能充分地测试。,4.4.3 系统测试人员 系统测试由独立的测试小组在测试组长的监督下进行,测试组长负责保证在合理的质量控制和监督下使用合适的测试技术执行充分的系统测试。在系统测试过程中,测试过程由一个独立测试观察员来监控测试工作。系统测试过程也应考虑邀请一个用户代表非正式地观看测试,同

15、时得到用户反馈意见并在正式验收测试之前尽量满足用户的要求。,4.5 验 收 测 试,系统测试完成后,并使系统试运行了预定的时间,应进行验收测试。 4.5.1 验收测试的主要任务 软件验收测试应完成的主要测试工作包括以下几方面。,1文档资料的审查验收 2功能测试 3性能测试 4强化测试 5性能降级执行方式测试 6检查系统的余量要求 7安装测试 8用户操作测试,4.5.2 验收测试技术和测试数据 验收测试完全采用黑盒测试技术,主要是用户代表通过执行其在平常使用系统时的典型任务来测试软件系统,根据业务需求分析,检验软件是否满足功能、行为、性能和系统协调性等方面的要求。,只要有可能,在验收测试中就应该

16、使用真实数据。当真实数据中包含机密性或安全性信息,并且这些数据在局部或整个验收测试中可见时,就必须采取以下措施来保证。 用户代表被允许使用这些数据,或者合理地组织测试使测试组长不必看到这些数据也可进行测试。 测试观察员被允许使用这些数据,或者能够在看不到这些数据的情况下确认并记录测试用例的成功或失败。,在不使用真实数据的情况下,应该考虑使用真实数据的一个拷贝。拷贝数据的质量、精度和数据量必须尽可能地代表真实的数据。 当使用真实数据或使用真实数据的拷贝时,仍然有必要引入一些手工数据,例如,测试边界条件或错误条件时,可创建一些手工数据。在创建手工数据时,测试人员必须采用正规的设计技术,使得提供的数据真正有代表性,确保软件系统能充分地测试。,4.5.3 验收测试人员 验收测试一般在测试组的协助下,由用户代表执行。测试组长负责保证在合理的质量控制和监督下使用合适的测试技术执行充分测试。测试人员在验收

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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