三角形测试(测试用例)

合集下载

三角形测试实验报告

三角形测试实验报告

课程名称软件质量保证与测试实验项目名称三角型问题白盒测试实验时间(日期及节次)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)..语句覆盖:语句覆盖可以保证程序中的每个语句都得到执行。

isTriangle三角形测试用例

isTriangle三角形测试用例
等边三角形
等边三角形
8
3、编写程序isTriangle,根据测试用例对程序进行测试。
Y
Y
N
Y
Y
Y
Y
Y
C3
c + a > b
N
Y
Y
Y
Y
Y
Y
Y
C4
a = b
_
_
_
N
Y
_
N
Y
C5
b = c
_
_
_
N
N
Y
_
Y
C6
c = a
_
_
_
N
_
N
Y
Y
动作项
A1
非三角形
X
X
X
A2
一般三角形
X
A3
等腰三角形
X
X
X
A4
等边三角形
X
2、根据判定表编写针对程序isTriangle的测试用例。
编号
输入数据
预期输出
实际输出
实训七
1、现有一程序isTriangle,根据输入的3条边的边长,判断是否能够成一个三角形,如果能构成三角形,再判断是等腰三角形还是等边三角形,请制定针对该程序的判定表(为简单起见,约定输入的边长只能是大于0的数)。
ID
名称
1
2
3
4
5
6
7
8
条件项
C1
a + b > c
Y
N
Y
Y
Y
Y
Y
Y
C2
b+ c > a
测试结果
覆盖的规则
a

三角形判断函数的各种测试用例(学生练习模板)

三角形判断函数的各种测试用例(学生练习模板)

程序源码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 ,分别作为三角形的3条边(假定a,b,c在1——100之间取值。

),通过程序判断由这三条边构成的三角形是:等边三角形、等腰三角形、一般三角形或非三角形(不能构成三角形)。

问题分析:
假定a,b,c在1——100之间取值,三角形问题可以详细描述为:
输入3个整数a,b,c,分别作为三角形的三条边,要求a,b,c必须满足下列条件:
C1:a在1到100之间
C2:b在1到100之间
C3:c在1到100之间
C4:a<b+c
C5:b<a+c
C6:c<b+a
输出:
如果不满足前3个条件(C1-C3),则输出“请输入1到100之间的整数”;
如果满足前3个条件,则输出下面4种情况:
(1)如果不满足条件C4-C6中的一个,则输出“非三角形”
(2)如果三条边相等,则程序输出为“等边三角形”
(3)如果恰好有两条边相等,则输出为“等腰三角形”
(4)如果三条边都不相等,则输出为“一般三角形”
设计覆盖上述等价类的测试用例:。

三角形测试用例设计

三角形测试用例设计

三角形测试用例设计作者:ღ王正也ღ某程序规定:"输入三个整数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),则程序输出为" 非三角形" 。

软件测试-三角形问题

软件测试-三角形问题

9
10
11
12
13
14
15
16
T T T T
T T T F
T T F T
T T F F
T F T T
T F T F
T F F T
T F F F

√ √ √ √
制作者:
Page 18
决策表法
根据决策表4-13,可设计测试用例,如表4-14所示。
表4-14 三角形问题的决策表测试用例 测试用例 Test Case 1 Test Case 2 Test Case 3 Test Case 4 Test Case 5 Test Case 6 Test Case 7 Test Case 8 Test Case 9 a 10 4 ? ? 4 ? 5 4 3 b 4 4 ? ? 4 ? 4 5 4 c 4 4 ? ? 5 ? 4 4 5
三个数
1
整数
2
取值范围 在1~100
3
三个数 整数 1≤a≤100 1≤b≤100 1≤c≤100 4,5,6
12
13 14 15 16 17 18
Page 5
三边为00,0,0
一边小于0-1,7,8 两边小于0-9,-,1,6 三边小于0-1,-2,-8 一边大于100101,56,50 两边大于100101,107,89 三边大于100101,109,176
制作者:
表4-2 三角形问题的测试用例
等价类划分法——以输出域划分等价类
以三角形问题为例,要求输入三个整数a、b、c,分 别作为三角形的三条边,取值范围在1~100之间, 判断由三条边构成的三角形类型为等边三角形、等 腰三角形、一般三角形(包括直角三角形)以及非 三角形。 在多数情况下,是从输入域划分等价类,但对于三 角形问题,从输出域来定义等价类是最简单的划分 方法。

白盒测试基本路径法实训报告三角形

白盒测试基本路径法实训报告三角形

白盒测试基本路径法实训报告三角形本次实训我选择了使用白盒测试基本路径法对三角形程序进行测试。

1. 程序代码下面是被测试的三角形程序的代码:```#include <stdio.h>#include <stdlib.h>int triangle(int a, int b, int c){if (a <= 0 || b <= 0 || c <= 0) {return 0;}if (a + b <= c || b + c <= a || c + a <= b) {return 0;}if (a == b && b == c) {return 1;}if (a == b || b == c || c == a) {return 2;}}int main(){int a, b, c;printf("Please input the length of three sides: ");scanf("%d %d %d", &a, &b, &c);int t = triangle(a, b, c);if (t == 0) {printf("Not a triangle.");} else if (t == 1) {printf("Equilateral triangle.");} else if (t == 2) {printf("Isosceles triangle.");} else {printf("Scalene triangle.");}}```2. 基本路径设计为了得到程序的所有可能执行路径,我们首先需要构建其控制流程图。

下面是三角形程序的控制流程图:![三角形程序控制流程图](https://i.imgurXXX/srVwOPI.png) 我们可以通过该图来得到程序的基本路径:1. 1-2-3-142. 1-2-4-5-6-8-9-10-11-12-13-143. 1-2-4-5-6-7-8-9-10-11-12-13-143. 测试用例设计根据基本路径,我们需要设计测试用例来覆盖所有的基本路径。

软件测试与质量保证作业1三角形问题案例

软件测试与质量保证作业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所示。

软件测试-三角形问题

软件测试-三角形问题

输入满足三角形条件的最大值(根据系统设 定),如1000,1000,1000(假设系统允许 的最大边长为1000),预期结果为等边三角形。
04 测试用例设计
测试用例的概念和作用
概念:测试用例是为特定的目的而设计的一组测试输入 、执行条件和预期结果。它们用于验证软件产品是否满 足特定的功能、性能或安全要求。 提供标准化的测试方法,确保测试的一致性和可重复性 。
评估软件质量
根据测试结果和缺陷分析情况,对软件质量进行评估。如果软件存在较多严重缺陷或测试 用例通过率较低,则需要加强测试和质量把控。同时,将评估结果反馈给开发团队和产品 经理等相关人员,以便他们了解软件质量情况并作出相应决策。
06 软件测试的挑战与解决方 案
软件测试面临的挑战
01
复杂性和多样性
03 三角形问题测试方法
等边三角形测试
输入三条边长相等的数值,如3,3, 3,预期结果为等边三角形。
输入两条边长相等的数值和一条不相等 的数值,如3,3,4,预期结果不为等 边三角形。
等腰三角形测试
输入两条边长相等的数值和一条不相等的数值,如3,3,2, 预期结果为等腰三角形。
输入三条边长均不相等的数值,如3,4,5,预期结果不为等 腰三角形。
自动化测试
使用自动化工具对软件进行测 试,提高测试效率和准确性。
软件测试的原则和流程
尽早介入
在软件开发早期就介入测试,以便尽早发现问题并修复。
全面覆盖
确保测试用例覆盖所有功能和场景,包括正常和异常情况。
软件测试的原则和流程
可重复性
确保测试用例可重复执行,以便在修复问题后重新验证。
持续改进
不断优化测试过程和测试用例,提高测试效率和质量。

软件测试 三角形的黑白盒测试word文档良心出品

软件测试 三角形的黑白盒测试word文档良心出品

三角形黑盒测试1
三角形白盒测试
、核心程序代码
/** 判断三角形的类*/
public class TriangleTestMethod {
* 返回的参数值为0 ,表示非三角形;
* 为1,表示普通三角
形;
* 为2,表示等腰三角
形;
* 为3,表示等边三角
形。

*/
public static int comfirm( int a, int b, int c) {
if ((a + b > c) && (b + c > a) && (a + c > b)) { // 判断为三角

if ((a == b) && (b ==c)) // 判断为等边三角

return 3;
if ((a == b) || (b == c) || (a == c)) // 判断为等腰三角形
return 2;
else // 判断为普通三角形
return 1;
else { // 为非三角形
return 0;
、程序流程图
/** 判断三角形的种类。

参数a, b, c分别为三角形的三边,
三、测试用例
1.语旬st盖觑试用例:
艺判定Sfi测试用例I
3•条件aa测试用例
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.输入表中部分或全部元素相同。

基于决策表的测试三角形问题

基于决策表的测试三角形问题

基于决策表的测试三角形问题基于决策表的测试(三角形问题)2010-06-25 01:49决策表,也叫判定表。

在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。

人们使用两种密切关联的方法:因果图法和决策表格法。

与决策表相比,这两种方法使用起来更麻烦,并且全冗余。

决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。

在程序设计发展的初期,决策表就已被用作编写程序的辅助工具了。

它可以把复杂的逻辑关系和多种条件组合的情况表达得比较明确。

1、决策表的组成决策表通常由4个部分组成,如下图:●条件桩(condition stub):列出了问题的所有条件。

通常认为列出的条件的次序无关紧要。

●动作桩(action stub):列出了问题规定可能采取的操作。

这些操作的排列顺序没有约束。

●条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。

●动作项(action entry):列出在条件项的各种取值情况下应该采取的动作。

●规则:任何一个条件组合的特定取值及其相应要执行的操作。

在决策表中贯穿条件项和动作项的一列就是一条规则。

显然,决策表中列出多少组条件取值,也就有多少规则,条件项和动作项就有多少列。

2、决策表建立决策表的建立应该根据软件规格说明,步骤如下:①确定规则的个数。

假如有n个条件,每个条件有两个取值(0,1),故有2n种规则。

②列出所有的条件桩和动作桩。

③输入条件项。

④填入动作项。

制定初始决策表。

⑤简化。

合并相似规则或者相同动作。

Beizer(《Software Testing Techniques》的作者)指出了适合使用决策表设计测试用例的条件:①规格说明以决策表的形式给出,或很容易转换成决策表。

②条件的排列顺序不影响执行哪些操作。

③规则的排列顺序不影响执行哪些操作。

④当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。

三角形测试(测试用例)(word文档良心出品)

三角形测试(测试用例)(word文档良心出品)

三角形测试用例题目:输入三个数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#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("直角三角形");elseprintf("普通三角形");}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+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] 无效等价类错误提示。

三角形黑盒测试技术实验报告

三角形黑盒测试技术实验报告
{
MessageBox.Show("能组成等边三角形");
}
else if (b1 == b2||b2 == b3||b1 == b3)
{
MessageBox.Show("能组成等腰三角形");
}else{
MessageBox.Show("能组成普通三角形");
}
}
四、设计测试用例
1.用边界值测试方法设计测试用例 用边界值分析法设计测试用例,按照下列步骤进行: (1) 分析各变量取值
{
string
numbera =
"a"
string
numberb =
"b"
string
numberc =
"c"
String
txta = txtA.Text;
String txtb = txtB.Text;
String txtc = txtC.Text;
//输入值是否正确的判断
judgeInput(txta, numbera);
无效输入
2.用等价类测试方法设计测试用例
(1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:答:1<=a<=200;1<=b<=200;1<=c<=200;一般三角形:(a+b)>c&&(a+c)>b&&(b+c)>a;等腰三角形:b=c||a=c||a=b;
(2)根据输入条件的要求划分等价类,列出等价类表并编号
输入条件
有效等价类
无效等价类
1.1<=A<=200

三角形组成问题构造决策表及测试用例

三角形组成问题构造决策表及测试用例

计算机与信息工程系课程实验报告
姓名学号班级
课程名称软件测试技术实验类型设计实验地点
指导教师实验日期实验成绩
实验名称使用决策表法设计测试用例
一、实验目的及要求
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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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] 无效等价类错误提示。

相关文档
最新文档