C++Test使用.docx

上传人:b****5 文档编号:3783989 上传时间:2022-11-25 格式:DOCX 页数:13 大小:267.22KB
下载 相关 举报
C++Test使用.docx_第1页
第1页 / 共13页
C++Test使用.docx_第2页
第2页 / 共13页
C++Test使用.docx_第3页
第3页 / 共13页
C++Test使用.docx_第4页
第4页 / 共13页
C++Test使用.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C++Test使用.docx

《C++Test使用.docx》由会员分享,可在线阅读,更多相关《C++Test使用.docx(13页珍藏版)》请在冰豆网上搜索。

C++Test使用.docx

C++Test使用

 

 

学生实验报告

 

学院:

用友软件学院

课程名称:

软件测试与质量保证

专业班级:

软件10级B01班

姓名:

程众

学号:

0103813

 

学生实验报告(四)

学生姓名

程众

学号

0103813

同组人:

实验项目

黑盒测试技术

■必修□选修

□演示性实验□验证性实验■操作性实验□综合性实验

实验地点

W101

实验仪器台号

指导教师

段喜龙

实验日期及节次

13、14周周二5、6、7节

一、实验综述

1、实验目的及要求

实验目的:

1.进一步理解静态测试技术的基本原理。

2.进一步理解动态测试的基本原理。

3.学习使用自动化测试工具C++Test。

实验要求:

1.通过对软件测试辅助工具C++Test的学习,并针对一些常见的C++程序开展单元测试的训练,使学生深刻理解软件测试在软件工程专业中的地位,掌握C++Test的基本使用技巧。

让他们熟悉软件项目测试全过程管理的方法与流程,并培养作为软件测试者应该具有的基本素质,激发学生主动学习和应用新测试工具的意识。

掌握使用C++Test这个测试工具对选定的C/C++程序进行系统测试。

2.巩固学生在课堂上学习到的关于单元测试的基本知识。

3.让学生熟悉软件项目测试全过程管理的方法与流程,并培养作为软件测试者应该具有的基本素质,激发学生主动学习和应用新测试工具的意识。

2、实验仪器、设备或软件

1.个人计算机PC;

2.VC++6.0编程环境、C++Test。

二、实验过程(实验步骤、记录、数据、分析)

测试用的代码:

#include

usingnamespacestd;

voidjudge1(inta,intb,intc)

{

if((a<1&&a>200)||(b<1&&b>200)||(c<1&&c>200))

{

cout<<"输入错误"<

}

elseif((a+b<=c)||(a+c<=b)||(b+c<=a))

{

cout<<"非三角形"<

}

elseif(((a==b)&&(a!

=c))||((c==b)&&(a!

=c))||

((a==c)&&(a!

=b)))

{

if((a*a+b*b==c*c)||(c*c+b*b==a*a)||(a*a+c*c==b*b))

{

cout<<"等腰直角三角形"<

}

cout<<"等腰三角形"<

}

elseif((a*a+b*b==c*c)||(c*c+b*b==a*a)||(a*a+c*c==b*b))

{

if(((a==b)&&(a!

=c))||((c==b)&&(a!

=c))||

((a==c)&&(a!

=b)))

{

cout<<"等腰直角三角形"<

}

elsecout<<"直角三角形"<

}

elseif((a==b)&&(b==c))

{

cout<<"等边三角形"<

}

elsecout<<"普通三角形"<

}

intmain()

{

inta=0,b=0,c=0;

cin>>a>>b>>c;

judge1(a,b,c);

return0;

}

1.静态测试

针对C++Test对C++程序进行测试所给出的Violation进行逐个分析,并给出解决建议。

(1)导入代码

(2).在程序上面右键readSymblos

(3)

改动分析建议:

1:

输出舒服符号<<前后要有空格

2:

elsecout<<"普通三角形"<

{

cout<<"普通三角形"<

}

其他类似的同理

3:

||&&符号前后要有一个空格

4:

改为

5:

=,==,+,-,*,/符号等前后要有一个空格

6:

定义多个变量时,每次定义一个变量后的逗号要有一个空格,例如inta,intb,intc;应该修改为inta,intb,intc;

7:

一行代码不能超过80个字符。

例如f(((atwoh))||((btwoh))||((ctwoh)))超过了80个字符要分为两行

8:

voidmain()报错在头文件开始那加上namespacetest{.......}错误消失

9:

if((a<1&&a>200)||(b<1&&b>200)||(c<1&&c>200))要定义常量来代替其中的1和200改为constintone=1,twoh=200;然后下面用这两个变量代替如下if(((atwoh))。

10:

在平时书写((a<1&&a>200))是没有错误的,但是在c++test里要求里面的if判断分支也要用括号括起来

修改后的代码

#include

usingnamespacestd;

namespacetest

{

constintone=1,twoh=200;

voidjudge1(inta,intb,intc)

{

if(((atwoh))||((btwoh))

||((ctwoh)))

{

cout<<"输入错误"<

}

elseif((a+b<=c)||(a+c<=b)||(b+c<=a))

{

cout<<"非三角形"<

}

elseif(((a==b)&&(a!

=c))||((c==b)&&(a!

=c))||

((a==c)&&(a!

=b)))

{

if((a*a+b*b==c*c)||(c*c+b*b==a*a)||(a*a+c*c==b*b))

{

cout<<"等腰直角三角形"<

}

else

{

cout<<"等腰三角形"<

}

}

elseif((a*a+b*b==c*c)||(c*c+b*b==a*a)||(a*a+c*c==b*b))

{

if(((a==b)&&(a!

=c))||((c==b)&&(a!

=c))||

((a==c)&&(a!

=b)))

{

cout<<"等腰直角三角形"<

}

else

{

cout<<"直角三角形"<

}

}

elseif((a==b)&&(b==c))

{

cout<<"等边三角形"<

}

else

{

cout<<"普通三角形"<

}

}

voidmain()

{

inta=0,b=0,c=0;

cin>>a>>b>>c;

judge1(a,b,c);

}

}

2.动态测试

手动设计测试用例(测试用例模板参看实验二及实验三),通过C++Test进行测试,若出现缺陷,则经过分析并给出建议

(2)步骤二:

白盒测试

1.在步骤一的基础上,设置白盒测试为活动状态

2.在Excel表里面手动输入30个测试用例,保存并命名为“测试用例.xls”

3.在C++Test里面导入Excel表

4.将Excel表中的各个参数传给程序,双击random选择对应到Excel表里面的参数,如a

结果显示

三、结论

1、实验结果

使用C++Test的“Report”功能分别生成“Codingstandardsreport”、“Coveragestatisticsreport”及“Unittestingreport”,要求要用中文说明。

修改后代码生成报告

---CodingStandards---

test.cpp[I=0PV=0V=3PSV=0SV=0/total=3]

[1]V:

"#define"orenumconstantsshouldbeusedinsteadofhardcodedvalueswheneverpossible(coding-32,HardCodeValue.rule)

Hardcodedvalue:

1

D:

\ProgramFiles\MicrosoftVisualStudio\MyProjects\cz\test.cpp:

5

[1]V:

Numberofblockofcodesinafunction.(metric-03,MetricBlockofCode.rule)

Numberofblockinafunction:

11

D:

\ProgramFiles\MicrosoftVisualStudio\MyProjects\cz\test.cpp:

6

[1]V:

Numberoffunctioncall.(metric-04,MetricFuncCall.rule)

Numberoffunctioncallinafunction:

16

D:

\ProgramFiles\MicrosoftVisualStudio\MyProjects\cz\test.cpp:

6

中文说明:

大概就是一下三点错误

函数调用功能有错

宏定义“或枚举常量代替应该尽可能使用硬编码值

一些代码块在一个函数,不太理解其中错误的原因

---CoverageStatisticsReport---

File:

[D:

\ProgramFiles\MicrosoftVisualStudio\MyProjects\cz\test.cpp]

LC=0%[0/38],BBC=0%[0/22],PC=0%[0/9],DC=0%[0/14],MCDC=0%[0/29],CC=0%[0/29]

Class:

[GLOBALSYMBOLS]

LC=0%[0/38],BBC=0%[0/22],PC=0%[0/9],DC=0%[0/14],MCDC=0%[0/29],CC=0%[0/29]

Function:

[voidjudge1(int,int,int)]

LC=0%[0/33],BBC=0%[0/21],PC=0%[0/8],DC=0%[0/14],MCDC=0%[0/29],CC=0%[0/29]

Function:

[intmain(void)]

LC=0%[0/5],BBC=0%[0/1],PC=0%[0/1],DC=0%[0/0],MCDC=0%[0/0],CC=0%[0/0]

 

---UnitTesting---

File:

test.cpp[OK=0FLD=0ERR=0/TST=0/TOT=0of0][LC=0BBC=0PC=0DC=0MCDC=0CC=0(%)]

GLOBALSYMBOLS[OK=0FLD=0ERR=0/TST=0/TOT=0of0][LC=0BBC=0PC=0DC=0MCDC=0CC=0(%)]

Function:

judge1[OK=0FLD=0ERR=0/TST=0/TOT=0of0][LC=0BBC=0PC=0DC=0MCDC=0CC=0(%)]

Function:

main[OK=0FLD=0ERR=0/TST=0/TOT=0of0][LC=0BBC=0PC=0DC=0MCDC=0CC=0(%)]

 

2、分析讨论

对测试过程中所发现的Violation、Bug进行分析及总结

根据C++Test的特点,试总结自动化测试工具所适用的场合。

 

C++test要求编写代码风格很严谨,一个空格,一个括号都会显示错误,一级一行的长度不能超过80个字符,使用不会更改的变量时,需要使用宏定义。

通过这次实验报告加强了对软件测试的认识,以及在代码编写的风格上了有了重新的了解。

这次的实验,使我们更加熟悉了C++Test的基本使用方法,同时也加深了对测试在软件工程中的地位的认识

四、指导教师评语及成绩:

评语:

 

成绩:

指导教师签名:

段喜龙

批阅日期:

2012.12.7

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1