C++test 学习(三)

来源:互联网 发布:网络经营许可证 编辑:程序博客网 时间:2024/06/10 08:30

运行测试的先决条件——复审并修改项目选项

 

 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(替换现有测试套件)
• 特有的附加参数(函数存取级,输出文件位置/名称等)