三角形的问题在很多软件测试的书籍中都出现过,问题虽小,五脏俱全,是个很不错的软件测试的教学例子。本文借助这个例子结合教学经验,从更高的视角来探讨需求分析、软件设计、软件开发与软件测试之间的关系与作用。
题目:根据下面给出的三角形的需求完成程序并完成测试:
一、输入条件:
1、 条件1:a+b>c
2、 条件2:a+c>b
3、 条件3:b+c>a
4、 条件4:0<a<200
5、 条件5:0<b<200
6、 条件6:0<c<200
7、 条件7:a==b
8、 条件8:a==c
9、 条件9:b==c
10、条件10:a2+b2==c2
11、条件11:a2+ c2== b2
12、条件12:c2+b2== a2
二、输出结果:
1、不能组成三角形
2、等边三角形
3、等腰三角形
4、直角三角形
5、一般三角形
6、某些边不满足限制
需求的逻辑比较简单,三角形的三条边暂时就直接从程序中读入,不让用户输入(假设用户的输入都是整数的情况)。初步形成的代码如下:
package com.loleina.whiteTest;
public class TriangleP {
public static void main(String[] args) {
int a, b,c;
a=3;
b=3;
c=3;
if(a>0&&a<200&&b>0&&b<200&&c>0&&c<200)
{
if(a+b>c&&a+c>b&&b+c>a)
{
if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
{
System.out.println(" 4、直角三角形");
}
if(a==b&&a==c&b==c)
{
System.out.println("2、等边三角形");
}
if((a==b&&a!=c)||(a==c&&a!=b)||(b==c&&b!=a))
{
System.out.println(" 3、等腰三角形");
}
else {
System.out.println(" 5、一般三角形");
}
} else
{
System.out.println("1、不能组成三角形");
}
}else
{
System.out.println("6、某些边不满足限制");
}
}
}