运行测试的先决条件——复审并修改项目选项
1.设置项目和文件选项
必须配置相应的构建设置,以便C++test 能正确测试您的代码。
Build Settings(构建设置):Options Source选项源:定义如何设置选项。对于您为之创建了构建数据文件的项目,推荐使用来自构建数据文件的选项。(什么是选项源?什么是构建?)可用控件取决于你选择的选项源。
2.测试用户定义的资源集
根据测试方案(测试配置)运行测试。
对于单元测试,建议按以下顺序运行多个Test Configuration:
· 生成单元测试
· 生成桩函数
· 构建测试可执行文件
· 运行单元测试
3.任务分成以下类别:
· 修正静态分析违例:此类别包含应纠正或Suppressions (抑制)的静态分析违例。
· 修正单元测试问题:此类别包含需要解决的单元测试问题- 包括功能测试失败、未预期异常和超时。
· 复审单元测试结果:此类别包含在自动测试用例生成期间创建的测试用例的未验证结果。当C++test 通过尚未转换成申明的后置条件,执行自动生成的或用户定义的测试用例时,会报告未验证的结果。结果可能是预期行为,或者也可能表示问题。这需要进一步的复审和验证。如果您确定结果反映了预期行为,则验证它。否则,请指定正确的结果。
生成测试用例时,如果测试用例/文件不对(例如有未定义的符号等错误),就可以删除原测试文件,重新生成单元测试。
静态分析包含代码规范静态分析和BugDetective静态分析。
BugDetective静态分析中,流程路径,违例起点和违例点,基本元素。
4.代码复审
需要TCM
略掉
5.生成测试用例进行回归测试和异常查找
安全性桩函数定义是自动生成的,用来替代危险函数,它包括系统输入/输出程序如rmdir( ),remove( ), rename ( ) 等等,除此之外,对于缺少函数定义的,桩函数可以自动生成,用户定义的桩函数可以根据需要添加。
自定义生成选项:
C++test通过在测试套件里寻找CPPTEST_TEST_CASE_CONTEXT来确定一个函数是否具有现存的测试用例。
选择合适的生成选项:
1.生成测试用例原始集
• 生成编码测试用例,启用Without test suites (不带测试套件)
• 特殊的附加函数(函数存取级,输出文件位置/名称等)
2.更新现有的自动生成的带有新函数测试用例的测试套件(不生成新的测试套件)
• 对于Generate tests for code(为代码生成测试用例),With up-to-date test suites With out-of-date test suites 启用(最新的和过时的测试套件)
• 对于When generating tests for a code with an existing test suite(何时对已有测试套件的代码生成测试用例),启用Add tests for functions without tests (为没有测试用例的函数添加测试用例)
• 特有的附加参数(函数存取级,输出文件位置/名称等)
3.使已经自动生成的测试用例和当前缺失测试用例的代码同步,创建缺失的测试套件
• 对于Generate tests for code(为代码生成测试用例),启用Without test suites, Withup-to-date test suites, and With out-of-date test suites(不带测试套件,带有最新的测试套件和带有过时的测试套件)
• 对于When generating tests for a code with an existing test suite(何时生成使用与现有测试套件代码的测试用例),启用Add tests for functions without tests(没有测试的函数添加测试用例)
• 特有的附加参数(函数存取级,输出文件位置/名称等)
4.完全重置现有的自动生成的测试
• 对于Generate tests for code(生成编码测试),启用Without test suites, With up-to-date test suites, and With out-of-date test suites(不带测试套件,带有最新的测试套件和带有过时的测试套件)
• 对于When generating tests for a code with an existing test suite(何时生成使用与现有测试套件代码的测试用例),启用Replace the existing test suite(替换现有测试套件)
• 特有的附加参数(函数存取级,输出文件位置/名称等)