软件测试基本方法(六)之集成测试和系统测试

集成测试是检查模块间接口是否正确交互,而系统测试则是验证整个系统的功能、性能是否达到要求。本文介绍了集成测试的非渐增式与渐增式模式,如大棒法、自顶向下和自底向上测试,以及系统测试的内容,包括功能测试、非功能测试和回归测试。此外,还讨论了性能测试工具,如PageSpeed Insights和ApacheBench,用于评估网站性能和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在软件开发中,经常会遇到这样的情况,单元测试时确认每个模块都能单独工作,但这些模块集成在一起之后会出现有些模块不能正常工作。例如,在chrome环境下用js写了一个实时捕捉video中特定区域的模块,正常工作;利用worker线程进行webgl场景渲染,也正常;可是当两个运算合并时,出现一个模块不能正常运行,原因在于两个模块不适合在worker线程中结合,基于worker本身的局限性,只能有一个模块正常工作。所以,很有必要进行集成测试。


(1)集成测试定义:

集成测试是将软件集成起来,对模块之间的接口进行测试。


(2)集成种类:

  • 模块内的集成,主要是测试模块内各个接口间的交互集成关系
  • 子系统内的集成,测试子系统内各个模块间的交互关系
  • 系统内的集成,测试系统内各个子系统和模块间的集成关系

(3)两种集成测试模式:

  • 非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式
  • 渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合进来进行测试,测试完后再把下一个应该测试的模块结合起来测试。渐增式测试又可以根据每次添加模块的路线分为自顶向下测试自底向上测试混合测试等方式

优缺点:
  • 渐增式需要编写的软件较多,工作量较大,而非渐增式测试开销小
  • 渐增式测试模式发现模块间接口错误早,而非渐增式测试晚
  • 非渐增式测试模式发现错误,较难诊断,而使用渐增式测试模式,如果发生错误则往往和最近加进来的那个模块有关
  • 渐增式测试模式测试更彻底
  • 渐增式测试模式需要较多的机器时间
  • 使用非渐增式测试模式,可以并行测试

具体方法:
  • 自顶向下法:从主控模块开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。(优点:不需要驱动程序,能在早期发现上层错误;缺点:需要桩,低层错误发现较晚,在早期不能展开人力)
  • 自底向上法:从原子模块开始集成以进行测试。
  • 混合策略:基本使用Top-down,但在早期使用Bottom-up;对中较上层,使用Top-down,中较下层,使用Bottom-up。
  • 大棒法:先是对每一个子模块进行测试(单元测试),然后将所有模块一次性地全部集成起来进行测试。
  • 三明治法:自两头向中间集成。

(4)系统测试
  • 定义:检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到要求。其测试内容包括:功能测试非功能测试回归测试等。
  • 功能测试:主要是根据产品规格说明书,来检验被测试的系统是否满足各方面功能的使用要求。(黑盒测试也长被称为功能测试,虽然这不是一种准确的说法)
  • 回归测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值