在软件测试中,桩模块模拟被测模块调用的子模块,驱动模块用来调用被测模块。
在自底向上的单元测试中,由于底层模块已经实现,因此不需要额外编写桩模块。
在自顶向下的单元测试中,由于驱动模块已经实现,因此不需要额外编写驱动模块。
测试方法
根据测试过程中程序执行状态分:
静态测试是人工测试方式,包括桌前检查(桌面检查)、代码走查、代码审查。
动态测试是通过运行程序发现错误,包括黑盒测试(等价类划分、边界值分析法、错误推测法)与白盒测试(各种类型的覆盖测试)。
代码走查(code walkthrough)是一个开发人员与架构师集中讨论代码的过程。代码走查的目的是交换有关代码是如何书写的思路,并建立一个对代码的标准集体阐述。 在代码走查的过程中,开发人员都应该有机会向其他人来阐述他们的代码。 通常地,即便是简单的代码阐述也会帮助开发人员识别出错误并预想出对以前麻烦问题的新的解决办法。 |
根据算法实现细节和内部结构分为:
黑盒测试
白盒测试:根据覆盖情况分为语句覆盖、判定覆盖、分支覆盖和路径覆盖等。
灰盒测试
测试阶段
根据阶段划分为:
确认性测试
确认性测试也称为有效性测试,主要包括验证软件的功能、性能及其他特性是否与用户要求(需求)一致。
确认测试计划通常是在需求分析阶段完成的。根据用户的参与程度,通常包括以下四种类型:
内部确认测试(由软件开发组织内部按软件需求说明书进行测试)
Alpha测试(由用户在开发环境下进行测试)
Beta测试(由用户在实际使用环境下进行测试)
验收测试(针对软件需求说明书,在交付前以用户为主进行的测试)。
基准测试
大多数情况下,为测试新系统的性能,用户必须依靠评价程序来评价机器的性能。把应用程序用的最多、最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序(benchmark)。
真实的程序、核心程序、小型基准程序和合成基准程序,其评测的准确程度依次递减。
Web 服务器性能指标主要有请求响应时间、事务响应时间、并发用户数、吞吐量、资源利用率、每秒钟系统能够处理的交易或者事务的数量等。
静态分析
静态分析通过解析程序文本从而识别出程序语句的各个部分,审查可能的缺陷和异常之处,静态分析包括五个阶段:
控制流分析阶段:找出并突出显示那些带有多重出口或入口的循环以及不可达到的代码段;
数据使用分析阶段:突出程序中变量的使用情况;
接口分析阶段:检查子程序和过程声明及它们使用的一致性;
信息流分析阶:段找出输入变量和输出变量之间的依赖关系;
路径分析阶段:找出程序中所有可能的路径并画出在此路径中执行的语句。