三角形白盒测试

合集下载

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

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

4.完成软件白盒测试技术中的逻辑覆盖测试应用设计实验。

(理论考试重点内容实践)三角形白盒测试要求要求: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)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路径6:1-2-4-5-8-11-13路径7:1-2-4-6-135)根据上述测试用例执行程序,对比实际运行结果和预期运行结果,结果比对最6)对以上实验结果进行适当地分析与总结。

软件测试实验报告白盒测试

软件测试实验报告白盒测试

软件测试与质量课程实验报告
实验3:白盒测试
掌握静态白盒测试方法及一般要求
掌握白盒测试用例的设计方法
掌握白盒测试基本测试方法:逻辑覆盖、路径测试。

语句覆盖输入数据路径预期输出1A=2,B=5,C=3,1239不能构成三角形2A=15,B=15,C=1512459等边三角形3A=15,B=15,C=13124679等腰三角形4A=23,B=24,C=25124689一般三角形
判定覆盖输入数据路径预期输出1A=2,B=3,C=5,1239不能构成三角形
语句覆

编号输入数据覆盖语句
1array[8,9,10,11] key 101,2,3,8
2array[8,9,10,11] key 251,2,3,9
3array[8,9,10,11] key 81,2,3,6,7
4array[8,9,10,11] key 91,2,3,4,5
判定覆

编号输入数据路径
1array[8,9,10,11] key 101-2-3-4-5-6-8-
2array[8,9,10,11] key 251-2-3-4-5-6-8--10-11-4-12



缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分
其他情况:扣分<=5分总扣分不能大于10分。

软件测试实验报告白盒测试

软件测试实验报告白盒测试
1int a,b,c;
printf("\n请输入三边:");
scanf("%d%d%d",&a,&b,&c);
2if (a+b<=c||a+c<=b||b+c<=a){
3printf("\n不能构成三角形:");
}
4else if(a==b&&b==c&&a==c){
5printf("\n等边三角形:");
3.mid = (low + high) / 2;
4.if(key == array [mid]) {
5.returnmid;
6.}elseif(key < array[mid]) {
7.high = mid - 1;
}else{
8.low = mid + 1;
}
}
9.return-1;
}
}
语句覆盖
-T1、-T2、T3
-T4、T5、-T6
1239
不能构成三角形
4
A=4,B=4,C=4
-T1、-T2、T3
T4、T5、T6
12459
等边三角形
5
A=3,B=4,C=4
-T1、-T2、-T3
-T4、T5、-T6
124679
等腰三角形
6
A=5,B=6,C=7
-T1、-T2、-T3
-T4、-T5、-T6
124689
软件测试与质量课程实验报告
实验3:白盒测试
姓名
院系
学号
任课教师
实验指导教师

实验四-三角形组成问题程序的白盒测试

实验四-三角形组成问题程序的白盒测试

辽宁工程技术大学上机实验报告实验分析续开始(a+b>c)&&(a+c>b)&&(b+c>a)a==b || a==c || b==cYa==c && a==b && b==cY不是三角形N普通三角形N等腰三角形N等边三角形Y结束abcdefg12345678图1-1 三角形组成问题程序流程图一.判定覆盖法1.判定覆盖:设计足够多的测试用例,使得程序中的每一个判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一次。

(1)测试用例表1-1 判定覆盖测试用例测试用例 a b c 判断语句1 判断语句2 判断语句3 执行路径测试用例1 5 5 5 真(T)真(T)真(T)abcd 测试用例2 2 4 1 假(F)——ag 测试用例3 2 4 5 真(T)假(F)—abe 测试用例4 6 6 2 真(T)真(T)假(F)abcf (2)测试用例运行结果截图测试用例1图1-2测试用例1实验分析续测试用例2图1-3测试用例2测试用例3图1-4测试用例3测试用例4图1-5测试用例4二.利用路径覆盖分析三角形组成问题基本路径测试方法(1)控制流图12654378图2-1 三角形组成的控制流图(2)环形复杂度方法一:V(G)=3(封闭区域)+1=4方法二:V(G)=10(边数)—8(节点)+2=4方法三:V(G)=3(判定节点1、2、3)+1=4实验分析续(3)独立路径根据上面的计算结果,可导出基本路径集,列出程序的独立路径,可得出程序段的的基本路径集中有4条独立路径,每条独立路径为一个独立的测试用例。

路径如下。

路径1:①→②→③→⑤→⑧路径2:①→②→③→⑥→⑧路径3:①→②→④→⑧路径4:①→⑦→⑧(4)设计测试用例根据(3)中的独立路径,设计测试用例输入数据和预期输出。

设计的测试用例如表2-1所示表2-1 设计的测试用例用例名称输入数据预期输出测试用例1 a=6 b=6 c=6 等边三角形测试用例2 a=8 b=8 c=3 等腰三角形测试用例3 a=2 b=3 c=4 普通三角形测试用例4 a=3 b=5 c=1 不是三角形(5)测试用例运行结果截图测试用例1图2-2测试用例1测试用例2图2-3测试用例2测试用例3图2-4测试用例3测试用例4图2-5测试用例4教师评语。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

白盒测试实验报告_三角形

白盒测试实验报告_三角形

白盒测试实验报告_三角形实验目的:本实验旨在通过白盒测试的方式对一个三角形程序进行测试,并通过测试结果来验证程序的正确性。

实验原理:三角形是由三条边组成的图形,根据三个边的长度的不同,可以分为三种形态的三角形:等边三角形、等腰三角形和普通三角形。

在这个实验中,我们需要测试一个程序,该程序用于判断给定的三条边是否能够构成一个三角形,并能够进一步判断构成的三角形是何种类型。

实验步骤:1.确定测试用例,包括各种可能的三角形情况,如等边三角形、等腰三角形、普通三角形以及不能构成三角形的情况。

2.编写测试代码,使用白盒测试的方式进行测试。

3.运行测试代码,记录测试结果。

4.分析测试结果,验证程序的正确性。

实验结果:经过测试,测试结果如下:1.测试用例1:输入边长为3、3、3,预期输出为等边三角形,实际输出为等边三角形,测试通过。

2.测试用例2:输入边长为3、4、4,预期输出为等腰三角形,实际输出为等腰三角形,测试通过。

3.测试用例3:输入边长为2、3、4,预期输出为普通三角形,实际输出为普通三角形,测试通过。

4.测试用例4:输入边长为1、2、3,预期输出为不能构成三角形,实际输出为不能构成三角形,测试通过。

实验结论:通过对三角形程序的白盒测试,我们验证了程序的正确性,并确认程序能够正确判断三条边是否能够构成一个三角形,以及进一步判断构成的三角形是何种类型的。

在我们的测试中,程序完全按照我们的预期输出结果,没有发现任何错误。

因此,我们可以认为该程序在给定的测试用例下能够正确地判断三角形,并输出正确的三角形类型。

实验感想:通过本次实验,我深刻理解了白盒测试的重要性。

通过运行测试代码,并仔细分析测试结果,我可以直观地看到程序的运行情况,从而判断程序的正确性。

在编写测试用例时,我尽量覆盖了各种可能的情况,以确保测试的全面性和准确性。

同时,我也意识到了编写高质量代码的重要性,只有代码本身没有错误,才能保证测试的准确性。

白盒测试三角形问题的基本路径测试解答

白盒测试三角形问题的基本路径测试解答

实验六三角形问题的基本路径测试主要代码如下:1.If (inta >= intb + intc) _2. Or (intb > =inta + intc) _3.Or (intc >= intb + inta) Then4. strMsg = "三角形两边之和必须大于第三边" + vbCrLf + "非三角形"5.Else6. If (inta = intb) _7.And (intb = intc) Then8. strMsg = "三角形的三条边都相等" + vbCrLf + "等边三角形"9. Else10. If (inta = intb) _11.Or (inta = intc) _12.Or (intc = intb) Then13. strMsg = "三角形的任意两边相等" + vbCrLf + "等腰三角形"14. Else15. strMsg = "三角形的各边均非等" + vbCrLf + "普通三角形"16. End If17. End If18.End If1.根据上面的代码画出程序的控制流图。

2.计算环路复杂度。

V(G)=93.求出基本路径组合。

P1: 1-4-18P2: 1-2-4-18P3: 1-2-3-4-18P4: 1-2-3-6-7-8-17-18P5: 1-2-3-6-10-13-16-17-18P6: 1-2-3-6-10-11-13-16-17-18P7: 1-2-3-6-10-11-12-13-16-17-18P8: 1-2-3-6-10-11-12-15-16-17-18要点:从较短路径顺序增加每个分支尽可能走一次4.设计测试用例,按照表1的形式,设计用例。

表1:用例设计表。

白盒(三角形)

白盒(三角形)

实验4 三角形问题的白盒测试一、实验目的:通过实验掌握白盒测试技术,能够使用语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖和条件组合覆盖设计测试用例。

二、实验内容及要求1、根据实验一的三角形问题编写程序;2、画出程序流程图,分析并确定程序分支;3、设计分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖和条件组合覆盖的测试用例;4、用测试用例对程序进行测试,记录测试结果,并对结果进行分析,如果存在缺陷则修改程序,继续测试;1、根据实验一的三角形问题编写程序;using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Text.RegularExpressions;namespace三{public partial class Form1 : Form{public Form1(){InitializeComponent();}private class TT{public bool b(string s){string pattern = "^[0-9]*$";Regex rx = new Regex(pattern);return rx.IsMatch(s);}}private void button1_Click_1(object sender, EventArgs e){if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == ""){MessageBox.Show("边长不能为空!!", "警告");}else{TT t = new TT();string a = textBox1.Text;string b = textBox2.Text;string c = textBox3.Text;if (!t.b(a) || !t.b(b) || !t.b(c)){MessageBox.Show("只能输入1到100间的数字!!", "警告");textBox1.Text = "";textBox2.Text = "";textBox3.Text = "";textBox1.Focus();}else{int a1 = int.Parse(a);int b1 = int.Parse(b);int c1 = int.Parse(c);if (a1 > 100 || a1 <= 0 || b1 > 100 || b1 <= 0 || c1 > 100 || c1 <= 0) {MessageBox.Show("只能输入1到100间的数字!!", "警告");textBox1.Text = "";textBox2.Text = "";textBox3.Text = "";textBox1.Focus();}else{if (a1 >= b1 + c1 || b1 >= a1 + c1 || c1 >= a1 + b1){label4.Text = "不是三角形";}else{if ((a1 * a1 == b1 * b1 + c1 * c1) || (b1 * b1 == a1 * a1 + c1 * c1) || (c1 * c1 == a1 * a1 + b1 * b1)){label4.Text = "直角三角形";}else{if (a1 == b1 && b1 == c1 && a1 == c1){label4.Text = "等边三角形";}else if (a1 == b1 || b1 == c1 || a1 == c1) {label4.Text = "等腰三角形";}else{label4.Text = "普通三角形";}}}}}}}}}2、画出程序流程图,分析并确定程序分支;3、设计分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖和条件组合覆盖的测试用例。

完整版实验四三角形组成问题程序的白盒测试

完整版实验四三角形组成问题程序的白盒测试

辽宁工程技术大学上机实验报告成绩实验名称实验四三角形组成问题程序的白盒测试3开始a1(a+b>c)&&(a+c>b)&&(b+c>a)Y2bNa==b || a==c || b==c ge Y c N3a==c && a==b && b==c f N实验4567Y d分析续不是三角形等边三角形普通三角形等腰三角形8结束图1-1 三角形组成问题程序流程图一. 判定覆盖法1.判定覆盖:设计足够多的测试用例,使得程序中的每一个判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一次。

(1)测试用例表1-1 判定覆盖测试用例测试用例a b c 判断语句1 判断语句2 判断语句3 执行路径abcd 测试用例1 5 真(T真(T真())T)5 5 测试用例2 2 F假()——ag 4 1测试用例3 2 4 T真()F假()—abe 5测试用例4 6 abcf6 2)T真(T真()F假()(2)测试用例运行结果截图测试用例1图1-2测试用例1测试用例2图1-3测试用例2图1-4测试用例3测试用例 4图1-5测试用例4二.利用路径覆盖分析三角形组成问题基本路径测试方法实验(分析1)控制流图续12345678三角形组成的控制流图图2-1)环形复杂度(2+1=4=3(封闭区域)V (G)方法一:+2=4 (节点)(边数)—8)方法二:V(G=10+1=4 )3、2、1(判定节点=3)G(V方法三:续图2-2测试用例1 测试用例2图2-3测试用例2测试用例3图2-4测试用例3测试用例4图2-5测试用例4教师评语。

三角形程序白盒测试

三角形程序白盒测试

实验报告黑龙江大学‎教务处测试计划(GB856‎7——88)1引言1.1编写目的‎掌握软件测‎试技术中白‎盒测试方法‎;掌握如何进‎行单元测试‎。

1.2背景说明:a.Windo‎w s XP,VC++;b.阅读客户的‎需求说明文‎档;1.3定义a:三角型的第‎一条边b:三角型的第‎二条边c:三角型的第‎三条边普通三角形‎:三边都不相‎等的三角形‎等腰三角形‎:有任意两边‎相等的三角‎形等边三角形‎:三边相等的‎三角形1.4参考资料‎1.《软件测试教‎程》.宫云战.机械工业出‎版社2008年‎9月2.《软件测试技‎术》.曲朝阳.中国水利水‎电出版社2006年‎8月2计划2.1软件说明‎输入三个整‎数 a , b , c 分别作为三‎边的边长构‎成三角形.通过程序判‎定所构成的‎三角形的类‎型,当此三角形‎为一般三角‎形,等腰三角形‎及等边三角‎形时,分别作计算‎:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大‎于第三边(6)等腰(7)等边如果 a , b , c 满足条件( 1 ) ~ ( 4 ),则输出下列‎四种情况之‎一:如果不满足‎条件(5),则程序输出‎为" 非三角形" .如果三条边‎相等即满足‎条件(7),则程序输出‎为" 等边三角形‎" .如果只有两‎条边相等,即满足条件‎(6),则程序输出‎为" 等腰三角形‎" .如果三条边‎都不相等,则程序输出‎为"一般三角形‎"2.2测试内容‎测试内容:1.impor‎t java.util.Scann‎e r;2.publi‎c class‎abc {3. publi‎c stati‎c void main(Strin‎g args[]) {4. Strin‎g str1 = "";5. Strin‎g str2 = "";6. Strin‎g str3 = "";7. int a, b, c;8. Scann‎e r input‎= new Scann‎e r(Syste‎m.in);9. Syste‎m.out.print‎f("请输入三角‎形的三条边‎,以空格换行‎:\n");10 str1 = input‎.next();11. str2 = input‎.next();12 str3 = input‎.next();13. if (str1.match‎e s("\\d+") && str2.match‎e s("\\d+")14 && str3.match‎e s("\\d+")) {15 a = Integ‎e r.parse‎I nt(str1);16 b = Integ‎e r.parse‎I nt(str2);17 c = Integ‎e r.parse‎I nt(str3);18 if (a + b > c && a + c > b && b + c > a) {19 if (a == b || a == c || b == c) {20 if (b == c && a == c)21 Syste‎m.out.print‎f("等边三角形‎\n");22 else23 Syste‎m.out.print‎f("等腰三角形‎\n");24 } else25 Syste‎m.out.print‎f("一般三角形‎\n");26 } else {27 Syste‎m.out.print‎f("不构成三角‎形\n");28 }29 } else {30 Syste‎m.out.print‎("请输入整型‎数字");31 }32 }33 }2.3测试12.3.1进度安排‎预计3天测‎试完毕;2.3.2条件Windo‎w s XP,VC++;2.3.3测试资料‎a.《软件测试教‎程》.宫云战.机械工业出‎版社2008年‎9月b.《软件测试技‎术》.曲朝阳.中国水利水‎电出版社2006年‎8月2.3.4测试培训‎《软件测试》第4章白盒测试及‎其用例的设‎计3测试设计‎说明3.1测试1此项测试采‎用白盒测试‎方法来测试‎该功能3.1.1控制程序流程图‎如下:数据流图如‎下:环域复杂度‎:5(4个判定条‎件)路径1:13,18,19,20,21,33;路径2:13,18,19,20,23,33;路径3:13,18,19,25,33;路径4:13,18,27,33;路径5:13,30,333.1.2输入测试用例:编号输入的a,b,c值预期输出1 a=3,b=3,c=3; 等边三角形‎2 a=3,b=3,c=4; 等腰三角形‎3 a=3,b=4,c=5; 一般三角形‎4 a=1,b=2,c=3 不构成三角‎形5 a=asb,b=2,b=4 类型不是数‎字3.1.3过程此程序经过‎编译链接后‎无错误提示‎,即可运行,手动输入上‎面各组数据‎,观察结果4评价准则‎4.1范围此次测试利‎用白盒测试‎中的路径测‎试方法建立‎了测试用例‎,虽然覆盖了‎所有的独立‎路径,但是没有覆‎盖所有的语‎句。

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

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

软件测试案例(三角形白盒测试)一、核心程序代码/** 判断三角形的类*/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。

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

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

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测试完后,没有数据输入了,所以该测试是通过的.。

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

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

白盒测试技术实验报告一、实验内容1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;2、举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖进行测试。

3、通过试验和应用,要逐步提高和运用白盒测试技术解决实际测试问题的能力;4、完成实验并认真填写实验报告二、问题描述输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。

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

请采用静态白盒测试方法和动态白盒测试方法设计测试用例。

三、代码说明(复制测试的主要代码并在每行程序代码前面标上行号)1)#include2)main() 3){4)int A,B,C;5)printf("请输入三角形的三条边:");6)scanf("%d %d %d",&A,&B,&C);7)if((200>A>0&&200>B>0&&200>C>0)&&((A+B)>C&&(A+C)>B&&(B+C)>A))8){9)if(A==B&&A==C)10)printf("该三角形是等边三角形!\n");11)else12)if((A==B&&B!=C)||(B==C&&B!=A)||(A==C&&A!=B))13)printf("该三角形是等腰三角形!\n");14)else15)printf("该三角形是普通三角形!\n");16)}17)else18){19)printf("ERROR!\n");20)return main();21)}22)}四、白盒测试分析1.代码走读答:程序主要是根据三个整数a,b,c,构成一个三角形判定三角形的类型为等边三角形、等腰三角形、普通三角形还是构成不了三角形。

白盒测试实例

白盒测试实例

白盒测试实例之一——需求说明三角形的问题在很多软件测试的书籍中都出现过,问题虽小,五脏俱全,是个很不错的软件测试的教学例子。

本文借助这个例子结合教学经验,从更高的视角来探讨需求分析、软件设计、软件开发与软件测试之间的关系与作用。

题目:根据下面给出的三角形的需求完成程序并完成测试:一、输入条件:1、条件1:a+b>c2、条件2:a+c>b3、条件3:b+c>a4、条件4:0<a<2005、条件5:0<b<2006、条件6:0<c<2007、条件7:a==b8、条件8:a==c9、条件9:b==c10、条件10:a2+b2==c211、条件11:a2+ c2== b212、条件12:c2+b2== a2二、输出结果:1、不能组成三角形2、等边三角形3、等腰三角形4、直角三角形5、一般三角形6、某些边不满足限制白盒测试实例之二——答案很多初学者一看到这个需求,都觉得很简单,然后立刻就开始动手写代码了,这并不是一个很好的习惯。

如果你的第一直觉也是这样的,不妨耐心看到文章的最后。

大部分人的思路:1、首先建立一个main函数,main函数第一件事是提示用户输入三角形的三边,然后获取用户的输入(假设用户的输入都是整数的情况),用C语言来写,这一步基本上不是问题(printf和scanf),但是要求用java来写的话,很多学生就马上遇到问题了,java5.0及之前的版本不容易获取用户的输入。

点评:这样的思路做出来的程序只能通过手工方式来测试所有业务逻辑,而且这个程序只能是DOS 界面版本了,要是想使用图形化界面来做输入,就得全部写过代码。

2、业务处理流程的思路用流程图表示如下:3、15. else16. {17. if(a==b || b==c || a==c)18. {19. printf("2是等腰三角形");20. }21. else22. {23. if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)24. {25. printf("3是直角三角形");26. }27. else28. {29. printf("4是一般三角形");30. }31. }32. }33. }34. else35. {36. printf("5不能组成三角形");37. }38. }39. else40. {41. printf("6某些边不满足限制");42. }43. }白盒测试实例之三——需求分析需求分析是后续工作的基石,如果分析思路有问题,后续工作可能就会走向不正确的方向,比如:代码重用性差、难于测试、难于扩展和难于维护等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0
T1,T2,F3
0
8
a=3,b=3,c=4
2
T1,T2,T3,T4,F5,T6,F7,F8
2
9
a=3,b=4,c=3
2
T1,T2,T3,F4,F5,F6,F7,T8
2
10
a=4,b=3,c=3
2
T1,T2,T3,F4, T5,F6,T7,F8
2
4.条件-判定覆盖测试用例
编号
输入
期望输出
覆盖对象
测试结果
F6,T7,F8
2
29
a=3,b=4, c=5
1
T1,T2,T3,F4,F5,
F6,F7,F8
1
30
a=3,b=4, c=3
2
T1,T2,T3,F4,F5,
F6,F7,T8
2
备注
其他条件组合,无法到达结束
基本路径覆盖测试用例
编号
输入
期望输出
覆盖对象
测试结果
31
a=1,b=6, c=7
0
A->D
0
32
0
F1,T2,T3
0
24
a=7,b=6, c=1
0
T1,F2,T3
0
25
a=1,b=7, c=6
0
T1,T2,F2
0
26
a=3,b=3, c=3
3
T1,T2,T3, T4,T5
3
27
a=3,b=3, c=4
2
T1, T2, T3, F4, F5,
F6, F7, T8
2
28
a=4,b=3, c=3
2
T1,T2,T3,F4,T5,
0
①,⑤
0
12
a=3,b=4,c=5
1
①,②,④,⑥
1
13
a=3,b=3,c=4
2
①,②,④,⑦
2
14
a=3,b=4,c=5
3
1,②,③
3
3.条件覆盖测试用例
编号
输入
期望输出
覆盖对象
测试结果
5
a=1,b=6,c=7
0
F1,T2,T3
0
6
a=7,b=1,c=6
0
T1,F2,T3
0
7
a=1,b=7,c=6
15
a=1,b=6, c=7
0
F1,T2,T3(①,②)
0
16
a=7,b=1, c=6
0
T1,F2,T3(①,②))
0
17
a=1,b=7, c=6
0
T1,T2,F3(①,②)
0
18
a=3,b=3, c=4
2
T1,T2,T3,T4,F5,T6,F7,F8
(①②③⑦)
2
19
a=3,b=4, c=3
2
F,T1,T2,T3,4,F5,F6,F7,T8
(①,②,③,⑦)
2
20
a=4,b=3, c=3
2
T1T2,T3,F4,T5,F6,T7,F8
(①,②③,⑦)
2
21
a=3,b=3, c=3
3
F1,T2,T3(①②③)
3
22
a=3,b=4, c=5
1
T1,F2,T3
(①②④⑥)
1
5.条件组合覆盖测试用例
编号
输入
期望输出
覆盖对象
测试结果
23
a=1,b=6, c=7
三角形白盒测试
一、
二、测试用例
1.语句覆盖测试用例:
编号
输入
期望输出
覆盖对象
测试结果
1
a=1,b=2,c=3
0
①,⑤
0
2
a=3,b=4,c=5
1
①,②,④,⑥
1
3
a=3,b=3Hale Waihona Puke c=42①,②,④,⑦
2
4
a=3,b=4,c=5
3
1,②,③
3
2.判定覆盖测试用例
编号
输入
期望输出
覆盖对象
测试结果
11
a=1,b=2,c=3
a=7,b=6, c=1
0
A->B->D
0
33
a=1,b=7, c=6
0
A->B->C->D
0
相关文档
最新文档