第二部分:实验结果分析(可加页) 一、实验结果描述 根据自己的实验情况自己填写 我的实验代码 #include #include #include void main() { float a,b,c,x,y; float d,x1,x2; y=a*x*x+b*x+c; printf(\ printf(\二元一次方程的求解问题\\n\ printf(\ while(1) { printf(\请输入y方程中参数a,b,c: \\n\ scanf(\ if(a!=0) { d=b*b-4*a*c; if(d>0) { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf(\该方程有两个解:x1=%f,x2=%f\\n\ //printf(\ //printf(\ } if(d==0) { x1=-b/(2*a); x2=x1; printf(\该方程两个解相同:x1=x2=%f\\n\ printf(\ } if(d<0) { printf(\该方程没有解\\n\ } } else printf(\该方程不是二元方程,可能是一元一次方程\\n\ } } 张振宇设计的测试用例x,y,z a!=0 d>0 d==0 输出结果 1 2,6,3真真假该方程有两个解 2 3,6,3真假真该方程有两个相同解 3 2,3,4真假假该方程没有解 4 0,2,3假该方程不是二元方程,可能是一元一次方程 运行结果截图: 张振宇的代码: 文件名:equation.java /** * Created by zzhen on 2016/6/27. */ importjava.util.*; public class equation { public static void main(String[] args) { float a,b,c,x,y; float delta,x1,x2; //y = a*x*x + b*x + c; System.out.println(\二元一次方程求解 \\n清依次输入二次项、一次项系数和常数项:\ Scanner in = new Scanner(System.in); a = in.nextFloat(); b = in.nextFloat(); c = in.nextFloat(); if(a == 0) { System.out.println(\二次项系数为零!\ if(b == 0) { System.out.println(\一次项系数为零!\ if(c == 0) { System.out.println(\该方程为“0=0”,恒成立!\ } else { System.out.println(\该方程为:\,恒不成立!\ } } else { System.out.println(\该方程为:“\”,计算结果为:\System.out.println(\ } } else { System.out.println(\该方程为:“\”,计算结果如下:\ delta = b*b - 4*a*c; if(delta<0) { System.out.println(\该方程无解!\ } else { if(delta == 0) { System.out.println(\该方程只有一个解,解得: X = \ } else { System.out.println(\该方程有两个实根,分别为:\System.out.println(\System.out.println(\ } } } } } 我对张振宇编写的白盒测试测试用例如下: 测试用例 输入a 输入b 输入c delta!=0 delta>0 delta == 0 Case1 Case2 Case3 Case4 2 1 4 0 5 2 2 2 3 1 1 1 真 真 真 假 真 假 假 假 真 假 输出结果 两不相等解 两相等解 无解 不是一元二次方程 测试结果如下: 二、实验小结、建议及体会 根据自己的实验情况自己填写 通过本次试验,对白盒测试有了更深的了解,如语句覆盖判断覆盖等基本的测试方法真正的进行了操作。先在vs2015中建立了项目,编译程序代码并运行通过。执行程序用张振宇设计的用例测试,每个用例都顺利都过,我也对张振宇的程序设计用例并检测也都通过了。对用例的设计有了进一步的了解,设计起来也比试验一要快很多,加强了实践能力。 实验课程名称:软件质量保证与测试__
实验项目名称 实验者 同组者 基于缺陷模式的软件测试 高艺珩 专业班级 软件ZY1301 实验成绩 组别 实验日期 年 月 日 第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 1.实验目的 (1)理解什么是软件的缺陷; (2)熟悉软件缺陷的常见类型。 2.实验内容 (1)输入信息存入链表的代码如下所示,用静态分析和动态运行分析程序中所存在的缺陷,并说明缺陷属于哪种类型; (2)修改缺陷,给出相应的测试用例,运行程序。 1. #include 2. #include 3. struct info 4. { 5. char name[10]; 6. int age; 7. char sex[10]; 8. info *next; 9. }; 10. int main() 11. { 12. char name[10]; 13. int age; 14. char sex[10]; 15. info * head=(info*)malloc(sizeof(info)); 16. //为判断空间是否申请成功 17. head->next=NULL; 18. while(1)//死循环 19. { 20. info * temp=(info*)malloc(sizeof(info)); 21. //未判断temp是否申请成功,如果申请失败会造成对空指针的访问导致程序崩溃 22. temp->next=NULL; 23. printf(\请输入信息:\\n姓名:\24. scanf(\25. //未对输入信息长度进行限定,如果大于10,将会导致数组越界访问 26. printf(\年龄:\27. scanf(\28. printf(\性别:\29. scanf(\30. //未对输入信息有效性进行检验 31. info *p=head;