动态测试
动态测试(或动态分析)是软件工程中用于描述代码动态行为的测试的术语。
也就是说,动态分析是指检查系统对变量不变且随时间变化的变量的检查。在动态测试中,必须实际编译并运行该软件。它涉及使用该软件,提供输入值并检查输出是否按预期执行特定的测试用例,该测试用例可以手动完成或使用自动化过程。这与静态测试相反。单位测试,集成测试,系统测试和接受测试利用动态测试。考虑到没有执行程序时,涉及纸张或纸板制作的模拟版本的可用性测试可以归类为静态测试;或者,在考虑用户与此类模拟版本之间的相互作用时,作为动态的原型是原型的最基本形式。
主要程序
动态测试在软件开发中的过程和功能,动态测试可以分为单元测试,集成测试,系统测试,验收测试和最后的回归测试。
单元测试是一项重点介绍软件基本组件的正确性的测试。单元测试属于白盒测试的类别。在整个质量检查系统中,产品组需要完成单元测试,然后将软件移交给测试部门。
集成测试用于检测整个软件集成过程中各个单元之间的接口是否正确连接。
测试已完成集成的软件系统称为系统测试,该测试的目的是验证软件系统的正确性和性能满足其规格中指定的要求。测试人员应遵循既定的测试计划。在测试软件的鲁棒性和易用性时,应将其输入,输出和其他动态操作行为与软件规格进行比较。如果软件规范不完整,则系统测试更多地取决于测试人员的工作经验和判断,这种测试就不够。系统测试是黑框测试。
这是在使用软件之前的最终测试。这是买家的软件试验过程。在公司的实际工作中,通常是通过要求客户尝试或发布该软件的Beta版本来实现。接受测试是黑盒测试。
回归测试的目的是在软件维护阶段验证和修改接受测试结果。在实际应用中,处理客户投诉是回归测试的体现。
评估
优点
- 动态测试可以识别运行时环境中的弱区域。
- 即使测试仪没有实际的代码,动态测试也支持应用程序分析。
- 动态测试可以识别一些难以通过静态测试找到的漏洞。
- 动态测试还可以验证静态测试结果的正确性。
- 动态测试可以应用于任何应用程序。
缺点
- 自动化工具可能会提供错误的安全性,例如检查所有内容。
- 自动化工具可以产生误报和错误的负面因素。
- 寻找受过训练的动态测试专业人员并不容易。
- 动态测试很难跟踪代码中的漏洞,并且解决问题需要更长的时间。因此,修复错误变得昂贵。