ISTQB静态技术
静态技术
基本定义
静态测试是广义测试概念中的重要组成部分。与动态测试技术需要运行软件不同,静态测试技术通过手工检查(评审)或自动化分析(静态分析)的方式对代码或者其他的项目文档进行检查:手工检查、静态分析
在早期通过人工检查和静态分析发现和修改缺陷,其成本会比通过动态测试发现和修改缺陷成本低的多;
静态测试可以完全以人工的方式经行(评审),也可以通过工具支持的方式来进行(静态分析);
静态测试的主要活动是检查工作产品,并对工作产品做出评估;
静态测试的结果可以优化开发过程,并达到缺陷预防的目的;

静态测试的优点
尽早发现和修改缺陷,降低测试成本和产品生命周期成本;
改善测试能力和开发能力;
缩短和减少测试和开发时间;
减少缺陷和改善沟通;
静态测试也可以在工作产品中发现一些遗漏的内容,例如发现需求有遗漏,而这在动态测试中是很难被发现的;
质量提高、成本降低、进度提前、能力提升
静态测试发现的缺陷类型
与标准之间的偏差、需求内的错误、设计错误、可维护性不足、错误的接口规格说明
静态测试和动态测试异同点
静态测试不用运行测试对象,而动态测试需要;
静态分析和动态测试具有共同的目标:识别和发现缺陷;
静态测试和动态测试是互补的:不同的技术可以有效和高效地发现不同类型的缺陷;
与动态测试相比,静态技术发现的是软件失效的原因而不是失效本身;
静态分析的工具支持
静态分析的优点
在评审和动态测试之前尽早发现缺陷和问题;
通过度量的计算(比如高复杂性测量),早期警惕可能存有问题的代码和设计;
可以发现在动态测试过程不容易发现的一些缺陷;
可以发现软件模块之间的相互关联性和不一致性;
改进代码和设计,增强可维护性;
在开发过程中学习经验教训,从而预防缺陷;
静态分析发现的缺陷类型
引用一个没有定义值的变量;
模块和组件之间接口不一致;
从未使用的变量;
不可达代码或死代码;
违背编程规则;
安全漏洞;
代码和软件模型的语法错误;

浙公网安备 33010602011771号