请写出判断三角形的代码设计用例达到测试效果语句覆盖判定覆盖条件组合覆盖基本路径测试法

合集下载

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

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

三角形白盒测试要求要求:,其他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。

白盒测试的六种覆盖准则

白盒测试的六种覆盖准则

白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。

白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。

因为对于不同复杂度的代码逻辑,可以衍生出许多种执行路径,只有适当的测试方法,才能帮助我们从代码的迷雾森林中找到正确的方向。

本文介绍六种白盒子测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

白盒测试的概述由于逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。

由于我们经常相信某逻辑路径不可能被执行, 而事实上,它可能在正常的情况下被执行。

由于代码中的笔误是随机且无法杜绝的,因此我们要进行白盒测试。

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

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

白盒的测试用例需要做到:·保证一个模块中的所有独立路径至少被使用一次·对所有逻辑值均需测试true 和false·在上下边界及可操作范围内运行所有循环·检查内部数据结构以确保其有效性白盒测试的目的:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

白盒测试的特点:依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测试用例、对软件的逻辑路径进行覆盖测试。

白盒测试的实施步骤:1.测试计划阶段:根据需求说明书,制定测试进度。

2.测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例。

3.测试执行阶段:输入测试用例,得到测试结果。

4.测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。

白盒测试的方法:总体上分为静态方法和动态方法两大类。

软件测试实验报告

软件测试实验报告

本科实验报告课程名称:软件测试技术实验项目:软件测试技术试验实验地点:实验楼211专业班级:软件工程学号:学生姓名:戴超指导教师:兰方鹏2015年10月7日太原理工大学学生实验报告(用户名:Aaron密码:mercury)(2)添加QTP自带示例程序(3)在弹出的“FlightReservation”窗口中选择订票日期、出发地和目的地,然后选择“Flight”图标选择航班。

(4)在弹出的“flighttable”表中选择一趟航班,点击“ok”按钮返回,在Name中填写订票人姓名,选择订票数目“tickets”和仓位“class”然后点击“installorder”按钮,生成订单。

(5)点击QTP主界面工具栏中的“Stop”按钮,停止脚本录制。

保存脚本并对脚本进行回放。

(6)插入检查点验证订单是否生成。

在actionscreen视图中的orderno 标签对应的文本框中点鼠标右键,在弹出的快捷菜单中选择“insertstandardcheckpoint”,在弹出的对话框中,单击ok,选中text(11)参照以上实验,再添加一个验证login界面中“agentname”的检查点。

(12)设计能够通过校验的正则表达式^\w{4,16}$,并回放成功。

(13)设计不能通过校验的正则表达式^\w{1,4}$并回放失败如下五、实验结果与分析1.第一个检查点的添加中最后传真订单回放失败原因分析:提交订单并发送传真的时候,该系统会自动生成一个订单号,而进行回放的时候又会生成另一个订单号,然后后续回放失败,因为和之前录制时的订单号不匹配,找不到从而中端回放。

修改:停止回放之后右键列表中的FaxOrderNo.xx的ObjectProperties,在弹出的窗口中点击text的value值中的图标“<#>”,弹出的对话框中把constant中的值改成如下,即FaxOrderNo\.[0-9]+,然后保存关闭。

白盒测试实验报告三角形形状山东大学[5篇范例]

白盒测试实验报告三角形形状山东大学[5篇范例]

白盒测试实验报告三角形形状山东大学[5篇范例]第一篇:白盒测试实验报告三角形形状山东大学实验报告一、实验目的运用白盒测试中的条件覆盖和判定覆盖检查程序中内部动作或者运行是否符合规范,各部分内容是否按照规定正常运行。

二、实验内容 1 1、题目输入三角形的三条边,判断三角形的类型,并返回三角形的详细类型,同时判断游戏是否结束,如果为结束,可以继续进行测试。

代码如下::(被测函数为类类Trinagle 中的returnType)package 白盒测试;import java.util.Scanner;public class Triangle {/*** @赵得山*/public static void main(String[] args){String g=“y”;Scanner scan=new Scanner(System.in);while(g.equalsIgnoreCase(g)){System.out.println(“请输入三个数字:”);int[] num=new int[3];for(int i=0;i<3;i++)num[i]=scan.nextInt();//对三条边进行插入排序for(int i=2;i>=1;i--)for(int j=0;jif(num[j]>num[j+1]){int temp=num[j];num[j]=num[j+1];num[j+1]=temp;}}for(int i=0;i<3;i++)System.out.print(num[i]+“ ”+Math.pow(num[i], 2)+“”);System.out.println(returnType(num[0],num[1],num[2])); //是否继续输入测试数据System.out.println(“是否继续输入数据?y/n”);if(!scan.next().equals(“y”)){System.out.println(“测试结束!”);System.exit(0);}}}/*** 返回三角形的类型*/static String returnType(int a,int b,int c){String type=“";if(a+b<=c||b+c<=a||a+c<=b){System.out.println(”请重新输入测试数据“);type=”不是三角形“;}else if(a==b&&a==c){type=”等边三角形“;}else if(a==b||a==c||b==c){if(Math.pow(a, 2)+Math.pow(b, 2)==Math.pow(c, 2))type=”等腰直角三角形“;else if(Math.pow(a, 2)+Math.pow(b, 2)>Math.pow(c, 2))type=”等腰锐角三角形“;else if(Math.pow(a, 2)+Math.pow(b, 2)type=”等腰钝角三角形“;}else if(Math.pow(a, 2)+Math.pow(b, 2)==Math.pow(c, 2))type=”一般直角三角形“;else if(Math.pow(a, 2)+Math.pow(b, 2)type=”一般钝角三角形“;else if(Math.pow(a, 2)+Math.pow(b, 2)>Math.pow(c, 2))type=”一般锐角三角形";return type;} }2、测试用例设计1)程序流程图如下:开始请输入三条边 a、b、c a+b<=c||b+c<=a||a+c<=ba==b&&a==c TFFa==b||a==c||b==c FMath.pow(a,2)+Math.pow(b, 2)==Math.pow(c, 2)FMath.pow(a,2)+Math.pow(b, 2)>Math.pow(c, 2)FTMath.pow(a,2)+Math.pow(b, 2)Math.pow(c, 2)Math.pow(a,2)+Math.pow(b, 2)结束TTTFF1))判定覆盖测试用例及测试结果输入数据预期结果实际结果测试结果 a=1b=1c=5 不是三角形不是三角形正确 a=5b=5c=5 等边三角形等边三角形正确 a=1b=1c= 2等腰直角三角形等腰直角三角形正确 a=4b=4c=1 等腰锐角三角形等腰锐角三角形正确 a=3b=3c=5 等腰钝角三角形等腰钝角三角形正确 a=3b=4c=5 一般直角三角形一般直角三角形正确 a=3b=5c=6 一般钝角三角形一般钝角三角形正确 a=10b=11 c=12 一般锐角三角形一般锐角三角形正确注:已覆盖所有的判定,由于条件太多,所以这里未列出判定的路径,还请老师见谅..2))条件覆盖测试用例及测试结果输入数据预期结果实际结果测试结果 a=1b=1c=4 不是三角形不是三角形正确 a=1b=4c=1 不是三角形不是三角形正确 a=4b=1c=1 不是三角形不是三角形正确 a=1b=1c=1 等边三角形等边三角形正确 a= 2b=1c=1 等腰直角三角形等腰直角三角形正确 a=4b=4c=1 等腰锐角三角形等腰锐角三角形正确 a=3b=3c=5 等腰钝角三角形等腰钝角三角形正确 a=3b=4c=5 一般直角三角形一般直角三角形正确 a=3b=5c=6 一般钝角三角形一般钝角三角形正确 a=10b=11 c=12 一般锐角三角形一般锐角三角形正确注:已覆盖所有的条件,所有条件的真假都取了一次,由于条件太多,所以这里未列出判定的路径,还请老师见谅..三、总结与体会通过这次实验,我对于白盒测试有了更加深刻和直观的认识,因为代码是自己编写的,同时也重新锻炼了自己的动手编码能力。

典型测试用例案例

典型测试用例案例

案例一:三角形判断功能测试输入三条边,判断能否组成三角形,能组成三角形,继续判断能组成等腰三角形?等边三角形?还是直角三角形?案例二:用户修改个人信息要求:电话:11位长数字串密码:18位以内的字符串(包含18位长)用户登陆后可以修改个人信息,包含:电话号码、密码。

点击“修改用户信息”控件,系统显示所有用户个人信息:其中用户名和工号不可修改,不能进行输入。

密码分旧密码、新密码、验证新密码,若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也生效,并提示“用户信息修改成功”;若旧密码不正确(旧密码是否正确),则提示“用户密码错”,系统将不修改个人信息;若两个新密码不同(两个新密码是否相同),则提示“新密码与验证新密码不同”,系统将不修改个人信息。

若只修改密码外其他信息(是否修改密码),则不需输入两个新密码,系统只验证旧密码正确,就成功更改个人信息,并提示“用户信息修改成功”;如果系统验证旧密码输入不正确,则提示“用户密码错”。

案例三:读书选择1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去3、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息4、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息5、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去6、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读7、不疲倦、不感兴趣、且糊涂跳到下一章去读8、不疲倦、感兴趣,且糊涂回到本章重读案例四:PPT打印功能测试PowerPoint软件打印功能描述如下:打印范围分:全部、当前幻灯片、给定范围共三种情况;打印内容分:幻灯片、讲义、备注页、大纲视图共四种方式;打印颜色/灰度分: 颜色、灰度、黑白共三种设置;打印效果分:幻灯片加框和幻灯片不加框两种方式。

最新测试三角形软件测试程序报告

最新测试三角形软件测试程序报告
精品文档
精品文档
指导教师 评语
实验成绩
精品文档
精品文档
精品文档
是否是等腰 (a=b) (23)
三角形
(c=a) (25)
(b=c) (24)
(a!=b)and(b!=b)and(c!=a) (26)
是否是等边 (a=b)and(b=c)and(c=a) (27) 三角形
(a!=b) (28) (c!=a) (30)
(b!=c) (29)
三角形测试用例:
后缀 4 位数字(4)
有非数字字符(13),少于 4 位数字(14),多于 4 位数字(15)
第二步:确定调试用例。表中有 4 个有效等价类,可以公用以下两个次数用例:
调试数据
范围
期望结果
( ) 276-2345 等价类(1),(3), (4)
有效
(635) 805-9321
等价类(2),(3),(4)
(c+a<=b) (15)
a ,b ,c 中有非数字字符 (16)
是否是锐 a*a+b*b>c*c and b*b+c*c>a*a and 角三角形 a*a+c*c>b*b(17)
a*a+b*b<=c*c and b*b+c*c<=a*a and a*a+c*c<=b*b (18)
是否是钝 a*a+b*b<c*c and b*b+c*c<a*a
序号
[a,b,c]
覆盖等价类
输出
1
[2,3,4]
(1)(2)(3)(4)(5)(6)
是三角形
2
[0,1,2]
(7)

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

软件测试与质量保证作业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 三角形问题的测试用例测试用例输入数据预期输出a b c1 100 100 1 等腰三角形2 100 100 2 等腰三角形3 100 100 100 等边三角形4 100 100 199 等腰三角形5 100 100 200 非三角形6 100 1 100 等腰三角形7 100 2 100 等腰三角形8 100 199 100 等腰三角形9 100 200 100 非三角形10 1 100 100 等腰三角形11 2 100 100 等腰三角形12 199 100 100 等腰三角形132****0100非三角形2. 用等价类测试方法设计测试用例(1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:a)正整数;b)三个数;c)构成一般三角形;d)构成等腰三角形;e)构成等边三角形;f)不能构成三角形(2)根据输入条件的要求划分等价类,列出等价类表并编号,如表1-2所示。

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

请写出判断三角形的代码,设计用例达到测试效果
语句覆盖
判定覆盖
条件组合覆盖
#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,取假值记为-T6
2.对下面的流程图用逻辑覆盖法设计测试用例(至少三种)
1)..语句覆盖:语句覆盖可以保证程序中的每个语句都得到执行。

测试用例输入为:{ x1=3、x2=0} 输出x3=0 ,程序执行的路径是:12345678 2.判定覆盖:
测试用例输入为:{ x1=2、x2=1} 输出x3=0 ,程序执行的路径是:123578;测试用例输入为:{ x1=3、x2=0} 输出x3=0 ,程序执行的路径是:12345678.
3).条件覆盖
对于第一个判定( (x1=3)or(x2>1) ):
条件x1=3 取真值记为T1,取假值记为-T1
条件x2>1 取真值记为T2,取假值记为-T2
对于第二个判定( (x1>2)and(x2=0) ):
条件x1>2 取真值记为T3,取假值记为-T3
条件x2=0 取真值记为T4,取假值记为-T4
基本路径测试法(画出程序的流程控制图计算环路复杂度画出图形矩阵)主要代码如下:
1.If (inta >= intb + intc) _
2. Or (intb > =inta + intc) _
3.Or (intc >= intb + inta) Then
4. strMsg = "三角形两边之和必须大于第三边" + vbCrLf + "非三角形"
5.Else
6. If (inta = intb) _
7.And (intb = intc) Then
8. strMsg = "三角形的三条边都相等" + vbCrLf + "等边三角形"
9. Else
10. If (inta = intb) _
11.Or (inta = intc) _
12.Or (intc = intb) Then
13. strMsg = "三角形的任意两边相等" + vbCrLf + "等腰三角形"
14. Else
15. strMsg = "三角形的各边均非等" + vbCrLf + "普通三角形"
16. End If
17. End If
18.End If
1.根据上面的代码画出程序的控制流图。

2.计算环路复杂度。

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

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

表1:用例设计表。

相关文档
最新文档