2021年软件测试工具总结——单元测试工具

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

单元测试简介
单元是软件中最小可测试的部分,通常具有一个或多个输入和单个输出。单元测试是一种验证代码单元功能正确性的方法,可以通过手动或自动化方式实现,其中自动化测试更为高效。单元测试在自动化测试金字塔中占比最大,能够帮助开发人员及早发现和修复缺陷,减少时间成本并简化模块集成,从而提升软件质量。
主流单元测试工具
单元测试框架
-
JUnit
JUnit是为Java设计的开源单元测试框架,是xUnit家族中最成功的成员,支持多种扩展生态。最新版本JUnit 5由三部分组成:JUnit Platform、JUnit Jupiter和JUnit Vintage。
-
TestNG
TestNG是Java语言的开源单元测试框架,提供多线程测试执行、数据驱动测试、参数化测试等功能,支持多种开发工具和插件。
官网地址:https://testng.org/
-
GoogleTest
GoogleTest是跨平台的C++单元测试框架,支持丰富断言、参数化和死亡测试,简化测试用例编写。
-
pytest
pytest是一个支持Python语言的全功能测试框架,简单灵活,能够支持单元测试、功能测试和自动化测试。
官网地址:http://pytest.org/
-
unittest
unittest是Python自带的单元测试框架,使用简便且无需安装,作为Python标准库是其他框架的基础。
Mock工具
-
JMockit
JMockit是Java语言的Mock工具,支持类级别和实例级别的mock,能够模拟静态方法、私有变量等,并提供代码覆盖率统计功能。
官网地址:http://jmockit.org/
代码覆盖率工具
-
JaCoCo
JaCoCo是Java代码覆盖率工具,支持指令、分支和方法等多种覆盖率计数器,能够与多种工具集成。
-
gcov、lcov、gcovr
这些工具支持C/C++代码覆盖率统计,其中gcov是gcc内建工具,lcov是其图形前端,而gcovr支持持续集成展示。
lcov下载地址:https://github.com/linux-test-project/lcov
gcovr下载地址:https://github.com/gcovr/gcovr
-
Coverage.py
Coverage.py是Python代码覆盖率工具,可通过配置文件指定分析源代码,发现未覆盖的代码。
智能化测试用例生成工具
-
EvoSuite
EvoSuite是开源自动化工具,可生成符合JUnit标准的测试用例,极大提高开发效率。
-
DiffBlue Cover
DiffBlue Cover是自动化单元测试工具,通过分析Java应用程序生成测试用例,提高覆盖率并发现回归缺陷。
开源社区版地址:https://plugins.jetbrains.com/plugin/14946-diffblue-cover--community-edition/versions
想要了解更多内容?

本公众号致力于健康、安全、绿色的软件生态,分享软件质量管理、软件测试的思想、方法、技术与优秀实践,追踪软件质量领域的热点,及时报道软件质量管理的成功案例或质量事故,以及分享深度思考、有温度的技术文章等,努力成为您工作中的朋友。


白皮书上线