关于三⾓形问题的⽩盒测试实验报告⼀、实验⽬的
1、系统地学习和理解⽩盒测试的基本概念、原理,掌握⽩盒测试的基本技术和⽅法;2、通过实验和应⽤,逐步提⾼和运⽤⽩盒测试技术解决实际测试问题的能⼒。3、掌握决策表和因果图的测试⽤例设计⽅法⼆、实验内容1、题⽬内容描述
针对实验⼀编写的源代码进⾏⽩盒测试。要求绘制出程序的控制流图,采⽤逻辑覆盖和基路径⽅法设计测试⽤例。执⾏测试⽤例,并分析测试结果。可以使⽤C++Test对代码进⾏静态检查和动态测试。2、测试⽤例的编写
根据条件绘制程序流程图如下:
由程序流程图得如下控制流图:
采⽤逻辑覆盖设计测试⽤例并执⾏测试⽤例:(1)语句覆盖:
(2)判定覆盖
(3)条件覆盖:
(4)判定-条件覆盖:
(5)条件组合覆盖:
(6)路径覆盖:
基路径⽅法设计测试⽤例并执⾏测试⽤例:
三、测试结果分析
经过以上测试发现:程序⽆法结束,达不到预测结果。其余均能正确执⾏达到预期结果。四、实验思考
通过本次试验,对C++test⼯具有了⼀定的认识,学会了⼀些基本的⽤法和操作,⽤该⼯具测出了⼀些代码规范的问题,能够分析测试结果了。本实验⽤两种⽅法对程序进⾏测试,从中可看出,基路径测试⽐逻辑覆盖测试过程简单,但是没有逻辑覆盖测试的效果好。所以,我觉得应该更加熟悉两种测试⽅法的特⾊,以便在以后的测试中能更快更准确的选择测试⽅法,快速测试,找到程序中的错误。附录:程序代码#include \"iostream.h\"#include \"stdio.h\"
void Judge(int m_num1,int m_num2,int m_num3){
while(scanf(\"%d %d %d\
{
if(!(m_num1+m_num2<=m_num3 || m_num1+m_num3<=m_num2 || m_num2+m_num3<=m_num1)){
if (m_num1==m_num2 && m_num1==m_num3)cout<<\"等边三⾓形\"<
else if (m_num1==m_num2 || m_num1==m_num3 || m_num2==m_num3)cout<<\"等腰三⾓形\" cout<<\"不是三⾓形\"<}}} void main(){int a,b,c;Judge(a,b,c); } 因篇幅问题不能全部显示,请点此查看更多更全内容