软件测试实验报告
学 号:
学生姓名:
班 级:
实验6 使用Parasoft C++ Test软件进行静态测试
学号 ********** 姓名 *** 班级 ***** 时间 2************
一.实验题目
在三角形问题中,要求输入三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则打印“等边三角形”。
使用Parasoft C++ Test软件对三角形问题进行静态测试(代码走查)。
二.实验内容
1. 安装并运行Parasoft C++ Test软件,了解其基本特点和功能。
2. 编写代码完成题目的功能要求,已有代码最好转成C++(或测试同学的代码),包含类的定义和使用。
3. 使用C++ Test软件对程序源代码进行静态测试1,生成测试报表。
静态测试1报表:
4. 针对静态测试结果,对源程序进行修改,修改完成后再次进行静态测试2,根据结果检查之前的问题解决情况。
静态测试2报表:
5. 实验报告:贴出静态测试1的测试报表,逐条对测试结果进行解释和分析。然后贴出修改后的静态测试2的测试报表。
主要涉及到的问题:
1.“{”、“}”占据一行;
2.if、while等关键字后有空格;
3.“=”、“+”等双目操作符前后各有一个空格;
修改后的代码:
#include "stdio.h"
void Judge(int A,int B,int C);
void main()
{
int A = 0, B = 0, C = 0;
scanf("%ld %ld %ld", &A, &B, &C);
Judge(A, B, C);
}
void Judge(int A,int B,int C)
{
//注意:该函数内不能有scanf()语句,否则会无法测试
//if (scanf("%ld %ld %ld", &A, &B, &C) != EOF)
{
if (((A + B) > C) && ((A + C) > B) && ((B + C) > A))
{
printf("Girth is : %d ,", A + B + C);
if ((A == B) && (A == C))
{
printf("Equilateral_Triangle\n");
}
else if ((A == B) || (B == C) || (A == C))
{
printf("Isosceles_Triangle\n");
}
else
{
printf("General_Triangle\n");
}
}
else
{
printf("No_Triangle\n");
}
}
}
第二篇:parasoft的C++test静态测试选项
启用规则页码,1/39启用规则
?
? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?的非 const 引用 [CODSTA-CPP-02-3]
?
?
?
?
?
?
?
?
?
?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,2/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? 定义其对应的赋值操作符 [CODSTA-CPP-28-3] 数、成员操作符函数、枚举以及其他 [CODSTA-CPP-45-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,3/39?
? ?函数, 成员操作符函数, 枚举类型, 其他 [CODSTA-CPP-48-3] ?数, 成员操作符函数, 枚举类型, 其他 [CODSTA-CPP-49-3] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?强制类型转换(除了显式的构造函数调用) [CODSTA-CPP-66-3] ? ? ? ?能被用作 <=, <, > 或 >= 的操作数 [CODSTA-CPP-70-3] ?间保持不变 [CODSTA-CPP-71-3] ? ? ? ? ? ? ?以被设为 const 那么它应该被设为 const [CODSTA-CPP-78-3] ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,4/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? 以上不同 [CODSTA-22-1] 指令 [CODSTA-37-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,5/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? 型的指针 [CODSTA-62-3] 该相同 [CODSTA-67-3] =, ==, != & [CODSTA-69-3] 符以外内建操作符的操作数 [CODSTA-70-3] 句的模块中 [CODSTA-78-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,6/39?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?类型的处理程序 [EXCEPT-13-3] ?常 [EXCEPT-14-3] ? ?基础类的非静态成员 [EXCEPT-16-3] ?或全部的基类时,这些处理程序应该遵循从最底层的派生类到基类的顺序 ?类型的处理程序 [EXCEPT-18-3]
?
?
?
?
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,7/39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?参数应该再单独一行写一个 [FORMAT-38-3]
?
?
?
?
?
?
?
?
?
?
?
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,8/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,9/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,10/39?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?象 [JSF-117_b-4]
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,11/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
? 式的初始化 [JSF-145-2]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,12/39?
?
?
??
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
? 宽之间 [JSF-164-2] 对象仍然存在,但指针成为野指针 [JSF-173-2]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,13/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,14/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
? once" 预处理指令 [JSF-35-3] 为标识符名字 [JSF-48-3] 以大写 [JSF-50-3] 参数应该再单独一行写一个 [JSF-58-3] 中进行声明 [JSF-68-2] 贝构造函数完全一样的签名 [JSF-77.1-2]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,15/39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,16/39? ? ? ? ? ? ? ? ? ?
?
?
?
? ?
?来定义特定长度的等量 [MISRA-013-3]
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,17/39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?有符号类型 [MISRA2004-10_3-3]
?
?制转换成操作数的基本类型 [MISRA2004-10_5-3]
?
? ?
?
?
?
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,18/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? 宽之间 [MISRA2004-12_8-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,19/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,20/39?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? 对象仍然存在,但指针成为野指针 [MISRA2004-17_6-3] 变量在使用前必须定义 [MISRA2004-19_11-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,21/39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?的标识符重名 [MISRA2004-5_6-4] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?式的初始化 [MISRA2004-9_3-3]
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,22/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,23/39?
?
??
?
??
?
?
?????
??
?
?
?
?
?
?
?
???
?
?
?? 造函数 [MISRA2008-12_1_2-4] 使用限定标识或 -> [MISRA2008-14_6_1-3] 基础类的非静态成员 [MISRA2008-15_3_3-3] 类型的处理程序 [MISRA2008-15_3_4_a-3] 类型的处理程序 [MISRA2008-15_3_4_b-3] 或全部的基类时,这些处理程序应该遵循从最底层的派生类到基类的顺序。 常。 [MISRA2008-15_5_2-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,24/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? 的操作数 [MISRA2008-16_0_6-3] 符的操作数 [MISRA2008-16_0_7-3] 的相同文件中 [MISRA2008-16_1_2-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,25/39?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
??
????
?
?
?
?
?
?
? 该相同 [MISRA2008-3_9_1-3] 符 == 和 != ,一元 & 运算符和条件运算符以外的内置运算符的操作数 外的内置运算符的操作数 [MISRA2008-4_5_2-3] 算符 == 和 !=, 一元 & 运算符以外的内置运算符的操作数 [MISRA2008- 应该立即强制转换成相应的原始类型 [MISRA2008-5_0_10-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,26/39?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,27/39?
?
?
?
?
?
??
?
?
?
?
?
?
??
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? 类的指针 [MISRA2008-5_2_2-3] 类型转换(除了显式的构造函数调用) [MISRA2008-5_2_4-3] 指针 [MISRA2008-5_2_6-3] 宽之间 [MISRA2008-5_8_1-3] 紧接空语句的第一个字符应该是空格 [MISRA2008-6_2_3-3] 另外的 if 语句 [MISRA2008-6_4_1-3] 作 <=, <, > or >= 的操作数 [MISRA2008-6_5_2-3] file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,28/39???
?
?
?
?
?
???
?
?
?
?
?
?
?
?
??
?
???
?
?
?
?
?
?
?
?持不变 [MISRA2008-6_5_4-3] 续存在的对象 [MISRA2008-7_5_2-3] 得指定任何缺省实参 [MISRA2008-8_3_1-3] 有项目都显式地被初始化 [MISRA2008-8_5_3-3] file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,29/39? ? ? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?non-throwing 所有三种标准形式的 delete 操作符重载 [MRM-16-3]
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,30/39? ? ? ? ? ? ?内存大小 [MRM-45-3] ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,31/39?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ?file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,32/39? ? ? ? ? ? ?以大写 [NAMING-40-3] ? ? ? ? ?为标识符名字 [NAMING-45-3] ? ? ?
?型 [OOP-01-3]
?
?
?
?
?
?
?
?
?
?
?用) [OOP-12-3]
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,33/39?中进行声明 [OOP-30-3] ? ? ? ? ? ?指针) [OOP-36-3] ? ?析构函数 [OOP-38-1] ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?
?
?
?
?
?
?
?
?包含此变量 [OPT-11-3]
?此变量 [OPT-12-3]
?
?
?
?
?
?
?
?
?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,34/39? ? ? ? ? ? ? ? ? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?象 [PB-23-1]
?贝构造函数完全一样的签名 [PB-24-2]
?
?
?
?
?
?
?
?
?
? ?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,35/39?
? ? ? ? ? ? ?造函数 [PB-43-3] ? ? ? ? ? ? ? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
? ?file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,36/39?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?量(signal emissions) [QT-05-3] ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?
?
?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,37/39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?
?
?
?
?对象 [STL-06-3]
?
?
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,38/39? ? ?查 [STL-13-3] ? ? ? ? ? ? ? ? ? ? ? ?该算法的比较操作和对区域排序操作是一致的 [STL-25-4] ? ? ? ? ?通过 unary_function 或 binary_function 来指定 [STL-30-3] ? ? ? ? ? ? ? ? ? ?格 [STL-40-3] ? ?
?
?
?
?
?
?
?
? ?
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21
启用规则页码,39/39?
??? 明 [TEMPL-10-3] 使用限定标识或 -> [TEMPL-12-3]
file://D:\My Documents\新建文件夹\全部启用规则.htm2010-10-21