首页 > 代码库 > 软测问答记录_036
软测问答记录_036
2017/4/7日
上课交流:
老师提问:“什么是动态测试?什么是静态测试?有哪位同学知道?”
我回答:“静态测试是不需要运行被测程序本身;而动态测试是需要运行被测程序的。
随后,老师介绍了桌面检查、代码审查、同行评审,还有评审会议。
课后学习:
- 概念描述:
静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。
桌面检查:桌面检查就是程序员对自己的代码进行一次自我检查。
代码审查:由若干程序员和测试人员共同组成一个会审小组,通过阅读、讲解、讨论和模拟运行的方式,对程序进行静态分析的过程。
同行评审(走查): 代码走查是成立一个代码走查小组,以会议的方式来检查代码,一般代码走查是项目内部展开的代码检查工作。
评审会议:是指开发组、测试组和相关人员(QA、产品经理等)联合进行,也是采用讲解、提问并使用编码模板进行的查找错误的活动。一般也有正式的计划、流程和结果报告。是一种非常严重的代码审查方式。
- 静态测试与动态测试的区别:
静态测试是通过对被测程序的静态审查,发现代码中的潜在错误。
主要特征是在测试源程序时,计算机并不真正运行被测试的程序进行特性分析。
静态测试包括代码检查、静态结构分析、代码质量度量等。
动态测试时同常意义上的测试,即通过使用和运行被测软件,发现潜在错误。
通过源程序运行时所体现出来的特征,来进行执行跟踪、时间分析以及测试覆盖等方面的测试。
- 实践的应用
静态测试技术:在实际使用中,静态代码检查比动态测试更有效率,更能快速找到缺陷。按经验估算,一般能发现30%~70%的逻辑设计和编码错误的缺陷。但是静态代码检查非常耗费时间,而且代码检查需要丰富的知识和经验积累。
静态测试包括代码检查、静态分析两种途径。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查包括桌面检查、代码审查、代码走查和技术评审等。主要检查代码的设计是否一致性、代码是否遵循标准性和可读性、代码的逻辑表达是否正确性、以及代码结构是否合理性等。静态分析则是一种计算机辅助的静态分析方法。主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等。静态分析的对象是软件程序,程序设计语言不同,相应的静态分析工具也就不同。
动态测试技术:单元测试、集成测试和系统测试。
单元测试,集成测试,系统测试和验收测试阶段都是在发展的不同阶段对软件创建并进行实际测试。即使测试是针对验证不同类型的要求,它们都是一个类型的测试。
- 感悟体会总结
静态测试是一个重要的测试技术,它需要业务需求评审,功能需求评审,设计评审,代码走查和测试文件审查。它是一个连续的活动,而不是仅仅由测试人员完成的。
动态测试需要更多动手,并且是在产品本身,而不是在其他替代的工件上。一个更为正式的测试用例/状态识别流程,涵盖注意事项,执行和缺陷报告都属于动态测试方法。
软测问答记录_036