三角形测试(测试用例)
三角形测试实验报告
课程名称软件质量保证与测试实验项目名称三角型问题白盒测试实验时间(日期及节次)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)..语句覆盖:语句覆盖可以保证程序中的每个语句都得到执行。
三角形问题——白盒测试
输出:{A=2,B=0,X=7}
P1(a-c-e)
输入:{A=0,B=1,X=1}
输出:{A=0,B=1,X=1}
P4(a-b-d)
条件覆盖
输入:{A=2,B=1,X=0}
输出:{A=2,B=1,X=5}
P3(a-b-e)
输入:{A=0,B=0,X=2}
输出:{A=0,B=0,X=7}
abd测试用例输入a2b0x4输出a2b0x7输入a0b1x1输出a0b1x1输入a2b1x0输出a2b1x5输入a0b0x2输出a0b0x7输入a2b0x4输出a2b0x7输入a0b1x0输出a0b1x0输入a2b0x4输出a2b0x7输入a3b0x0输出a3b0x0输入a0b0x2执行路径p1ace判定覆盖p4abd条件覆盖p3abep3abe判定条件覆盖p1acep4abd路径覆盖p1acep2acdp3abe输出a0b0x7输入a0b1x0输出a0b1x0p4abd
白盒测试实验(目标一)
一、下图为(图1)某程序段的流程图,请用判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖设计足够的测试用例填写到下面的表格中。
该模块有4条不同的路径:
(1)P1: (a-c-e)
(2)P2: (a-c-d)
(3)P3: (a-b-e)
(4)P4: (a-b-d)
测试用例
执行路径
判定覆盖
P3(a-b-e)
判定/条件覆盖
输入:{A=2,B=0,X=4}
输出:{A=2,B=0,X=7}
P1(a-c-e)
输入:{A=0,B=1,X=0}
输出:{A=0,B=1,X=0}
P4(a-b-d)
路径覆盖
输入:{A=2,B=0,X=4}
三角形判断函数的各种测试用例(学生练习模板)
程序源码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等价类测试用例输出等价类及测试用例从输出的结果来考虑等价类,有四种等价类,不能构成三角形、普通三角形、等边三角形、等腰三角形。
因为只从输出考虑,所以,变量只有一个,且没有无效等价类,因此,弱,强,一般,健壮等价类测试用例都相同。
三角形测试用例设计
三角形测试用例设计作者:ღ王正也ღ某程序规定:"输入三个整数a、b、c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
之前面试了几个地方都问了这个题,网上找了下答案。
不懂测试理论,也不知道啥叫等级类,也不知道哪个答案更准确。
不知道为什么所有答案给出的用例里没有测试边界值,极大的值,负数,小数等等答案1:/godmap/blog/item/12ed690f14cc9c2b6059f3bc. html三角形等价类列表判定类型有效等价类无效等价类一般三角形((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 V b!=c V 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 411 3 4 9 (4) 非等腰三角形12 3 3 3 (5) 等边三角形13 -1 0 1 (6) 非等边三角形答案2: /?uid-275201-action-viewspace-ite mid-218955分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果a、b 、c满足条件( 1 )~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为" 非三角形" 。
三角形组成问题构造决策表及测试用例
计算机与信息工程系课程实验报告
姓名学号班级
课程名称软件测试技术实验类型设计实验地点
指导教师实验日期实验成绩
实验名称使用决策表法设计测试用例
一、实验目的及要求
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、附录:可附加源程序代码清单等。
软件测试-三角形问题
F T T T
F T T F
F T F T
F T F F
F F T T
F F T F
F F F T
F F F F
√
√
√
√
√
√
√
√
制作者:
Page 16
决策表法
表4-12 三角形问题的初始决策表
规则
选项 条件: C1:a,b,c构成一 个三角形? C2:a=b? C3:b=c? C4:a=c? 动作: a1:非三角形 a2:一般三角形 a3:等腰三角形 a4:等边三角形 a5:不可能 √ √ √
制作者:
表4-2 三角形问题的测试用例
等价类划分法——以输出域划分等价类
以三角形问题为例,要求输入三个整数a、b、c,分 别作为三角形的三条边,取值范围在1~100之间, 判断由三条边构成的三角形类型为等边三角形、等 腰三角形、一般三角形(包括直角三角形)以及非 三角形。 在多数情况下,是从输入域划分等价类,但对于三 角形问题,从输出域来定义等价类是最简单的划分 方法。
填写条件项。
填写动作项,从而得到初始决策表。如表4-12所示。 简化决策表。合并相似规则后得到三角形问题的简化决策 表。如表4-13所示。
制作者:
Page 15
决策表法
表4-12 三角形问题的初始决策表
规则 选项 条件: C1:a,b,c构成一 个三角形? C2:a=b? C3:b=c? C4:a=c? 动作: a1:非三角形 a2:一般三角形 a3:等腰三角形 a4:等边三角形 a5:不可能 1 2 3 4 5 6 7 8
9
10
11
12
13
14
15
16
三角形测试用例
三角形测试用例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三角形问题案例
软件测试与质量保证作业一、测试问题描述输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
用边界值分析法设计测试用例。
用黑盒测试方法设计测试用例。
二、设计测试用例1. 用边界值测试方法设计测试用例用边界值分析法设计测试用例,按照下列步骤进行:(1)分析各变量取值边界值分析的基本思想是使用输入变量的最小值、略高于最小值、正常值、略低于最大值和最大值设计测试用例。
因此a,b,c的边界取值是:1,2,100,199,200。
(2)测试用例数有n个变量的程序,其边界值分析会产生4n+1个测试用例。
这里有3个变量,因此会产生13个测试用例。
(3)设计测试用例用边界值分析法设计测试用例就是使一个变量取边界值(分别取最小值、略高于最小值、正常值、略低于最大值和最大值),其余变量取正常值,然后对每个变量重复进行。
本例用边界值分析法设计的测试用例见表1-1。
表1-1 三角形问题的测试用例2. 用等价类测试方法设计测试用例(1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:a)正整数;b)三个数;c)构成一般三角形;d)构成等腰三角形;e)构成等边三角形;f)不能构成三角形(2)根据输入条件的要求划分等价类,列出等价类表并编号,如表1-2所示。
表1-2 三角形问题的等价类注:划分等价类的方式并不唯一,可根据被测对象的具体情况划分等价类。
(3) 设计测试用例,覆盖上表中的等价类,如表1-3表所示。
表1-3三角形问题的测试用例3.用基于判定表的测试方法设计测试用例(1)列出所有的条件桩和动作桩条件桩:C1:a < b + c?C2:b < a + c?C3:c < a + b?C4:a = b?C5:a = c?C6:b = c?动作桩:a1: 非三角形a2: 不等边三角形a3: 等腰三角形a4: 等边三角形a5: 不可能(2)根据输入条件和输出的关系,填写各条规则,画出判定表,如表1-4所示。
软件测试案例(三角形白盒测试)
Return3
Return1
Return2
Return0
*为1,表示普通三角形;
*为2,表示等腰三角形;
*为3,表示等边三角形。
*/
publicstaticintcomfirm(inta,intb,intc){
if((a+b>c)&&(b+c>a)&&(a+c>b)){//判断为三角形
if((a==b)&&(b==c))//判断为等边三角形
return3;
if((a==b)||(b==c)||(a==c))//判断为等腰三角形
return2;
else//判断为普通三角形
return1;
}
else{//为非三角形
return0;
}
}
}
1
二、程序流程图
①
Nห้องสมุดไป่ตู้
a+b>c&&b+c
>a&&a+c>b
YY
a==b&&b==c
N
④
a==b||b==c||现方式做保护处理对用户上传分享的文档内容本身不做任何修改或编辑并不能对任何下载内容负责
一、核心程序代码
/**判断三角形的类*/
publicclassTriangleTestMethod{
/**判断三角形的种类。参数a,b,c分别为三角形的三边,
*返回的参数值为0,表示非三角形;
实验六_三角形问题的基本路径测试
实验六三角形问题的基本路径测试一、实验目的1.掌握程序控制流图的画法。
2.掌握环路复杂度的计算方法。
3.掌握利用基本路径法进行白盒测试的方法。
二、实验任务1.理解三角形问题的命题。
三角形问题是软件测试文献中广泛使用的一个例子。
三角形问题:输入三个整数a、b和c分别作为三角形的三条边,通过程序判断有这三条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形。
主要代码如下:1.If (inta >= intb + intc)2. Or (intb >= inta + intc)3. Or (intc >= intb + inta) Then4. strMsg = "非三角形"5.Else6. If (inta = intb)7. And (intb = intc) Then8. strMsg = "等边三角形"9. Else10. If (inta = intb)11. Or (inta = intc)12. Or (intc = intb) Then13. strMsg = "等腰三角形"14. Else15. strMsg = "普通三角形"16. End If17. End If18.End If19.MsgB ox(strMsg, rmation, "三角形问题") //输出判断结果2.利用基本路径测试法对三角形问题进行测试用例设计。
三、实验步骤1.理解三角形问题中各种三角形的判断方法。
2.根据上面的代码画出程序的控制流图。
(注意:复合条件语句,需改复合条件的判断为一系列单个条件的嵌套)3.计算环路复杂度。
4.求出基本路径组合。
5.设计测试用例(按照表1的形式,设计用例)。
表1:用例设计表四、实验报告要求1.实验报告中“实验内容”应包含(1)程序控制流图;(2)环路复杂度计算结果;(3)基本路径集合;(4)测试用例设计(按表1填写)。
黑盒测试-三角形
黑盒测试1.实验目的:理解黑盒测试的基本方法,掌握等价类划分法和边界值方法设计测试用例。
2.实验配置:(1)PC机一套,要求安装windows操作系统、Virtul Studio6.0、java等工具;(2)理解等价类划分法、边界值分析法的思想,划分依据;(3)熟悉上述方法测试用例设计的理论。
3.实验内容:1)输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c,必须满足以下条件:1≤a≤100;1≤b≤100;1≤c≤100。
要求:a.大家用自己熟悉的编程语言,实现上面问题的描述。
b.请用等价类设计测试用例。
4.实验步骤:(1)三角形问题1) 编写程序,实现三角形问题。
要求实验输入输出如图所示:(2)设计测试用例用等价类分析法设计测试用例。
按照输入条件和输出形式划分等价类输入条件:可以从以下四个方面划分等价类:三个数,整数,非0数,正数输出条件:可以划分为一个等价类,一般三角形,等腰三角形,等边三角形,不构成三角形。
写出测试报告,如下表所示:5.实验总结:1、大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误;2、使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
软件测试-三角形问题
输入满足三角形条件的最大值(根据系统设 定),如1000,1000,1000(假设系统允许 的最大边长为1000),预期结果为等边三角形。
04 测试用例设计
测试用例的概念和作用
概念:测试用例是为特定的目的而设计的一组测试输入 、执行条件和预期结果。它们用于验证软件产品是否满 足特定的功能、性能或安全要求。 提供标准化的测试方法,确保测试的一致性和可重复性 。
评估软件质量
根据测试结果和缺陷分析情况,对软件质量进行评估。如果软件存在较多严重缺陷或测试 用例通过率较低,则需要加强测试和质量把控。同时,将评估结果反馈给开发团队和产品 经理等相关人员,以便他们了解软件质量情况并作出相应决策。
06 软件测试的挑战与解决方 案
软件测试面临的挑战
01
复杂性和多样性
03 三角形问题测试方法
等边三角形测试
输入三条边长相等的数值,如3,3, 3,预期结果为等边三角形。
输入两条边长相等的数值和一条不相等 的数值,如3,3,4,预期结果不为等 边三角形。
等腰三角形测试
输入两条边长相等的数值和一条不相等的数值,如3,3,2, 预期结果为等腰三角形。
输入三条边长均不相等的数值,如3,4,5,预期结果不为等 腰三角形。
自动化测试
使用自动化工具对软件进行测 试,提高测试效率和准确性。
软件测试的原则和流程
尽早介入
在软件开发早期就介入测试,以便尽早发现问题并修复。
全面覆盖
确保测试用例覆盖所有功能和场景,包括正常和异常情况。
软件测试的原则和流程
可重复性
确保测试用例可重复执行,以便在修复问题后重新验证。
持续改进
不断优化测试过程和测试用例,提高测试效率和质量。
软件测试经典三角形案例
软件测试-黑盒测试例子一、等价类划分问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)解:分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号覆盖有效等价类的测试用例:a b c覆盖等价类号码3 4 5(1)--(7)4 4 5(1)--(7),(8)4 5 5(1)--(7),(9)5 4 5(1)--(7),(10) 4 4 4(1)--(7),(11)覆盖无效等价类的测试用例:二、边界值分析法NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
三、错误推测法测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:I.输入的线性表为空表;II.表中只含有一个元素;III.输入表中所有元素已排好序;IV.输入表已按逆序排好;V.输入表中部分或全部元素相同。
三角形问题的三种测试方式-----边界值测试,等价类测试、决策表测试
三角形问题的三种测试方式--边界值测试,等价类测试、决策表测试一.方法简介1. 定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
2. 与等价划分的区别1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
3. 边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
4. 常见的边界值1) 对16-bit 的整数而言32767 和-32768 是边界2) 屏幕上光标在最左上、最右下位置3) 报表的第一行和最后一行4) 数组元素的第一个和最后一个5) 循环的第0 次、第1 次和倒数第2 次、最后一次5. 边界值分析1) 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
例:测试计算平方根的函数--输入:实数--输出:实数--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。
2) 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
软件测试与质量保证作业1三角形问题案例
软件测试与质量保证作业一、测试问题描述输入三个整数a b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c,必须满足以下条件: 1 < a药0 ; 1 < b < 200 ; 1 < c < 200。
用边界值分析法设计测试用例。
用黑盒测试方法设计测试用例。
二、设计测试用例1. 用边界值测试方法设计测试用例用边界值分析法设计测试用例,按照下列步骤进行:(1)分析各变量取值边界值分析的基本思想是使用输入变量的最小值、略高于最小值、正常值、略低于最大值和最大值设计测试用例。
因此a, b , c的边界取值是:1, 2, 100 , 199 , 200。
(2)测试用例数有n个变量的程序,其边界值分析会产生4n+1个测试用例。
这里有3个变量,因此会产生13个测试用例。
(3)设计测试用例用边界值分析法设计测试用例就是使一个变量取边界值(分别取最小值、略高于最小值、正常值、略低于最大值和最大值),其余变量取正常值,然后对每个变量重复进行。
本例用边界值分析法设计的测试用例见表1-1 O2. 用等价类测试方法设计测试用例(1) 首先分析题目中给出的条件和隐含的输入要求,输入条件如下:a) 正整数;b) 三个数;c) 构成一般三角形;d) 构成等腰三角形;e) 构成等边三角形;f) 不能构成三角形(2) 根据输入条件的要求划分等价类,列出等价类表并编号,如表1-2 所示。
表1-2三角形问题的等价类注:划分等价类的方式并不唯一,可根据被测对象的具体情况划分等价类。
(3) 设计测试用例,覆盖上表中的等价类,如表1-3表所示3•用基于判定表的测试方法设计测试用例(1) 列出所有的条件桩和动作桩条件桩C1: a < b + c?C2: b < a + c?C3: c < a + b?C4: a= =b?C5: a= =c?C6: b= =c?动作桩•a1:非三角形a2:不等边三角形a3:等腰三角形a4:等边三角形a5:不可能(2) 根据输入条件和输出的关系,填写各条规则,画出判定表,如表1-4所示(3) 设计测试用例,覆盖判定表中的各条规则。
黑盒测试三角形 (2)
黑盒测试三角形简介黑盒测试是一种软件测试方法,通过检查软件的输入和输出,而无需关注内部的实现细节。
本文将介绍如何进行黑盒测试,并以三角形的判定为例进行详细说明。
三角形判定规则在进行三角形测试之前,我们首先需要了解三角形的定义和判定规则。
三角形是由三条边组成的图形,它有以下几个特征: - 三边之和大于第三边 -两边之差小于第三边 - 三边的长度分别为a、b、c,其中a、b、c均大于0根据三角形的三边长度,可以将三角形分为以下几种情况: - 等边三角形:三边长度相等 - 等腰三角形:两边长度相等 - 直角三角形:有一个角为90度 - 钝角三角形:三个角均大于90度 - 锐角三角形:三个角均小于90度黑盒测试方法黑盒测试的目的是检查软件的功能是否按照预期工作,它不关心具体的代码实现,而是从输入和输出的角度出发进行测试。
下面是一些常用的黑盒测试方法:等价类划分等价类划分是一种常用的黑盒测试方法,它将测试用例分为几个等价类,每个等价类代表一个功能的特定条件。
测试用例选择一个等价类进行测试即可,通过这个等价类的测试用例可以代表整个等价类的测试结果。
在三角形判定中,我们可以将输入的三个边长分为以下几个等价类: - 有效等价类:满足三角形判定规则的三个边长组合 - 无效等价类:不满足三角形判定规则的三个边长组合边界值分析边界值分析是一种考虑输入值的边界情况的黑盒测试方法。
通常,边界值是最小输入和最大输入,以及最小输入减去或最大输入加上1的情况。
在三角形判定中,我们可以选择以下边界值进行测试: - 最小输入:三个边均为0 - 边界输入:三个边中有一个边等于1,另外两个边等于最大允许值 - 最大输入:三个边均为最大允许值错误推测法错误推测法是一种根据错误、故障和失败的经验推测可能存在的错误并进行测试的方法。
通过推测错误并进行测试,可以发现软件中可能存在的隐藏错误。
在三角形判定中,我们可以通过错误推测法选择一些可能存在的错误进行测试,例如: - 输入的边长度数据类型错误 - 输入的边长度超出了合理范围 - 输入的边长度顺序错误三角形测试用例根据上述的黑盒测试方法,我们可以选择一些测试用例进行三角形判定的测试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三角形测试用例
题目:输入三个数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] 无效等价类错误提示。