xx新编parasoftctest操作手册内容摘要:

5.不显示 Violation 类型的测试结果 五.测试用例分析 用 C++Test 做单元测试,最重要的步骤是分析测试用例。 如果这步没有做好,你会觉得C++Test 不适合你们;如果做好了,你的单元测试就做好了。 用 C++Test 做单元测试,重点在分析测试用例,而 不是设计测试用例。 C++Test 自动生成的测试用例是白盒测试用例。 如果你要用 C++Test 做黑盒测试,你需要手工增加黑盒测试用例或修改白盒测试用例使之成为黑盒测试用例, 要求:要准确地分析测试用例,必须对被测函数有清楚的了解。 1.选择 Examples\ 文件 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 28 2.选择工具条中向右三角型进行进行单元测试 3.选择一个测试用例,然后按“ Edit”按扭进入 测试用例编辑界面 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 29 4.分析测试用例 Arguments:测试前的函数的参数值 Arguments Post:测试后的函数 的参数值 Return:测试前设定的函数的返回值 PreConditions This:测试前对象构造值,特别是构造对象时给成员变量设定的的值 PreConditions Externals:测试前全局变量值 PostConditions This:测试后对象构造值,特别是构造对象时给成员变量设定的的值 PostConditions Externals:测试后全局变量值 Execution Result:预期的测试结果。 是正常返回、 Assert 失败,还是各种异常返回 A) 首先让我们 先看看源代码 // // This example illustrates how C++Test works with overloaded operators and constructors class Complex { public: Complex(float re = 0, float im = 0) : _re(re), _im(im) {} Complex operator+(const Complexamp。 )。 Complex operator(const Complexamp。 )。 private: float _re。 float _im。 }。 Complex Complex::operator+(const Complexamp。 c) { return Complex(this_re + , this_im + )。 } Complex Complex::operator(const Complexamp。 c) { return Complex(this_re , this_im )。 } Complex testComplexOperators(Complexamp。 a, Complexamp。 b) { Complex zero。 Complex neg_a = zero a。 Complex neg_a_sum_b = neg_a b。 return a + b + neg_a_sum_b。 //this function should always return plex zero value } B)我们的测试用例是针对 函数 Complex Complex::operator+(const Complexamp。 c) 的 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 30 Arguments: 表示函数参数是一个 Complexamp。 c,这个参数对象 c 构造的时候给 c 成员变量 float _re = ; float _im = Arguments Post: 表示函数测试后。 这个参数对象 c 在测试后 c 成员变量 float _re = 1; float _im = 1 Return: 表示返回对象 Complex,它的值应当 成员变量 float _re = 自身的成员变量 _re + 输入对象 c的成员变量 _re( 1); float _im =自身的成员变量 _im + 输入对象 c 的成员变量 _im( 0);注意:这里的返回值是错误的,正确的是 _re =3; _im = 3 才对。 此测试用例测试结果应当是错误的(变红)。 PreConditions: 表示进行单元测试的时候,类成员变量的值 float _re = 2; float _im = 2 PostConditions: 表示在测试后。 类成员变量的值 float _re = 2; float _im = 2 Execution Result: 表示测试结束是 Normal Return。 正常结束,而不是异常结束 C)上面测试用例测试后的结果是失败的 预期的结果是( _re=1,_im=0)。 实际的结果是( _re=3,_im=3) C++Test 介绍 李周 : Parasoft 技术支持 MSN: 31 5.调试测试用例 选择某个测试用例 鼠标右键 Debug Selected Test Case(s) 打开 VC++.Net 2020(默认编译器 )调试界面。 注意:对 VC++ 好象无法进行调试。 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 32 六. Data Source 如果一个函数有一系列相似的 输入,比如协议类函数。 这个时候可以把这一系列相似的输入保存成一个 excel文件, CSV文件或数据库的表。 我们称之为 Data Source。 这样当 C++Test进行单元测试的时候,可以根据 Data Source 的内容生成一系列的测试用例。 1.打开 C++Test 安装目录 Examples\DataSource\ C++Test 介绍 李周 : Parasoft 技术支持 MSN: 33 2.菜单 project project configurations… 打开工程配置界面。 选择 Data Sources。 按“ Add”按扭增加 Data Source 文件。 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 34 3.输入 Data Source 名称 4.选择 Data Source 类型为 CSV Data Source 4.选择 C++Test 安装目录 Examples\DataSource\ 文件。 // 的内容 LOWER。 UPPER。 TESTED。 ANSWER 3。 8。 5。 TRUE 3。 8。 1。 FALSE 4。 9。 10。 FALSE 2。 3。 3。 FALSE 2。 3。 2。 FALSE 1。 1。 0。 TRUE C++Test 介绍 李周 : Parasoft 技术支持 MSN: 35 5.选择 文件的分割符号。 要根据实际的 .csv 文件分割符号选择 ’ 或。 6.按按扭“ Show Columns”显示 Data Souce 文件 的列名称。 类似 excel 表格中的列头名称。 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 36 7.根据设置的 Data Source 生成测试用例。 选择 Unit Testing 选择函数 isBetween “ Add”,增加测试用例 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 37 8.选择刚才设置好的 Data Source 配置 csv1。 要在 Use Data Souce 前面打 √。 然后按“ Show Columns” 9.在输入、输出参 数和返回值中选择对应的列。 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 38 10.测试用例按 Data Source 文件自动生成。 不同于一般情况下生成的测试用例 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 39 七.桩函数设置 对于单元测试,如果一个函数 A 调用了其他函数 B(桩函数),而函数 B由于还没有实现或其他原因无法使用。 要正确测试函数 A,就必须对函数 B(桩函数)进行设置特定的返回值供测试函数 A使用 1.打开 C++Test 自带的 Examples \。 2.选择 鼠标右键 Read Symbols 解析。 从下面的界面 可以看到mod2()函数调用了 odd()函数。 但是 odd()函数没有实现。 要对测试 mod2 的所以必须实现桩函数 odd()。 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 40 3.选择 Unit Testing 选择 Stub Configuration 选择 odd()函数 鼠标右键 add user definition。 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 41 4.打开 stub 设置界面。 人为增加代码 return ture。 ,让函数 bool odd(int)返回 true or false(下面返回值为 true),保存修改后的桩函数。 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 42 5.进 行单元测试。 打开 C++Test 测试用例编辑界面。 不论输入 mod2()函数的输入参数是什么值,它的返回值应当是 1,这是因为桩函数 odd()返回值为 true。 八.导入导出测试用例 当你测试某个单元,使用一些特殊或自己定义的测试用例。 而其他人也同样测试此单元,你可以通过测试用例的 Import 和 Export 功能,导入或导出特定的测试用例。 生成一个 XML文件。 1. 导出测试用例:选择某个测试用例或某个函数 鼠标右键 选择 Export (或从菜单File Export) C++Test 介绍 李周 : Parasoft 技术支持 MSN: 43 2.导入测试用 例: 选择某个函数 鼠标右键 选择 Import(或从菜单 File Import) C++Test 介绍 李周 : Parasoft 技术支持 MSN: 44 九. Test Objects 当你测试某个类的一个单元时,使用一些特殊或自己定义的类构造对象。 而测试一个类中的其他函数或其他人也需要此构造对象的时候,你可以通过 Test Objects 例的 Import 和Export 功能,导入或导出特定的 Test Objects。 生成一个 XML 文件。 一个 Test Objects 可能包含一个或多个成员变量,而且这些成员变量有特定的值。 1. Store Object:在图形 化测试用例界面中 某个对象 鼠标右键 选择 Store Object) 2. Use Object:在图形化测试用例界面中 某个对象 选择右边框中的 Data 对象的一个 Test Object 鼠标右键 选择 Use Object) C++Test 介绍 李周 : Parasoft 技术支持 MSN: 45 测试用例的对象 Data 的值已经变成为 Test Object 的值 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 46 1. 导出 Test Object:选择某个 Test Object或某个对象 鼠标右键 选择 Export (或从菜单 File Export) 2. 导入 Test Object:选择某个对象 鼠标右键 选择 Import(或从菜单 File Import) C++Test 介绍 李周 : Parasoft 技术支持 MSN: 47 十.覆盖率分析 1. 可以显示工程、类、函数和单个测试用例的覆盖率。 当分别选择工程、类、函数和单个测试用例的时候,在下边的 Coverage Statistic Tab 中显示相应的覆盖率 C++Test 介绍 李周 : Parasoft 技术支持 MSN: 48 2.从菜单 Coverage Coverage Source 可以选择覆盖率来源 Any:包括。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。