软件工程导论-实验报告-软件测试

软件工程导论-实验报告-软件测试

【问题描述】
一元二次方程式 ax2+bx+c=0的求根程序有以下功能:
1)输入A、B、C三个系数;
2)根据根的性质的:两个相等或不相等的实根,或无实根,输出相应的结果。
提示: 时,方程ax2+bx+c=0的解
软件工程导论-实验报告-软件测试_第1张图片
【实验要求】
1) 绘制程序流图
2) 用c或java实现功能(文件名Triangle.c或Triangle.java)
3) 根据边界值分析法,等价类划分法设计测试用例。
4)根据程序流图绘制控制流图,并对问题用白盒测试法(语句覆盖、判定覆盖、条件覆盖、条件组合覆盖)设计测试用例;利用设计好的程序和测试用例,在相应的编程环境中进行测试,给出测试的结果(结果以截图方式表示即可)。

  • 绘制流程图
    软件工程导论-实验报告-软件测试_第2张图片
  • 程序实现
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

软件工程导论-实验报告-软件测试_第3张图片

  • 根据程序流图绘制控制流图,并对问题用白盒测试法(语句覆盖、判定覆盖、条件覆盖、条件组合覆盖)设计测试用例;利用设计好的程序和测试用例,在相应的编程环境中进行测试,给出测试的结果(结果以截图方式表示即可)。
    软件工程导论-实验报告-软件测试_第4张图片
    软件工程导论-实验报告-软件测试_第5张图片
    软件工程导论-实验报告-软件测试_第6张图片
    测试运行不表了,都是比较简单的。

你可能感兴趣的:(软件工程导论)