#软件测试基本概念-策略
##1 静态测试与动态测试
###1.1 静态测试
####1.1.1 定义
- 静态测试不实际运行软件,主要对软件的编程格式、结构等方面进行评估。
- 可以有人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。
####1.1.2 静态测试的方法
- 代码检查:代码审查(fingbugs)、代码走查(模拟运行)、桌面检查(单人的代码走查)、同行评分(略)
- 静态结构分析:静态结构分析主要是以图形的方式表现程序的内部结构:例如函数调用关系图、函数内部控制流图。
- 代码质量度量:功能性(functionality)、可靠性(reliability)、可用性(usability)、有效性(efficiency)、可维护性(maintainability)、轻便性(portability)
###1.2 动态测试
####1.2.1 定义 计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。
####1.2.2 动态测试的方法
- 功能确认与接口测试
- 覆盖率分析
- 性能分析
- 内存分析
##2 黑盒测试和白盒测试
###2.1 黑盒测试(Black-box Testing)
####2.1.1 定义 测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误。
####2.1.2 黑盒测试的基本观点 任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒中的内容(实现过程)完全不知道,只明确要做到什么。
####2.1.3 黑盒测试的特点
- 黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。
- 黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。
####2.1.4 黑盒测试的具体技术方法 边界值分析法、等价类划分法、因果图法、决策表法
黑盒测试是在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。也被称为用户测试。
###2.2 白盒测试(White-box Testing )
####2.2.1 定义 测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用。
####2.2.2 白盒测试的基本观点 将被测程序看作一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。
####2.2.3 通常的程序结构覆盖 语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖
白盒测试需要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。也被称为程序员测试。
###2.3 对比 黑盒测试用来测功能,白盒测试用来测结构。两种测试方法从完全不同的角度出发,反映了测试思路的两方面情况,适用于不同的测试阶段。
Categories: Tags:
blog comments powered by Disqus