- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 4 章 软 件 测 试 过 程 4.1 软件测试过程概述 4.2 单 元 测 试 4.3 集 成 测 试 4.4 系 统 测 试 4.5 验 收 测 试 4.6 回 归 测 试 4.7 系 统 排 错 4.1 软件测试过程概述 软件测试过程与软件工程的开发过程是相对的。第2章图2-1采用V形图表示软件开发与软件测试的对应关系,也可以采用图4-1所示的螺旋形图来表示这种关系。 单元测试的目的是保证每个模块单独运行正确,多采用白盒技术,检查模块控制结构的某些特殊路径,期望覆盖尽可能多的出错点。经单元测试后的模块,组装为软件包,对软件包进行集成测试,主要测试软件结构问题,因测试建立在模块间的接口上,所以多为黑盒测试,适当辅以白盒测试技术,以便能对主要控制路径进行测试。 系统测试主要是检验软件是否满足功能、行为和性能方面的要求,这一步完全采用黑盒测试技术。验收测试是检验软件产品的最后一道工序,与前面各种测试过程的不同之处主要在于它突出了客户的作用,同时软件开发人员也要参与。 4.2 单 元 测 试 单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。 单元测试应对模块内所有重要的控制路径进行测试,以便发现模块内部的错误。单元测试是检查软件源程序的第一次机会,通过孤立地测试每个单元,确保每个单元工作正常,这样比单元作为一个更大系统的一个部分更容易发现问题。在单元测试中,每个程序模块可以并行、独立地进行测试工作。 4.2.1 单元测试的主要任务 单元测试是针对每个程序模块进行测试,单元测试的主要任务是解决以下5个方面的测试问题。 1.模块接口测试 针对模块接口测试应进行的检查,主要涉及以下几方面的内容。 ① 模块接受输入的实际参数个数与模块的形式参数个数是否一致。 ② 输入的实际参数与模块的形式参数的类型是否匹配。 ③ 输入的实际参数与模块的形式参数所使用单位是否一致。 ④ 调用其他模块时,所传送的实际参数个数与被调用模块的形式参数的个数是否相同。 ⑤ 调用其他模块时,所传送的实际参数与被调用模块的形式参数的类型是否匹配。 ⑥ 调用其他模块时,所传送的实际参数与被调用模块的形式参数的单位一致。 ⑦ 调用内部函数时,参数的个数、属性和次序是否正确。 ⑧ 在模块有多个入口的情况下,是否有引用与当前入口无关的参数。 ⑨ 是否会修改了只读型参数。 ⑩ 出现全局变量时,这些变量是否在所有引用它们的模块中都有相同的定义。 11. 有没有把某些约束当做参数来传送。 2.模块局部数据结构测试 3.模块中所有独立执行路径测试 4.各种错误处理测试 5.模块边界条件测试 4.2.2 单元测试的执行过程 一般情况下,在完成了程序编写、复查和语法正确性验证后,就应进行单元测试。测试用例设计应与复审工作相结合,根据设计信息选取数据,将增大发现上述各类错误的可能性。 在进行单元测试时,需设置若干辅助测试模块。辅助模块有两种,一种是驱动模块(Driver),用以模拟被测试模块的上级模块。 另一种是被调用模拟子模块(Sub),用以模拟被测模块工作过程中所调用的模块。图4-2显示了一般的单元测试环境。 4.2.3 单元测试技术和测试数据 用于单元测试的主要技术如下。 1.静态测试 2.白盒测试 3.状态转换测试 4.功能测试和非功能测试 单元测试中使用的数据,通常不使用真实数据。当被测试单元的功能不涉及操纵或使用大量数据时,测试中可以使用有代表性的一小部分手工制作的测试数据。在创建测试数据时,应确保数据充分地测试单元的边界条件。当被测试单元要操纵大量数据,并且有很多单元都有这种需求时,可以考虑使用真实数据的一个较小的有代表性的样本。测试时还要考虑往样本数据中引入一些手工制作的数据,以便测试单元的某个具体特性,例如对错误条件的响应等。 当测试一个单元要从远程数据源接收数据时(例如,从一个客户端/服务器系统中接收数据),有必要在单元测试中使用测试辅助程序,来模拟对这些数据的访问。但在考虑这种选择时,必须首先对开发的测试辅助程序进行测试,以保证模拟的真实性。 4.2.4 单元测试人员 单元测试一般由开发设计人员本身完成,一般由开发组在组长的监督下进行,由编写该单元的开发设计者设计所需的测试用例和测试数据,来测试该单元并修改缺陷。开发组组长负责保证使用合适的测试技术,在合理的质量控制和监督下执行充分的测试。 4.3 集 成 测 试 将经过
文档评论(0)