软件测试方案模板三角形样例
- 格式:doc
- 大小:168.00 KB
- 文档页数:9
三⾓形测试(测试⽤例)三⾓形测试⽤例题⽬:输⼊三个数a、b、c分别作为三边的边长构成三⾓形。
通过程序判定所构成的三⾓形是⼀般三⾓形、等腰三⾓形还是等边三⾓形时。
⽤等价类划分⽅法为该程序设计测试⽤例。
在三⾓形计算中,要求三⾓形的三个边长:A B C。
1、当三边不可能构成三⾓形时提⽰错误,可构成三⾓形时计算三⾓形周长。
2、若是等腰三⾓形打印“等腰三⾓形”,若两个等腰的平⽅和等于第三边平⽅和,则打印“等腰直⾓三⾓形”。
3、若是等边三⾓形,则打印:“等边三⾓形”。
4、画出程序流程图并设计⼀个测试⽤例。
分析⼀下:1、构成三⾓形的条件:任意两边之和⼤于第三边;2、构成等腰三⾓形的条件:任意两边相等;3、构成等腰直⾓三⾓形的条件:任意两边相等,⽽且两条边的平⽅和等于第三边的平⽅和;4、构成等边三⾓形的条件:三条边都相等。
那么⽤什么样的设计⽅法进⾏测试⽤例的设计呢?⼀、等价类划分:三⾓形三条边A、B、C的数据类型不同⼆、边界值分析:由于三⾓形的边长可以是正整数或正⼩数,所以就不对长度进⾏测试,那么边界值分析就不⽤了三、因果图法:三⾓形的三条边数据输⼊组合我们看⼀下三⾓形的流程图:注:改正⼀个⼩错误,在判断是否是等腰直⾓三⾓形中 A的平⽅=B的平⽅+C的平⽅。
由于画图时,⽹络速度问题,导致真或假的值没有标注。
三⾓形等价类列表判定类型有效等价类⽆效等价类⼀般三⾓形 ((a>0) Λ(b>0) Λ(c>0))Λ(a<=0 V b<=0 V c<=0) Λ(((a+b)>c) V ((a+c)>b) V ((b+c)>a)) (1) (((a+b)<=c) V ((a+c)<=b) V ((b+c)<=a)) (2)等腰三⾓形 (1) Λ (a=b V a=c V b=c)(3)(2) V (a!=b Λ b!=c Λ a!=c) (4)等边三⾓形 (1) Λ (a=b=c ) (5) (2) V (a!=b!=c)(6)根据上表组成的测试⽤例:三⾓形等价类测试⽤例ID 输⼊数据覆盖测试⽤例输出结果a b c1 3 4 5 (1) ⼀般三⾓形2 0 4 5 (2) ⾮(⼀般)三⾓形3 3 0 5 (2)4 3 4 0 (2)5 1 4 5 (2)6 3 8 5 (2)7 3 2 1 (2)8 3 3 5 (3) 等腰三⾓形9 3 4 310 3 4 4#includevoid main (){float a, b, c;printf("请输⼊三⾓形三边");scanf("%f,%f,%f",&a,&b,&c);if (a==b||b==c||a==c)printf("等腰三⾓形");if (a==b&&b==c)printf("等边三⾓形");if (a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("直⾓三⾓形"); elseprintf("普通三⾓形");}11 3 4 9 (4) ⾮等腰三⾓形12 3 3 3 (5) 等边三⾓形13 -1 0 1 (6) ⾮等边三⾓形我们再分析⼀下三⾓形的等价类:有效等价类:输⼊3个正整数或正⼩数:1、两数之和⼤于第三数,如A2、两数之和不⼤于第三数3、两数相等,如A=B或B=C或C=A4、三数相等,如A=B=C5、三数不相等,如A!=B,B!=C,C!=A1、空2、负整数3、⾮数字4、少于三个数三⾓形测试⽤例类别输⼊条件有效等价类⽆效等价类是否是三⾓形 (A>0) (1)(B>0) (2)(C>0) (3)(A+B>C) (4)(B+C>A) (5)(C+A>B) (6)(A<=0) (7)(B<=0) (8)(C<=0) (9)(A+B<=C) (10)(B+C<=A) (11)(C+A<=B) (12)是否是等腰三⾓形 (A=B) (13)(B=C) (14)(C=A) (15)(A!=B)and(B!=C)and(C!=A) (16)是否是等腰直⾓三⾓形 (A=B)and(A2+B2=C2) (17)(B=C)and(B2+C2=A2) (18)(C=A)and(C2+A2=B2) (19)(A!=B)and(B!=C)and(C!=A) (20)是否是等边三⾓形(A=B)and(B=C)and(C=A) (21)(A!=B) (22) (B!=C) (23)(C!=A) (24)#includevoid main(){int a,b,c;printf("Please Input a,b,c:");scanf("%d",&a);scanf("%d",&c);if(a+b<=c||a+c<=b||b+c<=a) /*判断是否能构成三⾓形*/ printf("No!\n"); else{printf("Yes!\n");if(a==c||a==b||b==c) /*判断是否为等腰三⾓形*/{printf("It can be an isoceles triangle!\n");if(a==c && a==b) /*判断是否为等边三⾓形*/printf("It also can be an equilateral triangle!\n"); elseprintf("But it can not be an equilateral triangle!\n"); }else{printf("It can't be an isoceles triangle!\n");}}getch();}三⾓形测试⽤例:序号 [A,B,C] 覆盖等价类输出1 [3,4,5] (1)(2)(3)(4)(5)(6) 是三⾓形2 [0,1,2] (7) ⾮三⾓形3 [1,0,2] (8) ⾮三⾓形4 [1,2,0] (9) ⾮三⾓形5 [1,2,3] (10) ⾮三⾓形6 [1,3,2] (11) ⾮三⾓形7 [3,1,2] (12) ⾮三⾓形8 [3,3,4] (1)(2)(3)(4)(5)(6)(13) 等腰三⾓形9 [3,4,4] (1)(2)(3)(4)(5)(6)(14) 等腰三⾓形10 [3,4,3] (1)(2)(3)(4)(5)(6)(15) 等腰三⾓形11 [2√2,2√2,4] (1)(2)(3)(4)(5)(6)(17) 等腰直⾓三⾓形12 [4,2√2,2√2] (1)(2)(3)(4)(5)(6)(18) 等腰直⾓三⾓形13 [2√2,4,2√2] (1)(2)(3)(4)(5)(6)(19) 等腰直⾓三⾓形14 [3,4,5]。
软件测试技术第一次
实验报告
一、实验题目
测试三角形类型判断程序
二、实验开发工具:
Eclipse、JUnit、Ant
三、编码实现三角形类型判断程序:
class Triangle{
private double a, b, c;
public Triangle ( double a, double b, double c ){ this.a = a;
this.b = b;
this.c = c;
}
/*
返回值为1表示是等边三角形
返回值为2表示是等腰三角形
返回值为3表示是其他种类三角形
返回值为-1表示不能构成三角形
*/
public int type (){
//to be added
}
四、设计测试用例
建立一个被JUnit测试的类
建立对应的JUnit Test类
不能构成三角形的测试用例
构成等边三角形的测试用
构成等腰三角形的测试用例
构成其他种类三角形的测试用例
三角形有一条边是非正数
四、编写ant脚本驱动测试用例。
三角形测试用例题目:输入三个数a、b、c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形是一般三角形、等腰三角形还是等边三角形时。
用等价类划分方法为该程序设计测试用例。
在三角形计算中,要求三角形的三个边长:A B C。
1、当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。
2、若是等腰三角形打印“等腰三角形”,若两个等腰的平方和等于第三边平方和,则打印“等腰直角三角形”。
3、若是等边三角形,则打印:“等边三角形”。
4、画出程序流程图并设计一个测试用例。
分析一下:1、构成三角形的条件:任意两边之和大于第三边;2、构成等腰三角形的条件:任意两边相等;3、构成等腰直角三角形的条件:任意两边相等,而且两条边的平方和等于第三边的平方和;4、构成等边三角形的条件:三条边都相等。
那么用什么样的设计方法进行测试用例的设计呢?一、等价类划分:三角形三条边A、B、C的数据类型不同二、边界值分析:由于三角形的边长可以是正整数或正小数,所以就不对长度进行测试,那么边界值分析就不用了三、因果图法:三角形的三条边数据输入组合我们看一下三角形的流程图:注:改正一个小错误,在判断是否是等腰直角三角形中 A的平方=B的平方+C的平方。
由于画图时,网络速度问题,导致真或假的值没有标注。
三角形等价类列表判定类型有效等价类无效等价类我们再分析一下三角形的等价类:有效等价类:输入3个正整数或正小数:1、两数之和大于第三数,如A<B+C;B<C+A;C<A+B2、两数之和不大于第三数3、两数相等,如A=B或B=C或C=A4、三数相等,如A=B=C5、三数不相等,如A!=B,B!=C,C!=A无效等价类:1、空2、负整数3、非数字4、少于三个数三角形测试用例类别输入条件有效等价类无效等价类是否是三角形 (A>0) (1)(B>0) (2)(C>0) (3)(A+B>C) (4)(B+C>A) (5)(C+A>B) (6)(A<=0) (7)(B<=0) (8)(C<=0) (9)(A+B<=C) (10)(B+C<=A) (11)(C+A<=B) (12)是否是等腰三角形 (A=B) (13)(B=C) (14)(C=A) (15)(A!=B)and(B!=C)and(C!=A) (16)是否是等腰直角三角形 (A=B)and(A2+B2=C2) (17)(B=C)and(B2+C2=A2) (18)(C=A)and(C2+A2=B2) (19)(A!=B)and(B!=C)and(C!=A) (20)是否是等边三角形(A=B)and(B=C)and(C=A) (21)(A!=B) (22) (B!=C) (23)(C!=A) (24)#include <stdio.h>void main(){int a,b,c;printf("Please Input a,b,c:");scanf("%d",&a);scanf("%d",&b);scanf("%d",&c);if(a+b<=c||a+c<=b||b+c<=a) /*判断是否能构成三角形*/ printf("No!\n");else{printf("Yes!\n");if(a==c||a==b||b==c) /*判断是否为等腰三角形*/{printf("It can be an isoceles triangle!\n");if(a==c && a==b) /*判断是否为等边三角形*/printf("It also can be an equilateral triangle!\n"); elseprintf("But it can not be an equilateral triangle!\n"); }else{printf("It can't be an isoceles triangle!\n");}}getch();}三角形测试用例:序号 [A,B,C] 覆盖等价类输出1 [3,4,5] (1)(2)(3)(4)(5)(6) 是三角形2 [0,1,2] (7) 非三角形3 [1,0,2] (8) 非三角形4 [1,2,0] (9) 非三角形5 [1,2,3] (10) 非三角形6 [1,3,2] (11) 非三角形7 [3,1,2] (12) 非三角形8 [3,3,4] (1)(2)(3)(4)(5)(6)(13) 等腰三角形9 [3,4,4] (1)(2)(3)(4)(5)(6)(14) 等腰三角形10 [3,4,3] (1)(2)(3)(4)(5)(6)(15) 等腰三角形11 [2√2,2√2,4] (1)(2)(3)(4)(5)(6)(17) 等腰直角三角形12 [4,2√2,2√2] (1)(2)(3)(4)(5)(6)(18) 等腰直角三角形13 [2√2,4,2√2] (1)(2)(3)(4)(5)(6)(19) 等腰直角三角形14 [3,4,5](1)(2)(3)(4)(5)(6)(16)(20)(22)(23)(24) 是三角形15 [3,3,3] (1)(2)(3)(4)(5)(6)(16)(21) 等边三角形16 [,,,] 无效等价类错误提示17 [-3,4,5] 无效等价类错误提示18 [a,3,@] 无效等价类错误提示19 [3,4] 无效等价类错误提示。
一.题目要求:使用c#语言编写程序,实现下面功能:输入三个数,判断能否构成三角形,如果能构成三角形,判断其为等边三角形、等腰三角形或不等边三角形。
三角形的判定方法有返回值,并对该方法进行测试。
二.源代码程序:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace TriangleTest{class Triangle{int a,b,c;public Triangle(int a0,int b0,int c0){this.a = a0;this.b = b0;this.c = c0;}public bool IsTriangle(){if ((a + b) > c && (a + c) > b && (b + c) > a)return true;elsereturn false;}public bool IsTwoEqualTriangle(){if (IsTriangle()){if (a == b || a == c || b == c)return true;elsereturn false;}else{Console.WriteLine("It is not a triangle!");return false;}}public bool IsThreeEqualTriangle(){if (IsTriangle()){if (a == b && a == c)return true;elsereturn false;}else{Console.WriteLine("It is not a triangle!");return false;}}static void Main(string[] args){int a=0, b=0, c=0;Console.WriteLine("Please input three edges:\n");a =Convert.ToInt32(Console.ReadLine());b = Convert.ToInt32(Console.ReadLine());c = Convert.ToInt32(Console.ReadLine());Triangle tri = new Triangle(a,b,c);if (tri.IsThreeEqualTriangle())Console.WriteLine("It is a threeequal triangle!");else{if (tri.IsTwoEqualTriangle())Console.WriteLine("It is a twoequal triangle!");elseif(tri.IsTriangle())Console.WriteLine("It is a triangle!");elseConsole.WriteLine("It is not a triangle!");}Console.ReadLine();}}}三.程序运行结果:1.判断是否为三角形:2.判断是否为等腰三角形:3.判断是否为等边三角形:四.测试脚本:进行三角形单元测试时,可选择总体测试,也可以一个一个测试。
三角形测试用例1. 引言在软件开发中,测试是一个至关重要的环节。
而在测试过程中,测试用例是评估软件功能和性能的关键工具之一。
本文将围绕着三角形的测试用例展开讨论。
三角形是指由三条边组成的图形,它是几何学中最基本的图形之一。
我们将介绍如何编写一组全面且有效的测试用例来验证一个给定的三条边是否可以构成一个有效的三角形。
2. 测试目标我们的目标是编写一组测试用例,通过输入不同长度的三条边来验证是否可以构成一个有效的三角形。
对于给定的三条边a、b和c,我们需要验证以下情况: - a、b和c是否满足构成三角形的条件; - 如果满足条件,那么它是什么类型的三角形(例如等边三角形、等腰三角形或普通三角形); - 如果不满足条件,那么应该返回什么样的错误信息。
3. 测试用例设计3.1 边界值分析在设计测试用例时,我们需要考虑到边界值情况。
以下是一些可能需要考虑到的边界值: - a、b或c为零的情况; - a、b或c为负数的情况; - a、b或c的值非常大的情况。
3.2 等边三角形测试用例等边三角形是指三条边长度相等的三角形。
以下是一些可能需要考虑到的测试用例:- a、b和c均为相等且大于零的值; - a、b和c均为相等且小于零的值; - a、b和c均为相等但其中有一个为零的值。
3.3 等腰三角形测试用例等腰三角形是指两条边长度相等的三角形。
以下是一些可能需要考虑到的测试用例:- a和b相等,且a和b大于零,但c不等于a或b; - a和b相等,且a和b小于零,但c不等于a或b; - a和b相等,且其中一个为零,但c不等于a或b。
3.4 直角三角形测试用例直角三角形是指其中一个内角为90度(直角)的三角形。
以下是一些可能需要考虑到的测试用例: - a^2 + b^2 = c^2 的情况; - a^2 + b^2 ≠ c^2 的情况。
3.5 普通三角形测试用例普通三角形是指没有边相等的三角形。
以下是一些可能需要考虑到的测试用例: - a、b和c均为不相等的正数; - a、b和c均为不相等的负数; - a、b和c均为不相等但其中有一个为零的值。
软件测试方案模板三角形样例
1概述
测试对象简介。
经过此让读者对被测对象有一个基本的认识。
包括:被测对象的开发背景、定位、主要功能特性等;
2测试需求
列出需要测试的功能点需求。
此部分运用逆向工程经过现有系统获得。
对于需求不明确的地方能够加上自己的澄清和理解。
某程序从一个输入对话框中读取三个整数值。
这三个整数值代表了三解形三边的长度。
程序显示提示信息,指示该三角形究竟是不规则三角形、等腰三角形还是等边三角形。
需求澄清后补充:
⏹输入规格
✧输入对话框分别提供三个输入框供三条边输入,每条
边最大允许输入范围为100cm
✧界面语言为中文
✧长时间不输入,输入框会一直等待输入。
⏹输出规格
✧无效输入以红色字体标示。
✧提供命令行接口供第三方调用。
✧输出结果清空后允许连续输入。
⏹质量属性
✧性能:1S内给出结合
✧可服务性要求:采用格式化形式保存所输入数据和输
出结果。
是否保存可配置。
✧可靠性要求:异常非常输入不退出。
运行24小时后系
统稳定,不出现内存泄漏、异常退出等情况。
3XXXX功能测试设计
(逐功能展开测试设计,如果有多个功能,则重复COPY整个第3章节)
3.1功能流程分析
功能是如何被实现的。
输入如何转化为输出的。
形式化能够采用IPO分析,对于涉及到的重要输入输出数据结构必须列出。
建议:
1)对于功能处理逻辑性较强的,能够采用流程图、时序(顺序)图、分类树、判定表等辅以分析;
2)对于功能处理较为简单、或基于数据、逻辑性不强的,经过自己的理解,将实现要点列出即可。
3.1.1输入
·三角形三条边a,b,c,最大为100cm
·命令行接口形式为:aTriangle [a,b,c]|[格式化文件] > output.txt /s
/s:代表是否输出到某文件中,当加了/s后如果不给文件名,则默认保存文件名按时间戳生成,文件后缀名默认为文本格式,即为记事本即可打开。
3.1.2处理
该程序的主模块如上图所示,包括输入命令解析、三角形判断、输出结果保存三部分处理。
输入命令解析:分别进行参数合法性、文件合法性、记录内容合法性的校验。
如果存在非法立即退出。