三角形测试(测试用例)
- 格式:doc
- 大小:50.50 KB
- 文档页数:8
测试三角形类型的测试用例
下面给出测试三角形类型的测试用例,分为以下四类:
1. 边长无效的三角形测试用例
- 输入三条边长度分别为0,0,0的三角形,应该提示“长度无效”。
- 输入两条边长度之和小于第三条边的三角形,例如3,4,8,应该提示“不能构成三角形”。
- 输入边长为负数的三角形,例如2,-3,4,应该提示“长度无效”。
2. 等边三角形测试用例
- 输入边长都为5的三角形,应该返回“等边三角形”。
- 输入边长都为2.5的三角形,不是等边三角形,应该返回“非等边三角形”。
3. 等腰三角形测试用例
- 输入边长分别为3,4,4的三角形,应该返回“等腰三角形”。
- 输入边长分别为2.5,3,4的三角形,应该返回“非等腰三角形”。
4. 直角三角形测试用例
- 输入边长分别为3,4,5的三角形,应该返回“直角三角形”。
- 输入边长分别为2.5,3,4的三角形,应该返回“非直角三角形”。
以上是测试三角形类型的测试用例,可以按照以上用例进行测试,以确保代码能够正确地识别各种类型的三角形,并作出正确的输出。
课程名称软件质量保证与测试实验项目名称三角型问题白盒测试实验时间(日期及节次)2009年5月11 日1-2节2009年5月18 日1-2节专业软件工程学生所在学院软件学院年级学号姓名指导教师金虎实验室名称软件学院第三实验室实验成绩预习情况操作技术实验报告附加:综合创新能力实验综合成绩教师签字测试计划(GB8567——88)1引言1.1编写目的1.掌握软件测试技术中白盒测试方法;掌握软件测试技术中白盒测试方法;2.掌握如何进行单元测试。
掌握如何进行单元测试。
1.2背景(三角形形状测试)测试程序名称:triangle(三角形形状测试)任务提出者:金虎老师任务提出者:金虎老师开发者:开发者:用户:用户:测试环境:WINDOWS XP ; VC++6.0 说明:由于程序较小,并且只是作为了解白盒测试的小程序,因此不涉及较高的实验环境,并且测试环境和运行环境在理论上是一样的,因此不存在较大的测试差异。
并且测试环境和运行环境在理论上是一样的,因此不存在较大的测试差异。
1.3定义a:三角型的第一条边三角型的第一条边b:三角型的第二条边三角型的第二条边c:三角型的第三条边三角型的第三条边一般三角形:三边都不相等的三角形一般三角形:三边都不相等的三角形等腰三角形:有任意两边相等的三角形等腰三角形:有任意两边相等的三角形等边三角形:三边都相等的三角形等边三角形:三边都相等的三角形不能构成三角形:因不满足需求条件而不能构成三角形不能构成三角形:因不满足需求条件而不能构成三角形1.4参考资料1.《软件测试教程》.宫云战.机械工业出版社 2008年9月.宫云战. 机械工业出版社2.《软件测试技术》.曲朝阳.中国水利水电出版社 2006年8月.曲朝阳. 中国水利水电出版社3.《软件测试教程》.贺平.电子工业出版社 2005年6月.贺平. 电子工业出版社序号序号 功能功能输入质量指标输入质量指标 输出质量指标输出质量指标 1 判断是否有非整数判断是否有非整数 输入a,b,c 有非整数有非整数 无乱码,输出正确无乱码,输出正确 2 判断是否是三个数判断是否是三个数 输入非三个数输入非三个数 无乱码,输出正确无乱码,输出正确 3 判断是否有数为0 输入a,b,c 为0的数的数无乱码,输出正确无乱码,输出正确 4 判断是否有负数判断是否有负数 输入a,b,c 为负的数为负的数无乱码,输出正确无乱码,输出正确5 判断是否构成三角形判断是否构成三角形输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确6 判断是否是一般三角形判断是否是一般三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确 7 判断是否是等边三角形判断是否是等边三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确 8 判断是否是等腰三角形判断是否是等腰三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确日期日期 安排安排2010-5-11 熟悉程序代码熟悉程序代码2010-5-18 画控制流图,准备测试数据并测试画控制流图,准备测试数据并测试写测试计划及测试报告写测试计划及测试报告2.3.3测试资料1.《软件测试教程》.宫云战.机械工业出版社 2008年9月.宫云战. 机械工业出版社2.《软件测试技术》.曲朝阳.中国水利水电出版社 2006年8月.曲朝阳. 中国水利水电出版社3.《软件测试教程》.贺平.电子工业出版社 2005年6月.贺平. 电子工业出版社2.3.4测试培训1.《软件测试教程》白盒测试第三章 白盒测试机械工业出版社 2008年9月第三章宫云战 机械工业出版社《软件测试教程》 宫云战2.金虎老师第三张白盒测试PPT课件课件3测试设计说明3.1测试此项测试采用白盒测试方法来测试该功能。
请写出判断三角形的代码,设计用例达到测试效果语句覆盖判定覆盖条件组合覆盖#include<stdio.h>void main(){int a, b, c;printf("please enter three integer:");scanf("%d%d%d", &a, &b, &c);if(0<a && a<200 && 0<b && b<200 && 0<c && c<200){if(a+b>c && a+c>b && c+b>a){if(a==b && b==c && a==c) //这里可以省掉一个判断{printf("1是等边三角形");}else{if(a==b || b==c || a==c){printf("2是等腰三角形");}else{if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a){printf("3是直角三角形");}else{printf("4是一般三角形");}}}}else{printf("5不能组成三角形");}}else{printf("6某些边不满足限制");}}1.为三角形程序开发判定/条件覆盖和条件组合覆盖的测试用例。
1)判定/条件覆盖对于第一个判定a>0&&b>0&&c>0 :条件a>0 取真值记为T1,取假值记为-T1条件b>0 取真值记为T2,取假值记为-T2条件c>0 取真值记为T3,取假值记为-T3对于第二个判定( a+b>c)&&(a+c>b)&&(b+c>a ):条件a+b>c 取真值记为T4,取假值记为-T4条件a+c>b 取真值记为T5,取假值记为-T5条件b+c>a 取真值记为T6,取假值记为-T62.对下面的流程图用逻辑覆盖法设计测试用例(至少三种)1)..语句覆盖:语句覆盖可以保证程序中的每个语句都得到执行。
老师第一题没装编程的软件先做了后面的俩个题2、根据边界值分析法为三角形问题编写测试用例。
三角形问题的边界值分析测试用例测试用例 a b e 预期输出Test1 Test2 Test3 Test4 Test5 60606050506060605050126099100等腰三角形等腰三角形等边三角形等腰三角形非三角形Test6 Test7 Test8 Test9 60605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10 Test11 Test12 Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形3、根据等价类划分法为nextdate函编写测试用例。
有效等价类编号无效等价类编号1912<=year<=2050 1year<1912 4year>2050 5 year有非数字字符 61<=month<=12 2month<1 7month>12 8 Month有非数字字符91<=day<=31 3day<1 10day>31 11 Day有非数字字符12Y ear.month.day 编号Y ear.month.day 编号2006 6 6 1.2.3 2006 0 6 1.3.7 2006 6 a 1.2.12 2006 15 6 1.3.8 2006 a 6 1.3.9 2006 6 0 1.2.10 200a 6 6 2.3.7 2006 6 33 1.2.11 5555 6 6 2.3.61111 6 6 2.3.4000000000000000000000000000。
程序源码public class Triangle {public static int trijudge(int a, int b, int c){ if(a<b+c && b<a+c && c<a+b){if (a==b && b==c)return 3;else if (a==b || b==c || a==c)return 2;else return 1;}else return 0;}}白盒测试用例程序流程图路径覆盖、判定覆盖、条件覆盖、条件组合覆盖测试用例下表列出了各种白盒测试可能用到的测试用例:测试用例编号输入期望输出测试套件测试用例编号输入期望输出覆盖对象语句覆盖判定覆盖条件覆盖条件判定覆盖条件组合覆盖请思考一个问题:通过上面的测试后,你是否认为程序就一定是对的呢?为什么?有没有办法来解决这一点?控制流图独立路径测试用例测试用例编号 a b c 期望输出黑盒测试用例边界值测试用例从输入范围考虑,设三条边分别为a,b,c,则它们的边界值为:1,100。
因此,边界值的测试用例的每一条边应依次取1,2,99,100,其他两条边取正常值构成测试用例,最后再加上每条边都是正常值所构成的测试用例,总共有13个。
如果要设计健壮性边界值的测试用例,则每一条边应依次取0,1,2,99,100,101,其他两条边取正常值构成测试用例,最后再加上每条边都是正常值所构成的测试用例,,总共有19个健壮性边界值测试用例。
边界值测试用例测试用例编号 a b c 期望输出12345678910111213健壮性边界值测试用例测试用例编号 a b c 期望输出12345678910111213141516171819等价类测试用例输出等价类及测试用例从输出的结果来考虑等价类,有四种等价类,不能构成三角形、普通三角形、等边三角形、等腰三角形。
因为只从输出考虑,所以,变量只有一个,且没有无效等价类,因此,弱,强,一般,健壮等价类测试用例都相同。
计算机与信息工程系课程实验报告
姓名学号班级
课程名称软件测试技术实验类型设计实验地点
指导教师实验日期实验成绩
实验名称使用决策表法设计测试用例
一、实验目的及要求
1. 能够应用决策表法分析问题,并根据分析结果画出相应的决策表
2. 能够对决策表进行优化
3. 能够根据优化的决策表中列出的规则写出对应的测试用例
二、实验内容
以三角形组成问题构造决策表并设计相应的测试用例:
1.输入三角形的三条边a、b、c,根据a、b、c之间的关系给出输出结果。
2.输出结果有四种情况:(1)非三角形(2)不等边三角形(即一般三角形)
(3)等腰三角形(4)等边三角形。
(5)不可能
三、实验步骤
步骤1:写出三角形问题的所有条件桩和动作桩
条件桩:a,b,c构成三角形
a=b?
a=c?
b=c?
动作桩:非三角形
不等边三角形
等腰三角形
等边三角形
步骤2:三角形问题的初始决策表
步骤3:将初始决策表进行合理的优化,得到简化的决策表
步骤4:写出条件桩修改后的决策表
步骤5:根据决策表设计测试用例
四、实验结果
如上
注:1、实验类型分为:演示、验证、综合、设计研究或其他。
2、附录:可附加源程序代码清单等。
三角形测试用例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均为不相等但其中有一个为零的值。
某程序实现如下功能:输入三个整数A、B、C,输出以A、B、C为三边的三角形面积(1<=A、B、C<100),结果保留2位小数。
请运用等价类和边界值的方法,编写测试用例。
计算三角形面积测试用例英文版:We want you to write a set of test cases—specific sets of data—to properly test a relatively simple program. Create a set of test data for the program—data the program must handle correctly to be considered a successful program. Here’s a description of the program: The program reads three integer values from an input dialog. The three values represent the lengths of the sides of a triangle. The program displays a message that states whether the triangle is scalene, isosceles, or equilateral. Remember that a scalene triangle is one where no two sides are equal, whereas an isosceles triangle has two equal sides, and an equilateral triangle has three sides of equal length. Moreover, the angles opposite the equal sides in an isosceles triangle also are equal (it also follows that the sides opposite equal angles in a triangle are equal), and all angles in an equilateral triangle are equal.。
三角形测试用例
题目:输入三个数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 c
1 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 3
10 3 4 4
#include<stdio.h>
void 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("直角三角形");
else
printf("普通三角形");
}
11 3 4 9 (4) 非等腰三角形
12 3 3 3 (5) 等边三角形
13 -1 0 1 (6) 非等边三角形
我们再分析一下三角形的等价类:
有效等价类:
输入3个正整数或正小数:
1、两数之和大于第三数,如A<B+C;B<C+A;C<A+B
2、两数之和不大于第三数
3、两数相等,如A=B或B=C或C=A
4、三数相等,如A=B=C
5、三数不相等,如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"); else
printf("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] 无效等价类错误提示。