学号:201241402102 姓名:温燕姿
班级:12计科1班指导教师:张福勇地点:7A202, 时间:2014-11-4
实验四基路径测试
一、实验目的(实验所要达到那些目的)
1、理解基路径测试的原理和方法。
2、掌握由基路径产生测试用例的方法。
3、能够对软件进行基路径测试。
二、实验内容或实验过程(实验所做的内容)
内容:1、自编软件的基路径测试:(只测主要函数或过程)
1)、由给定软件规格说明书写出源程序并运行。
(见附录)
2)、用基路径方法产生测试用例。
3)、运行软件,输入测试用例并记录结果。
4)、分析结果,调试源程序。
(注意:调试前一定要保存上一个版本)
5)、重复步骤3),直到所有测试用例的输出与预期的一致。
附录1 规格说明:编制一元二次方程式AX2+BX+C=0的求根程序。
程序有以下功能:
1. 输入A、B、C三个系数;-200<=A、B、C<=200
2.输出根的性质的信息:包括两个相等实根、两个不相等的实根、一个实根、两个虚根、有无数根、无根等。
过程:先编写出就一元二次方程式的求根程序,给每一句代码标号,并画出流程图,再根据流程图画出DD路径图,再找出所有的基路径,最后依照基路径设计测试用例。
三、实验中出错信息及处理方法(可选)
四、实验结果(包括实验处理结果和设计心得)
程序代码:
1.#include <stdio.h>
2.void formula(int a,int b,int c){
3.int i=0;
4.i=b*b-4*a*c;
5.if(a<-200||a>200||b<-200||b>200||c<-200||c>200){
6.printf("输入的系数有误\n");}
7.else{
8.if(a==0){
9.if(b==0){
10.if(c==0)
11.printf("此二元一次方程有无数个根\n");
12.else printf("此二元一次方程无根\n");}
13.else printf("此二元一次方程有1个实根");}
14.if (a!=0){
15.if(i>0)
16.printf("此二元一次方程有2个不相等的实根");
17. if(i==0)
18. printf("此二元一次方程有2个相等的实根");
19. else printf("此二元一次方程有2个虚根");}
20.}
21.}
22.void main(){
23.int a,b,c;
24.printf("请输入一元二次方程Ax^2+Bx+C的系数ABC:(注意:输入以逗号为间隔;
ABC均为整数,且每个数都在-200到+200间)");
25.scanf("%d,%d,%d",&a,&b,&c);
26.formula(a,b,c);
27.}
程序图如下:
相应的DD路径图如下:
A:1,2,3,4,5,22,23,24,25,26 Array B:6
C:7
D:14
E:8
F:19
G:17,18
H:15,16
I:13
J:9
K:12
L:10,11
M:20
N:21
O:27
P1:A-C-E-J-L-M-N-O
P2:A-B-N-O
P3:A-C-D-H-M-N-O
P4:A-C-E-I-M-N-O
P5:A-C-E-J-K-M-N-O
P6:A-C-D-G-M-N-O
P7:A-C-D-F-M-N-O
处理结果:所有的预计输出和实际输出是一样的
设计心得:通过这次实验我知道了:设计基路径测试用例的关键是画出DD路径图找全基路径。
需要注意的是要找准基路径对应的if条件的真假。
测试用例如下:。