单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。一般而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,而后确认该值出如今list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,而后确认字符串确实再也不包含这些字符了。html
元测试是由
程序员本身来完成,最终受益的也是程序员本身。能够这么说,程序员有责任编写功能代码,同时也就有责任为本身的代码编写单元测试。执行单元测试,就是为了证实这段代码的行为和咱们指望的一致。
工厂在组装一台电视机以前,会对每一个元件都进行测试,这,就是单元测试。
经验代表一个尽责的单元测试方法将会在
软件开发的某个阶段发现不少的Bug,而且修改它们的成本也很低。在软件开发的后期阶段,Bug的发现并修改将会变得更加困难,并要消耗大量的时间和开发费用。不管何时做出修改都要进行完整的回归测试,在生命周期中尽早地对软件产品进行测试将使效率和质量获得最好的保证。在提供了通过测试的单元的状况下,系统集成过程将会大大地简化。
C/C++单元测试的工具:
CppUnit
首先是CppUnit,这是C++单元测试工具的鼻祖,免费的开源的单元测试框架。因为已有一众高人写了很多关于CppUnit的很好的文章,想了解CppUnit的朋友,建议读一下Cpluser 所做的《
CppUnit测试框架入门》。
C++Test
而后介绍C++Test,这是Parasoft公司的产品。C++Test是一个功能强大的自动化C/C++单元级测试工具,能够自动测试任何C/C++函数、类,自动生成测试用例、测试驱动函数或桩函数,在自动化的环境下极其容易快速的将单元级的测试覆盖率达到100%。想了解C++Test的朋友,建议访问华唐公司公司的网站。华唐公司代理C++Test,想要购买或索取报价、试用版均可以找他们。
Visual Unit
最后介绍Visual Unit,简称VU,这是国产的单元测试工具。自动生成测试代码 快速创建功能测试用例程序行为一目了然 极高的测试完整性 高效完成白盒覆盖 快速排错 高效调试 详尽的测试报告----VU开发商的网页上摘录。
gtest
Google的开源C++单元测试框架Google Test,简称gtest。Google的东西,不解释了,想了解的朋友附上博友玩转gtest的总结[传送门]