判定三角形的程序及黑盒白盒测试

合集下载

软件测试-判断三角形形状路径白盒测试

软件测试-判断三角形形状路径白盒测试

三角形白盒测试要求要求:,其他1 ) 自备 C 语言程序(可从 C 语言程序设计的教科书上摘录若干典型程序C++ 、C# 、Java 程序均可);#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a,b,c;printf(" 输入三角形的三个边 :");scanf("%d %d %d",&a,&b,&c);if(a<=0||b<=0||c<=0)printf(" 不符合条件,请重新输入 a,b,c\n");else if(a+b<=c||abs(a-b)>=c)printf("不是三角形\n");else if(a==b&&a==c&&b==c)printf("这个图为等边三角形\n");else if(a==b||a==c||b==c)printf("这个图为等腰三角形\n");elseprintf("这个图为一般三角形\n");2)根据该程序绘制对应的程序流程图;/ 幟沖迈〃軾已等堆卄琳::矗歴# 输山养赠〃诚日等山/ / 输出水呈/3)分别根据程序流程图给出符合语句覆盖、判定覆盖、条件覆盖、路径覆盖以及判定/条件覆盖和条件组合覆盖的的测试用例以及预期的运行结果;语句覆盖判断覆盖条件覆盖判定1 : 1-1(a<=0) 1-2(b<=0) 1-3(c<=0)判定2: 2-1(a+b<=c) 2-2(|a-b|>=c) 判定3: 3-1(a==b)判定4: 4-1(a==c)判定5: 5-1(a==c)判定 6: 6-1(b==c)判定/条件覆盖、条件组合覆盖、路径覆盖4)根据程序流程图画出流图,并确定线性独立路径的基本集合,然后给出符合各集合的测试用例;路径1: 1-2-3路径2: 1-2-4-5-7-9-12-13路径3: 1-2-4-5-7-9-10-13路径4: 1-2-4-5-7-10-13 路径5: 1-2-4-5-8-10-13。

黑盒测试用例设计案例(判三角形)

黑盒测试用例设计案例(判三角形)

黑盒测试用例设计案例(判三角形)【例1】假设现有以下的三角形分类程序。

该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。

如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。

图9.11显示了该程序的流程图和程序图。

为以上的三角形分类程序设计一组测试用例。

【解】第一步:确定测试策略。

在本例中,对被测程序的功能有明确的要求,即:(1)判断能否组成三角形;(2)识别等边三角形;(3)识别等腰三角形;(4)识别任意三角形。

因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。

第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。

等价分类法:有效等价类输入3个正整数:(1)3数相等(2)3数中有2个数相等,比如AB相等(3)3数中有2个数相等,比如BC相等(4)3数中有2个数相等,比如AC相等(5)3数均不相等(6)2数之和不大于第3数,比如最大数是A(7)2数之和不大于第3数,比如最大数是B(8)2数之和不大于第3数,比如最大数是C无效等价类:(9)含有零数据(10)含有负整数(11)少于3个整数(12)含有非整数(13)含有非数字符边界值法:(14)2数之和等于第3数猜错法:(15)输入3个零(16)输入3个负数第三步:提出一组初步的测试用例,如下表所示:第四步:用白盒法验证第三步产生的测试用例的充分性。

结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。

三角形程序白盒测试

三角形程序白盒测试
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
请输入能构成三角形的整数。
Case35
a=’g’,b=’6’,c=’h’
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
请输入能构成三角形的整数。
Case36
a=’h’,b=’发’,c=’52’
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
a=’5.3’,b=’3.0’,c=’2.3’
请输入能构成三角形的整数。
满足:F4,T5,F6
请输入能构成三角形的整数。
Case14
a=’6’,b=’2.3’,c=’3
请输入能构成三角形的整数。
满足:T4,F5,T6
请输入能构成三角形的整数。
Case15
a=’2’,b=’3’,c=’5’
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
请输入能构成三角形的整数。
Case21
a=’1’,b=’2’,c=’3’
请输入能构成三角形的整数。
执行路径:1-2-3-4-5-7-12
请输入能构成三角形的整数。
Case22
a=’15’,b=’2’,c=’5’
请输入能构成三角形的整数。
执行路径:1-2-3-4-5-7-12
Case1
a=’三’,b=’角’,c=’形’
请输入能构成三角形的整数。
执行路径:1-2-3-7-12
请输入能构成三角形的整数。
Case2
a=’5’,b=’2’,c=’2’
请输入能构成三角形的整数。
执行路径:1-2-3-4-5-6-9-10-12
请输入能构成三角形的整数。
Case3

判定三角形地程序及黑盒白盒测试

判定三角形地程序及黑盒白盒测试

黑盒白盒测试学院:计算机科学与工程专业:软件工程姓名:张子晗学号: 152210702236软件测试计划测试目的1. 练习并掌握软件测试管理的一般过程与步骤2. 掌握测试管理的人工过程和能通过相关管理软件实现以下操作:1) 创建和管理多个测试组和用户2) 配置测试环境,编写详细测试计划,安排测试进度3) 实施测试,执行测试4) 对测试进行评估测试题目关于三角形问题的测试测试方法1. 对于主题进行黑盒测试,测试内容包括等价类划分测试,边界值分析测试,决策表方法使用。

2. 对于主题进行白盒测试,测试内容包括语句覆盖测试,分支覆盖测试,条件覆盖测试,分支/ 条件覆盖测试,条件组合覆盖测试以及基本路径测试。

测试资料1. 黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。

很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

2. 白盒测试:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。

"白盒 "法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

"白盒 "法是穷举路径测试。

在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

贯穿程序的独立路径数是天文数字。

采用什么方法对软件进行测试呢 ?常用的软件测试方法有两大类 :静态测试方法和动态测试方法。

黑盒测试-三角形

黑盒测试-三角形

黑盒测试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、使用边界值分析方法设计测试用例,首先应确定边界情况。

通常输入和输出等价类的边界,就是应着重测试的边界情况。

应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

黑盒测试-三角形

黑盒测试-三角形

黑盒测试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、使用边界值分析方法设计测试用例,首先应确定边界情况。

通常输入和输出等价类的边界,就是应着重测试的边界情况。

应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

软件测试判断三角形形状白盒测试黑盒测试

软件测试判断三角形形状白盒测试黑盒测试

淮海工学院计算机工程学院实验报告书课程名:《软件工程导论》题目:软件测试学号: 511020825姓名:薛思雨一、实验目的与要求1、掌握软件测试2、掌握白盒测试方法3、掌握黑盒测试方法(边界值分析和等价类划分)4、掌握自动化测试软件和方法二、实验内容或题目1)试画出:给定四边形的四条边,判断这个四边形是普通四边形、平等四边形、菱形的流程图,给出详细设计结果与C语言代码,对其使用白盒和黑盒测试技术分别设计测试用例(包括所有白盒测试的覆盖、黑盒测试的边界值分析与等价类划分)。

然后,使用测试用例进行实际测试,并给出测试结果;(或输入三条边,判断三条边组成的图形是一般三角形、等腰三角形、直角三角形、等边三角形,亦或不能构成三角形,其它要求同四边形)2)了解一些典型的自动化测试软件和方法,建议有条件可下载、安装Mercury Interactive公司的负载测试工具LoadRunner、功能测试工具WinRunner和测试管理工具TestDirector;IBM-Rational公司的测试套件Rational Suite TestStudio的Rational Robot、Rational TestManagerhe、Rational Quantify等工具,了解软件的使用方法。

3) 课内认真完成实验报告,禁止抄袭。

三、实验步骤与源程序第一题:1. 根据题目画流程图核心流程图:源代码:#include<stdio.h>void main(void){int a,b,c,k;printf("请输入三角形的三边长(0-100):");scanf("%d %d %d",&a,&b,&c);if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) {if((a+b>c)&&(a+c>b)&&(b+c>a)){if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=b))k=1;if(a==b&&a==c)k=2;if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))k=3;switch(k){case 1:printf("等腰三角形\n");break;case 2:printf("等边三角形\n");break;case 3:printf("直角三角形\n");break;default:printf("一般三角形\n");break;}}elseprintf("不能构成三角形\n");}elseprintf("警告:无效输入!!\n");}第二题:1.打开虚拟机,启动Windows XP Professional。

软件测试案例(三角形白盒测试)讲解学习

软件测试案例(三角形白盒测试)讲解学习

软件测试案例(三角形白盒测试)一、核心程序代码/** 判断三角形的类*/public class TriangleTestMethod {/** 判断三角形的种类。

参数a, b, c分别为三角形的三边,* 返回的参数值为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;}}}1②二、程序流程图①Na +b >c && b +c > a && a + c > bYYa ==b && b ==cN④a ==b || b ==c ||a == cNY③⑥⑦⑤R et ur n 3Ret ur n 1R et ur n 2Ret ur n 0E xit三、测试用例1.语句覆盖测试用例:输入期望输出覆盖对象测试结果Case1a=1, b=2, c=30①, ⑤0Case2a=3, b=4, c=51①, ②, ④, ⑥1Case3a=3, b=3, c=42①, ②, ④, ⑦2Case4a=3, b=4, c=53①, ②, ③32.判定覆盖测试用例输入期望输出覆盖对象测试结果Case11a=1, b=2, c=30①, ⑤0Case12a=3, b=4, c=51①, ②, ④, ⑥1Case13a=3, b=3, c=42①, ②, ④, ⑦2Case14a=3, b=4, c=53①, ②, ③33.条件覆盖测试用例输入期望输出覆盖对象测试结果Case5a=1, b=6, c=70F1, T2, T30Case6a=7, b=1, c=60T1, F2, T30Case7a=1, b=7, c=60T1, T2, F30Case8a=3, b=3, c=42T1, T2, T3,T4, F5, T6, F7,F82Case9a=3, b=4, c=32T1, T2, T3,F4, F5, F6, F7,T82Case10a=4, b=3, c=32T1, T2, T3,F4, T5, F6, T7,F824.条件-判定覆盖测试用例输入期望输出覆盖对象测试结果Case15a=1, b=6, c=70F1, T2,T3 (①,②)0Case16a=7, b=1, c=60T1, F2,T3 (①,②))0Case17a=1, b=7, c=60T1, T2,F3 (①,②)0Case18a=3, b=3, c=42T1, T2, T3,T4, F5, T6, F7,F8(①, ②, ③, ⑦)2Case19a=3, b=4, c=32 F T1, T2, T3,4, F5, F6, F7, T8(①, ②, ③, ⑦)2Case20a=4, b=3, c=32T1, T2, T3,F4, T5, F6, T7,F8(①, ②, ③, ⑦)2Case21a=3, b=3, c=33F1, T2, T3(①, ②, ③)3Case22a=3, b=4, c=51T1, F2, T3(①, ②, ④, ⑥)15.条件组合覆盖测试用例输入期望输出覆盖对象测试结果Case23a=1, b=6, c=70F1, T2, T30Case24a=7, b=6, c=10T1, F2, T30Case25a=1, b=7, c=60T1, T2, F20Case26a=3, b=3, c=33T1, T2,T3, T4, T53Case27a=3, b=3, c=42T1, T2,T3, T4,F5,2F6, F7, T8Case28a=4, b=3, c=32T1, T2,T3, F4,T5,F6, T7, F82Case29a=3, b=4, c=51T1, T2,T3, F4,F5,F6, F7, F81Case30a=3, b=4, c=32T1, T2,T3, F4,F5,F6, F7, T82备注其他条件组合,无法到达结束四、程序控制流图a +b >c Ab +c > a Ba + c > ba ==b G b == cD R et ur n 0CEF b == cHR et ur n 3IR et ur n2R et ur n 2 H JR et ur n1a == c K基本路径覆盖测试用例输入期望输出覆盖对象测试结果Case31a=1, b=6, c=70A->D0Case32a=7, b=6, c=10A->B->D0Case33a=1, b=7, c=60A->B->C->D0Case34a=3, b=3, c=33A->B->C->E->G-> H3Case35a=3, b=3, c=42A->B->C->E->G-> I2Case36a=4, b=3, c=32A->B->C->E->F-> H2Case37a=3, b=4, c=32A->B->C->E->F->J->H 2Case38a=3, b=4, c=51A->B->C->E->F->J->K1。

软件测试经典三角形案例

软件测试经典三角形案例

软件测试-黑盒测试例子一、等价类划分问:某程序规定:"输入三个整数 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.输入表中部分或全部元素相同。

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

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

黑盒测试技术—三角形问题实验报告一、问题描述输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型并输出(等边三角形、等腰三角形、一般三角形),如果不构成三角形输出不能构成三角形。

要求:(1)输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。

(2)容错处理:输入空值的提示;输入的值满足类型的提示;(3)不限制开发环境,不限制开发语言;(4)尽可能不对自己的程序进行测试设计。

(5)请分别采用边界值分析法、等价类分析法、决策表分析法、基于场景分析法设计测试用例;(6)正文格式(除源代码用小五号单倍行距),其他行距固定值20,字号小四。

二、程序主要源代码using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace software_test{public partial class FrmTest : Form{public FrmTest(){InitializeComponent();}private void btnOk_Click(object sender, EventArgs e){string numbera = "a";string numberb = "b";string numberc = "c";String txta = txtA.Text;String txtb = txtB.Text;String txtc = txtC.Text;//输入值是否正确的判断judgeInput(txta, numbera);judgeInput(txtb, numberb);judgeInput(txtc, numberc);//组成三角形的判断judgeTriangle(txta, txtb, txtc);}//判断输入是否为a数字的方法且是否有效private void judgeInput(String e,String X){int x;if (!int.TryParse(e,out x)) {String message = String.Format("{0}输入必须为整数!", X);MessageBox.Show(message);}else if (!(int.Parse(e) >= 1 && int.Parse(e) <= 200)){String message = String.Format("{0}输入必须为1到200!",X);MessageBox.Show(message);}}//判断能否组成三角形,或者组成为等腰,等边,还是普通三角形public void judgeTriangle(String x, String y, String z) {int b1=int.Parse(x);int b2=int.Parse(y);int b3=int.Parse(z);if (!(b1 + b2 > b3 && b1 + b3 > b2 && b2 + b3 > b1)){MessageBox.Show("不能组成三角形");}else if (b1 == b2 && b2 == b3){MessageBox.Show("能组成等边三角形");}else if (b1 == b2 || b2 == b3 || b1 == b3){MessageBox.Show("能组成等腰三角形");}else {MessageBox.Show("能组成普通三角形");}}}}三、程序界面(截图)四、设计测试用例1. 用边界值测试方法设计测试用例用边界值分析法设计测试用例,按照下列步骤进行:(1)分析各变量取值答:a取0,1,2,199,200,201;b取0,1,2,199,200,201;c取0,1,2,199,200,201(2)测试用例数答:18个(3)设计测试用例(给出所有测试用例)三角形问题的测试用例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)根据输入条件的要求划分等价类,列出等价类表并编号(3) 设计测试用例,覆盖上表中的等价类,如表1-3表所示。

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

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

白盒测试基本路径法实训报告三角形一、实验目的通过使用白盒测试基本路径法,对三角形程序进行测试,掌握基本路径法的测试方法和技巧,提高软件测试的能力。

二、实验环境1.操作系统:Windows 102.开发工具:Visual Studio 2019三、实验步骤1.分析程序三角形程序的功能是判断三个数是否能组成三角形,并返回三角形的类型。

程序的代码如下:```#include <stdio.h>int main(){int a, b, c;printf("请输入三个数:");scanf("%d%d%d", &a, &b, &c);if (a + b > c && a + c > b && b + c > a){if (a == b && b == c){printf("这是一个等边三角形");}else if (a == b || a == c || b == c) {printf("这是一个等腰三角形");}else{printf("这是一个普通三角形");}}else{printf("这不是一个三角形");}return 0;}```2.确定基本路径根据程序的控制流图,可以确定程序的基本路径如下:1-2-3-4-5-6-7-8-9-10-11-12-13-141-2-3-4-5-6-7-8-9-10-11-12-151-2-3-4-5-6-7-8-9-10-11-161-2-3-4-5-6-7-8-9-171-2-3-4-5-6-7-181-2-3-4-5-191-2-3-4-201-2-3-211-2-221-233.设计测试用例根据基本路径,设计测试用例如下:测试用例1:a=3, b=4, c=5测试用例2:a=2, b=2, c=2测试用例3:a=1, b=2, c=3测试用例4:a=0, b=0, c=0测试用例5:a=1, b=1, c=2测试用例6:a=1, b=2, c=1测试用例7:a=2, b=1, c=1测试用例8:a=1, b=0, c=1测试用例9:a=1, b=1, c=0测试用例10:a=0, b=1, c=14.执行测试用例根据设计的测试用例,执行测试如下:测试用例1:a=3, b=4, c=5输出结果:这是一个普通三角形测试用例2:a=2, b=2, c=2输出结果:这是一个等边三角形测试用例3:a=1, b=2, c=3输出结果:这不是一个三角形测试用例4:a=0, b=0, c=0输出结果:这不是一个三角形测试用例5:a=1, b=1, c=2输出结果:这不是一个三角形测试用例6:a=1, b=2, c=1输出结果:这是一个等腰三角形测试用例7:a=2, b=1, c=1输出结果:这是一个等腰三角形测试用例8:a=1, b=0, c=1输出结果:这不是一个三角形测试用例9:a=1, b=1, c=0输出结果:这不是一个三角形测试用例10:a=0, b=1, c=1输出结果:这不是一个三角形5.总结通过使用白盒测试基本路径法,对三角形程序进行了测试,并得出了测试结果。

三角形判断-白盒测试

三角形判断-白盒测试

三⾓形判断-⽩盒测试关于三⾓形问题的⽩盒测试实验报告⼀、实验⽬的1、系统地学习和理解⽩盒测试的基本概念、原理,掌握⽩盒测试的基本技术和⽅法;2、通过实验和应⽤,逐步提⾼和运⽤⽩盒测试技术解决实际测试问题的能⼒。

3、掌握决策表和因果图的测试⽤例设计⽅法⼆、实验内容1、题⽬内容描述针对实验⼀编写的源代码进⾏⽩盒测试。

要求绘制出程序的控制流图,采⽤逻辑覆盖和基路径⽅法设计测试⽤例。

执⾏测试⽤例,并分析测试结果。

可以使⽤C++Test对代码进⾏静态检查和动态测试。

2、测试⽤例的编写根据条件绘制程序流程图如下:由程序流程图得如下控制流图:采⽤逻辑覆盖设计测试⽤例并执⾏测试⽤例:(1)语句覆盖:(2)判定覆盖(3)条件覆盖:(4)判定-条件覆盖:(5)条件组合覆盖:(6)路径覆盖:基路径⽅法设计测试⽤例并执⾏测试⽤例:三、测试结果分析经过以上测试发现:程序⽆法结束,达不到预测结果。

其余均能正确执⾏达到预期结果。

四、实验思考通过本次试验,对C++test⼯具有了⼀定的认识,学会了⼀些基本的⽤法和操作,⽤该⼯具测出了⼀些代码规范的问题,能够分析测试结果了。

本实验⽤两种⽅法对程序进⾏测试,从中可看出,基路径测试⽐逻辑覆盖测试过程简单,但是没有逻辑覆盖测试的效果好。

所以,我觉得应该更加熟悉两种测试⽅法的特⾊,以便在以后的测试中能更快更准确的选择测试⽅法,快速测试,找到程序中的错误。

附录:程序代码#include "iostream.h"#include "stdio.h"void Judge(int m_num1,int m_num2,int m_num3){while(scanf("%d %d %d",&m_num1,&m_num2,&m_num3)!=EOF){if(!(m_num1+m_num2<=m_num3 || m_num1+m_num3<=m_num2 || m_num2+m_num3<=m_num1)) {if (m_num1==m_num2 && m_num1==m_num3)cout<<"等边三⾓形"<else if (m_num1==m_num2 || m_num1==m_num3 || m_num2==m_num3)cout<<"等腰三⾓形"<elsecout<<"⼀般三⾓形"<}else{cout<<"不是三⾓形"<}}}void main(){int a,b,c;Judge(a,b,c); }。

三角形程序白盒测试

三角形程序白盒测试

三角形判断问题白盒测试一、问题描述针对三角形的形状判定程序设计测试用例,进行白盒测试。

假定这里构成三角形的边取值只能为整数。

程序判定的类型有:二、实验目的(1)掌握白盒测试的原理;(2)掌握使用逻辑覆盖和基路径测试等设计测试用例的方法;(3)掌握单元测试的方法步骤;(4)掌握控制流图的画法和通过控制流图找出基路径的方法。

三、实验环境平台:win10 64位环境:Eclipse(neon版本)四、实验过程(一)编写判定三角形类别的程序:核心代码:public static int DefiniteShape(int a,int b,int c) {if ((a+b>c)&&(b+c>a)&&(a+c>b)){//判断可以构成三角形if((b==c)&&(a==b)){return 1;//等边三角形}if((a==b)||(b==c)||(c==a)){return 2;//等腰三角形}return 3;//普通三角形}return 0;//非三角形}主函数调用代码:shape = DefiniteShape(a,b,c);if(shape==0){System.out.println("输入数据不能构成三角形!");}else if(shape==1){System.out.println("等边三角形!");}else if(shape==2){System.out.println("等腰三角形!");}else if(shape==3){System.out.println("普通三角形!");}(二)画出程序流程图:(三)画出控制流图:(四)逻辑覆盖测试:条件有:1)a为数字2)b为数字3)c为数字4)a为整数5)b为整数6)c为整数7)a+b>c8)b+c>a9)a+c>b10)a==b11)b==c12)a==c所有测试用例(覆盖率达到100%)五、编写测试代码基本思路:将测试用例存入txt文件→读文件→判断→输出(注:文档可能无法思考全面,请浏览后下载,供参考。

经典三角形白盒黑盒测试加测试工具

经典三角形白盒黑盒测试加测试工具

22 }23 }else{24SetDlgItemText(IDC_RESULT, "不能构成三角形");25 }2.3.4程序控制图2.3.5圈复杂度V(G)=37(条边)-27(个节点)+2=12Table 1myDlg:OnButton2的函数流程图3. 度量元检测结果Table 2 函数度量元检测结果4. 函数质量标准检测结果Table 3 函数质量标准检测结果5. 系统度量元检测结果Table 4 系统度量元检测结果6.类度量元的检测结果Table 5 类度量元的检测结果7.类质量准则的检测结果Table 6 类质量准则的检测结果8. 父类、子类之间的派生关系Table 7父类、子类之间的派生关系9.类与类之间的使用关系Table 8类与类之间的使用关系2.4.2RuleChecker项目1.代码检测结果Table 9 代码检测结果2.查看不符合规范的代码Table 10 查看不符合规范的代码3. RuleChecker的检测报告参见” RuleChecker Report”文件夹下的SanJiaoXingRuleCheckerrule.html2.4.3TestChecker项目由于项目名称为中文,配置TestChecker项目的时候,出现乱码,该测试未完成.2.5黑盒测试2.5.1功能测试测试目标➢测试三角形测试.exe测试范围➢测试输入值是否满足条件➢测试输出结果是否满足设说明开始标准➢白盒测试完成完成标准➢所有功能都能按照设计文档的要求➢测试报告提交给程序开发人员修改,并作进一步测试测试重点和优先级➢输入的参数是否正确➢输出的结果是否符合设计文档预期结果2.5.2测试方法测试目标➢测试”三角形测试”程序是否能够正常运行并符合预期结果测试范围➢软件执行的整个过程测试方法➢等价划分➢边界值分析开始标准➢有详细设计,软件编码已完成完成标准➢所有设计的用例都测试通过2.5.3等价划分根据用例描述,输入的三条边的取值范围为[1,100]Table 11 三角形测试录制的基本过程Table 12 添加一个标准检查点Table 13 参数化A,B.C和输出结果Table 14 由QTP生成的测试报告2.6.2 录制脚本二: SanJiaoXingQTPTest2录制了一段脚本,保存在” SanJiaoXingQTPTest2”文件夹下e)录制一个基本过程,弹出的小窗口中的警告信息上添加一个标准检查点f)参数化边A,B,C和标准检查点的值,分别存在在全局表sideA,sideB,sideC,Result中.g)回放录制过程h)分析生成的测试报告Table 15三角形测试录制的基本过程Table 16 添加一个标准检查点Table 17参数化A,B.C和输出结果Table 18由QTP生成的测试报告最后一个Row14未通过,是由于Row13测试完后,没有数据输入了,所以该测试是通过的.。

2023年白盒测试实验报告三角形

2023年白盒测试实验报告三角形

白盒测试实验报告——三角形
一、实验目的
(1)巩固白盒测试技术,能纯熟应用控制流覆盖方法设计测试用例;
(2)学习测试用例的书写。

二、实验内容
判断三角形类型
输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?假如能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。

规定输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。

规定:
为测试该程序的方便,请将三角形判断的算法尽量放入一个函数中。

(1)画出程序的流图;
(2)分别以语句覆盖、鉴定覆盖、条件覆盖、鉴定条件覆盖、条件组合覆盖设计测试用例,并写出每个测试用例的执行途径
规定:设计测试用例时,每种覆盖方法的覆盖率应尽也许达成100%
(3)请采用基本途径测试方法对程序进行测试,并给出具体测试用例信息。

(4)通过你的测试,请总结你所使用测试方法发现的Bug。

三、实验规定
(1)根据题目规定编写测试用例
(2)撰写实验报告
(3)有关的实现程序请附到实验报告中
(4)实验报告命名规则:学号后两位+姓名_白盒实验四、实验报告
(1)程序代码:
1.
2.
3.
4
5
7.
8.
9
11.
(2)程序的流图:
(3)语句覆盖;
(4)鉴定覆盖;
(5)条件覆盖:
(6)鉴定/条件覆盖;
(7)组合覆盖;
(8)基本途径覆盖;
通过计算,程序流图的环复杂度为5,因此基本途径有5条
附录:测试用例书写格式(语句覆盖为例)
测试用例表。

软件测试案例(三角形白盒测试)讲解学习

软件测试案例(三角形白盒测试)讲解学习
return0;
}
}
}
1
二、程序流程图

N
a+b>c&&b+c
>a&&a+c>b
YY
a==b&&b==c
N

a==b||b==c||
a==c
NY
③⑥⑦⑤
if((a+b>c)&&(b+c>a)&&(a+c>b)){//判断为三角形
if((a==b)&&(b==)||(b==c)||(a==c))//判断为等腰三角形
return2;
else//判断为普通三角形
return1;
}
else{//为非三角形
软件测试案例(三角形白盒测试)
一、核心程序代码
/**判断三角形的类*/
publicclassTriangleTestMethod{
/**判断三角形的种类。参数a,b,c分别为三角形的三边,
*返回的参数值为0,表示非三角形;
*为1,表示普通三角形;
*为2,表示等腰三角形;
*为3,表示等边三角形。
*/
publicstaticintcomfirm(inta,intb,intc){
条件组合覆盖测试用例输入期望输出覆盖对象测试结果case23f1t2t3t1f2t3t1t2f2t1t2t3t4t5t1t2t3t4f5精品文档收集于网络如有侵权请联系管理员删除f6f7t8case28t1t2t3f4t5f6t7f8t1t2t3f4f5f6f7f8t1t2t3f4f5f6f7t8备注其他条件组合无法到达结束四程序控制流图returreturreturreturretur基本路径覆盖测试用例输入期望输出覆盖对象测试结果case31精品文档收集于网络如有侵权请联系管理员删除case34
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

黑盒白盒测试实验报告
学院:计算机科学与工程
专业:软件工程
姓名:张子晗
学号:6
软件测试计划
测试目的
1.练习并掌握软件测试管理的一般过程与步骤
2.掌握测试管理的人工过程和能通过相关管理软件实现以
下操作:
1)创建和管理多个测试组和用户
2)配置测试环境,编写详细测试计划,安排测试进度
3)实施测试,执行测试
4)对测试进行评估
测试题目
关于三角形问题的测试
测试方法
1.对于主题进行黑盒测试,测试内容包括等价类划分测试,
边界值分析测试,决策表方法使用。

2.对于主题进行白盒测试,测试内容包括语句覆盖测试,
分支覆盖测试,条件覆盖测试,分支/条件覆盖测试,条件组合覆盖测试以及基本路径测试。

测试资料
1.黑盒测试:
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。

很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

2.白盒测试:
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。

"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

"白盒"法是穷举路径测试。

在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

贯穿程序的独立路径数是天
文数字。

采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。

其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。

在动态分析技术中,最重要的技术是路径和分支测试。

3.黑盒与白盒测试的比较:
项目黑盒测试法白盒测试法
规划功能的测试结构的测试
优点能确保从用户的角度出
发进行测试能从程序内部的特定部位进行覆盖测试
缺点无法测定程序内部特定
部位;当规格说明有误
则不能发现问题。

无法检查程序的外部特性;无法对未实现规格说明的程序内部欠缺部分进行测试
应用技术边界分析法;
等价类划分法;
决策表测试。

语句覆盖,判定覆盖
条件覆盖,判定/条件覆盖
路径覆盖,循环覆盖
模块接口测试
数据整理
测试的所得到的用例实验报告,BUG报告,需要进行反馈和最后的归档,归档的工作按项目计划中所规定的进行。

反馈的工作在测试项结束后,整理成测试总结报告后进行,具体的日期在项目计划中有规定。

不同阶段的测试都要重复以上步骤。

三角形问题黑盒测试报告
1.问题描述:
完成一段程序,要求实现这样的功能。

输入三个整数,构成三角形的三条边,输入范围是1-100,判断结果是等腰三角形,等边三角形,不构成三角形或是一般三角形,直角三角形,判断结果均打印输出。

2.程序代码(c++):
#include<iostream>
using namespace std;
void main()
{
int a,b,c;
cout<<”请输入三条边的长度(1-100)”<<endl;
cin>>a>>b>>c;
if(a>=1&&b>=1&&c>=1&&a<=100&&b<=100&&c<=100)
{
if(a+b>c&&a+c>b&&b+c>a)
{
cout<<”能够构成三角形”;
if(a==b&&b==c)
cout<<”为等边三角形”;
else if
((a==b&&a!=c)||(b==c&&c!=a)||(a==c&&a!b))
cout<<”为等腰三角形”;
else
cout<<”为一般三角形”;
}
else
cout<<”不能构成三角形”;
}
else
cout<<”输入的值超出给定范围”;
}
3.测试方法:
黑盒测试(等价类划分+边界值分析+决策表方法)
1)等价类划分
本程序共计有四种可能的输出:一般三角形,等腰三角形,等边三角形,不构成三角形。

输入有效等价类编号无效等价类编号
a,b,c 边为a,b,c的一
般三角形1 a输入的值超出范

5
a,b,c 边为a,b,c的等
边三角形2 b输入的值超出范

6
a,b,c 边为a,b,c的等
腰三角形3 c输入的值超出范

7
a,b,c 边为a,b,c不能
组成三角形
4
2)边界值分析方法
数值a 0,101 根据题目要求,输入值中1为最小值,
100为最大值.于是取刚好小于1的0和
刚好大于100的101进行边界值分析。

数值b 0,101 根据题目要求,输入值中1为最小值,
100为最大值.于是取刚好小于1的0和
刚好大于100的101进行边界值分析。

数值c 1,101 根据题目要求,输入值中1为最小值,
100为最大值.于是取刚好小于1的0和
刚好大于100的101进行边界值分析。

3)决策表方法
i.确定规则个数,本题的决策表共计四个条件。

C1:a,b,c构成三角形?
C2:a=b?
C3:a=c?
C4:b=c?
每个条件可以取两个值,共计有16种规则。

ii.列出所有的条件桩和动作桩
iii.输入输入项。

iv.输入动作项,得到初始决策表。

v.化简,合并相似规则,最后得到三角形问题的最终决策表。

vi.
规则
选项规则
1-8
规则
9
规则
10
规则
11
规则
12
规则
13
规则
14
规则
15
规则
16
条件:
C1:a,b,c构成三
角形?
C2:a=b? C3:a=c? C4:b=c? N
-
-
-
Y
Y
Y
Y
Y
Y
Y
N
Y
Y
N
Y
Y
Y
N
N
Y
N
Y
Y
Y
N
Y
N
Y
N
N
Y
Y
N
N
N
动作:
A1:非三角形A2:一般三角形
A3:等腰三角形A4:等边三角形A5:不可能
白盒测试(语句覆盖,判定覆盖及基本路径测试方法)程序的流程图如下
1)语句覆盖
测试数据执行路径预期结果实际结果
a=100,b=101, c=120 1 输入的值超出
给定范围
输入的值超出
给定范围
a=3,b=5, c=9 2,3 不能构成三角

不能构成三角

a=5,b=5,c=5 2,4,5,7 等边三角形等边三角形a=5,b=5,c=3 2,4,6,9 等腰三角形等腰三角形
a=5,b=4,c=6 2,4,6,10,
12 一般三角形一般三角形
2)判定覆盖
测试数据执行路径预期结果实际结果
a=100,b=101, c=120 1 输入的值超出
给定范围
输入的值超出
给定范围
a=3,b=5, c=9 2,3 不能构成三角

不能构成三角

a=5,b=5,c=5 2,4,5,7 等边三角形等边三角形a=5,b=3,c=5 2,4,6,9 等腰三角形等腰三角形a=5,b=4,c=6 2,4,6,10,
12
一般三角形一般三角形
a=5,b=5,c=3 2,4,5,8 等腰三角形等腰三角形a=3,b=5,c=5 2,4,6,10,11 等腰三角形等腰三角形
3)路径测试
测试数据执行路径预期结果实际结果
a=100,b=101, c=120 1 输入的值超出
给定范围
输入的值超出
给定范围
a=3,b=5, c=9 2,3 不能构成三角

不能构成三角

a=5,b=5,c=5 2,4,5,7 等边三角形等边三角形a=5,b=3,c=5 2,4,6,9 等腰三角形等腰三角形a=5,b=4,c=6 2,4,6,10,
12
一般三角形一般三角形
a=5,b=5,c=3 2,4,5,8 等腰三角形等腰三角形a=3,b=5,c=5 2,4,6,10,11 等腰三角形等腰三角形。

相关文档
最新文档