我已经注意到在Visual Studio 2010和Netbeans 7中进行测试的功能,并且想知道它们到底做了什么.使用它们比设计我自己的测试更有效吗?
解决方法:
单元测试(与集成测试相对)是测试单个单元(通常是类)的功能的测试(通常实际上是多个测试,恰好存在于同一个类和文件中).
相比之下,集成测试测试多个不同单元的交互.端到端测试是一种特殊类型的集成测试,可以测试整个软件堆栈,从UI到下面的所有内容.
可以进行两种不同类型的测试:“玻璃盒”和“黑盒子”. “黑匣子”测试是与实现无关的;它仅基于函数/类的记录行为编写,并确保任何实现都遵循记录的行为.它还可能包括对各种理论实现可能产生的潜在错误的测试,但不考虑实际实现的作用.相比之下,“玻璃盒”测试是利用实现知识并确保实现中的每个代码路径都经过测试的测试.一个好的测试是由综合黑盒和玻璃盒测试组成的测试.
有许多不同的免费库可以轻松创建单元测试.我强烈建议您使用googletest和gmock(均在Google上广泛使用)进行测试.