静态测试和动态测试的区别是什么

静态测试是通过对被测程序的静态审查,发现代码中潜在的错误;它可借助于静态分析器在机器上以自动方式进行检查,但不要求程序本身在机器上运行。动态测试是使用和运行被测软件,通常意义上的测试;它的对象必须是能够由计算机真正运行的被测试的程序。

本教程操作环境:windows10系统、Dell G3电脑。

1、静态测试

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

包括对代码测试、界面测试和文档测试三个方面:

对于代码测试,主要测试代码是否符合相应的标准和规范。

对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。

对于文档测试,主要测试用户手册和需求说明是否符合用户的实际需求。

2、动态测试

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

黑盒测试有可能是动态测试(运行程序,看输入输出),也有可能是静态测试(不运行,只看界面)

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

动态测试有可能是黑盒测试(运行,只看输入输出),也有可能是白盒测试 (运行并分析代码结构)

静态测试有可能是黑盒测试(不运行,只察看界面),也有可能是白盒测试(不运行,只察看代码)

3、静态测试和动态测试之间的区别

静态测试:通过对被测程序的静态审查,发现代码中潜在的错误。
它一般用人工方式脱机完成,故亦称人工测试或代码评审(Code Review);也可借助于静态分析器在机器上以自动方式进行检查,但不要求程序本身在机器上运行。

动态测试:使用和运行被测软件,通常意义上的测试。
动态测试的对象必须是能够由计算机真正运行的被测试的程序,它包含黑盒测试和白盒测试。

静态测试动态测试
在静态测试中, 我们将在不执行代码的情况下检查代码或应用程序。在动态测试中, 我们将通过执行代码来检查代码/应用程序。
静态测试包括诸如代码审查, 演练等活动。动态测试包括诸如功能性和非功能性测试之类的活动, 例如UT(可用性测试), IT(集成测试), ST(系统测试)和UAT(用户接受测试)。
静态测试是一个验证过程。动态测试是一个验证过程。
静态测试用于防止缺陷。动态测试用于查找和修复缺陷。
静态测试是一种更具成本效益的过程。动态测试是一个成本效益较低的过程。
可以在编译代码之前执行这种类型的测试。仅在准备好可执行文件后才能进行动态测试。
在静态测试下, 我们可以执行语句覆盖率测试和结构测试。在动态测试下执行了等效划分和边值分析技术。
它涉及测试工程师遵循的清单和过程。这种测试需要测试用例来执行代码。

以上就是静态测试和动态测试的区别是什么的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他答疑