`

静态、动态测试及测试分类

阅读更多

所谓静态测试(static testing)就是不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。


从概念中我们可以知道,其包括对代码测试、界面测试和文档测试三个方面:
1.对于代码测试,主要测试代码是否符合相应的标准和规范。
2.对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。
3.对于文档测试,主要测试用户手册和需求说明是否符合用户的实际需求。


其中后两者的测试容易一些,只要测试人员对用户需求很熟悉,并比较细心就很容易发现界面和文档中的缺陷。而对程序代码的静态测试要复杂得多,需要我们按照相应的代码规范模板来逐行检查程序代码。那么我们从哪里获得这个规范模板呢?其实没有一个统一的标准,每个公司内部一般都有自己的编码规范,比如《c/c++编码规范》,你只需要按照上面的条目逐条测试就可以了。当然很多白盒测试工具中就自动集成了各种语言的编码规范,比如parasoft公司的C++Test就集成了C/C++的编码规范,我们只要点击一个按钮,这些工具就会自动帮助我们检测代码中不符合语法规范的地方,非常方便。

 

动态测试(dynamic testing),指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断一个测试属于动态测试还是静态的,唯一的标准就是看是否运行程序。


我们还是以刚才的那段代码为例,实际运行修改后的程序,输入1.2 和3.5两个实数,按回车,得到结果3.500000,与我们预期的相符合。这是一个动态测试的过程。可能有的读者会问,以上过程不也是黑盒测试的过程马?黑盒白盒、动态静态,它们之间有什么关系呢?


它们只是测试的不同角度而已,同一个测试,既有可能是黑盒测试,也有可能是动态测试;既有可能是静态测试,也有可能是白盒测试。


黑盒测试有可能是动态测试(运行程序,看输入输出),也有可能是静态测试(部运行,只看界面)
白盒测试有可能是动态测试(运行程序并分析代码结构),也有可能是静态测试(不运行程序,只静态察看代码)
动态测试有可能是黑盒测试(运行,只看输入输出),也有可能是白盒测试 (运行并分析代码结构)
静态测试有可能是黑盒测试(不运行,只察看界面),也有可能是白盒测试(不运行,只察看代码)

 

测试分类:

按开发阶段分:单元测试、集成测试、系统测试、仿真平台、验收测试

按测试实施组织方分:开发方测试(验证测试或alpha测试)、第三方测试(独立测试)、用户测试(beta)

按测试方式分:动态测试、静态测试

按测试技术分:白盒测试、黑盒测试、灰盒测试

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics