北大青鸟测试教程第04章.ppt
《北大青鸟测试教程第04章.ppt》由会员分享,可在线阅读,更多相关《北大青鸟测试教程第04章.ppt(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)自顶向下增量式测试 自顶向下增量式测试表示逐步集成和逐步测试是按结构图自上而下进行的。即模块集成的顺序是首先集成主控模块(主程序),然后按照软件控制层次结构向下进行集成。,图4-4 自顶向下集成,集成测试的整个过程由
9、下列3个步骤完成。主控模块作为测试驱动器,把对主控模块进行单元测试时引入的被调用模拟子模块用实际模块替代。依照所选用的模块集成策略(深度优先和广度优先),下层的被调用模拟子模块一次一个地被替换为真正的模块。在每个模块被集成时,都必须立即进行测试一遍。,回到第2步重复进行,直到整个系统结构被集成完成。图4-5给出了一个按广度优先策略进行集成测试的典型例子。,图4-5 自顶向下增量式测试(广度优先策略),(2)自底向上增量式测试 自底向上增量式测试是从最底层的模块开始,按结构图自下而上逐步进行集成和测试。图4-6表示了采用自底向上增量式测试实现同一实例的过程。,图4-6 自底向上增量式测试,4.3
10、.3 集成测试技术和测试数据 集成测试主要测试软件的结构问题,因为测试建立在模块的接口上,所以多为黑盒测试,适当辅以白盒测试。,执行集成测试应遵循下面的方法。确认组成一个完整系统的模块之间的关系。评审模块之间的交互和通信需求,确认出模块间的接口。使用上述信息产生一套测试用例。采用增量式测试,依次将模块加入到(扩充)系统,并测试新合并后的系统,这个过程以一个逻辑/功能顺序重复进行,直至所有模块被功能集成进来形成完整的系统为止。,此外,在测试过程中尤其要注意关键模块,所谓关键模块一般都具有下述一个或多个特征。对应几条需求。具有高层控制功能。复杂,易出错。有特殊的性能要求。,因为集成测试的主要目的是
11、验证组成软件系统的各模块的接口和交互作用,因此集成测试对数据的要求无论从难度和内容来说一般不是很高。集成测试一般也不使用真实数据,测试人员可以使用手工制作一部分代表性的测试数据。在创建测试数据时,应保证数据充分测试软件系统的边界条件。在单元测试时,根据需要生成了一些测试数据,在集成测试时可适当地重用这些数据,这样可节省时间和人力。,4.3.4 集成测试遵循的原则 集成测试很不好把握,应针对总体设计尽早开始筹划。为了做好集成测试,需要遵循以下原则。所有公共接口都要被测试到。关键模块必须进行充分的测试。集成测试应当按一定的层次进行。,集成测试的策略选择应当综合考虑质量、成本和进度之间的关系。集成测
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北大 青鸟 测试 教程 04
链接地址:https://www.31ppt.com/p-6447575.html