软件工程导论-实验报告-软件测试
程序员文章站
2022-05-02 10:39:00
...
软件工程导论-实验报告-软件测试
【问题描述】
一元二次方程式 ax2+bx+c=0的求根程序有以下功能:
1)输入A、B、C三个系数;
2)根据根的性质的:两个相等或不相等的实根,或无实根,输出相应的结果。
提示: 时,方程ax2+bx+c=0的解
【实验要求】
1) 绘制程序流图
2) 用c或java实现功能(文件名Triangle.c或Triangle.java)
3) 根据边界值分析法,等价类划分法设计测试用例。
4)根据程序流图绘制控制流图,并对问题用白盒测试法(语句覆盖、判定覆盖、条件覆盖、条件组合覆盖)设计测试用例;利用设计好的程序和测试用例,在相应的编程环境中进行测试,给出测试的结果(结果以截图方式表示即可)。
- 绘制流程图
- 程序实现
import java.util.Scanner;
public class Triangle {
public static void main(String[] args) {
double a;
System.out.println("输入a的值:");
Scanner input = new Scanner(System.in);
a=input.nextDouble();
if (a == 0){
System.out.println("输入的不是一元二次次方程");
System.exit(1);
}
System.out.println("输入b的值:");
Scanner input1 = new Scanner(System.in);
double b=input1.nextDouble();
System.out.println("输入c的值:");
Scanner input2 = new Scanner(System.in);
double c=input2.nextDouble();
double d=b*b-4*a*c; //根据b^2-4ac判断方程可解性
if(d<0)
System.out.println("方程无解");
else if(d==0)
System.out.println("方程有一个解:"+ -b/(2*a));
else
System.out.println("方程有两个解:"+ (-b+Math.sqrt(d))/(2*a) +"和"+ (-b-Math.sqrt(d))/(2*a));//Math.sqrt()用来开平方
}
}
-根据边界值分析法,等价类划分法设计测试用例
等价类划分:
序号 | 有效等价类 |
---|---|
1 | abc都是有理数 |
2 | b^2-4ac>0 |
3 | b^2-4ac=0 |
4 | a>0 |
序号 | 无效等价类 |
---|---|
5 | abc均为无理数 |
6 | b^2-4ac<0 |
7 | a=0 |
- 根据程序流图绘制控制流图,并对问题用白盒测试法(语句覆盖、判定覆盖、条件覆盖、条件组合覆盖)设计测试用例;利用设计好的程序和测试用例,在相应的编程环境中进行测试,给出测试的结果(结果以截图方式表示即可)。
测试运行不表了,都是比较简单的。