github:https://github.com/smarr/googletest
toturial:https://code.google.com/p/googletest/wiki/Primer
单元测试:是指对软件中的最小可测试单元进行检查和验证。也就是一段代码调用另外一段代码,随后检查一些假设的正确性,如果假设结果错了,单元测试就会失败,一个单元值得是一个方法或者函数。
系统测试:系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。
集成测试:集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试
功能测试:就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
CUT:class or code under test
SUT: system under test
“死亡测试”:“死亡“是指程序崩溃。
gtest代码基本步骤:
1. include "gtest/gtest.h"
2. 定义test case name 和test name, 通过宏Test(test_case_name, test_name)
3.在main中使用InitGoogleTest初始化, 使用RUN_ALL_TEST运行所有测试
gtest编译:
在gtest源码中,使用cmake 和make进行编译, 编译的结果是两个静态库,libgtest.a 和libgtest_main.a,编译测试代码时使用g++ sourecode.cpp -lgetest -I./include, sourecode.cpp必须放在-lgtest之后,否则会出现未定义的错误,这个和g++编译的时候读入文件的顺序有关系。