【精选】测试三角形软件测试程序报告

合集下载

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

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

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

软件测试三角形类型判断程序实验报告

软件测试三角形类型判断程序实验报告

软件测试技术第一次
实验报告
一、实验题目
测试三角形类型判断程序
二、实验开发工具:
Eclipse、JUnit、Ant
三、编码实现三角形类型判断程序:
class Triangle{
private double a, b, c;
public Triangle ( double a, double b, double c ){ this.a = a;
this.b = b;
this.c = c;
}
/*
返回值为1表示是等边三角形
返回值为2表示是等腰三角形
返回值为3表示是其他种类三角形
返回值为-1表示不能构成三角形
*/
public int type (){
//to be added
}
四、设计测试用例
建立一个被JUnit测试的类
建立对应的JUnit Test类
不能构成三角形的测试用例
构成等边三角形的测试用
构成等腰三角形的测试用例
构成其他种类三角形的测试用例
三角形有一条边是非正数
四、编写ant脚本驱动测试用例。

软件测试作业三角形判定

软件测试作业三角形判定

实验报告
课程名称:软件测试
实验项目:判断三角形
专业班级:软件0505班
姓名:
学号:
指导教师:**
沈阳工业大学实验报告
(适用计算机程序设计类)
专业班级:软件学院学号:姓名:实验名称:
附件A 沈阳工业大学实验报告
(适用计算机程序设计类)
专业班级:软件0505 学号:姓名:实验步骤或程序:
1.设计窗口
2.设计结构
ModelMain是程序的主入口,主要实现窗口的建立,从键盘接收三个变量,调用Triangle 类的构造方法和判断方法,并打印出结果。

Judge是一个判断接口定义了3个方法
Triangle是三角形类,实现了Judge接口
3.设计接口
4.实现内部功能
5.输出结果。

软件测试实验报告_使用Parasoft C++ Test软件进行静态测试

软件测试实验报告_使用Parasoft C++ Test软件进行静态测试

软件测试实验报告学号:学生姓名:班级:实验6 使用Parasoft C++ Test软件进行静态测试学号********** 姓名*** 班级***** 时间2************一.实验题目在三角形问题中,要求输入三角型的三个边长:A、B 和C。

当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。

若是等腰三角形打印“等腰三角形”,若是等边三角形,则打印“等边三角形”。

使用Parasoft C++ Test软件对三角形问题进行静态测试(代码走查)。

二.实验内容1. 安装并运行Parasoft C++ Test软件,了解其基本特点和功能。

2. 编写代码完成题目的功能要求,已有代码最好转成C++(或测试同学的代码),包含类的定义和使用。

3. 使用C++ Test软件对程序源代码进行静态测试1,生成测试报表。

静态测试1报表:4. 针对静态测试结果,对源程序进行修改,修改完成后再次进行静态测试2,根据结果检查之前的问题解决情况。

静态测试2报表:5. 实验报告:贴出静态测试1的测试报表,逐条对测试结果进行解释和分析。

然后贴出修改后的静态测试2的测试报表。

主要涉及到的问题:1.“{”、“}”占据一行;2.if、while等关键字后有空格;3.“=”、“+”等双目操作符前后各有一个空格;修改后的代码:#include "stdio.h"void Judge(int A,int B,int C);void main(){int A = 0, B = 0, C = 0;scanf("%ld %ld %ld", &A, &B, &C);Judge(A, B, C);}void Judge(int A,int B,int C){//注意:该函数内不能有scanf()语句,否则会无法测试//if (scanf("%ld %ld %ld", &A, &B, &C) != EOF){if (((A + B) > C) && ((A + C) > B) && ((B + C) > A)){printf("Girth is : %d ,", A + B + C);if ((A == B) && (A == C)){printf("Equilateral_Triangle\n");}else if ((A == B) || (B == C) || (A == C)){printf("Isosceles_Triangle\n");}else{printf("General_Triangle\n");}}else{printf("No_Triangle\n");}}}。

三角形测试实验报告

三角形测试实验报告

黑龙江大学实验报告黑龙江大学教务处测试计划(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月2计划2.1软件说明2.2测试内容单元测试。

某程序规定:输入三个整数作为三边的边长构成三角形。

当此三角形为一般三角形、等腰三角形及等边三角形时,分别说明。

2.3测试(标识符)2.3.1进度安排2.3.2条件所需测试机器:机房机器,品牌为联想,基本配置为奔腾4处理器,256M内存,80M硬盘系统环境:WINDOWS XP工具环境:VC++6.0中文版参与人员2.3.3测试资料1.《软件测试教程》.宫云战.机械工业出版社2008年9月2.《软件测试技术》.曲朝阳.中国水利水电出版社2006年8月3.《软件测试教程》.贺平.电子工业出版社2005年6月2.3.4测试培训1.《软件测试教程》宫云战机械工业出版社2008年9月第三章白盒测试2.金虎老师第三张白盒测试PPT课件3测试设计说明3.1测试此项测试采用白盒测试方法来测试该功能。

3.1.1控制环形复杂度为:6基本路径集如下:路径一:1-2-9-8路径二:1-2-3-10-8路径三:1-2-3-4-11-8路径四:1-2-3-4-5-12-8 路径五:1-2-3-4-5-6-13-8 路径六:1-2-3-4-5-6-7-83.1.2输入测试用例如下:3.1.3输出3.1.4过程由于这个程序比较简单,因此没有比较繁琐的步骤以及控制命令。

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

最新测试三角形软件测试程序报告
精品文档
精品文档
指导教师 评语
实验成绩
精品文档
精品文档
精品文档
是否是等腰 (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)

软件测试报告--三角形单元测试

软件测试报告--三角形单元测试

一.题目要求:使用c#语言编写程序,实现下面功能:输入三个数,判断能否构成三角形,如果能构成三角形,判断其为等边三角形、等腰三角形或不等边三角形。

三角形的判定方法有返回值,并对该方法进行测试。

二.源代码程序:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace TriangleTest{class Triangle{int a,b,c;public Triangle(int a0,int b0,int c0){this.a = a0;this.b = b0;this.c = c0;}public bool IsTriangle(){if ((a + b) > c && (a + c) > b && (b + c) > a)return true;elsereturn false;}public bool IsTwoEqualTriangle(){if (IsTriangle()){if (a == b || a == c || b == c)return true;elsereturn false;}else{Console.WriteLine("It is not a triangle!");return false;}}public bool IsThreeEqualTriangle(){if (IsTriangle()){if (a == b && a == c)return true;elsereturn false;}else{Console.WriteLine("It is not a triangle!");return false;}}static void Main(string[] args){int a=0, b=0, c=0;Console.WriteLine("Please input three edges:\n");a =Convert.ToInt32(Console.ReadLine());b = Convert.ToInt32(Console.ReadLine());c = Convert.ToInt32(Console.ReadLine());Triangle tri = new Triangle(a,b,c);if (tri.IsThreeEqualTriangle())Console.WriteLine("It is a threeequal triangle!");else{if (tri.IsTwoEqualTriangle())Console.WriteLine("It is a twoequal triangle!");elseif(tri.IsTriangle())Console.WriteLine("It is a triangle!");elseConsole.WriteLine("It is not a triangle!");}Console.ReadLine();}}}三.程序运行结果:1.判断是否为三角形:2.判断是否为等腰三角形:3.判断是否为等边三角形:四.测试脚本:进行三角形单元测试时,可选择总体测试,也可以一个一个测试。

软件测试实验报告3

软件测试实验报告3

一、三角形问题逻辑覆盖法1Scanner input=new Scanner(System.in);2double a=input.nextDouble();3double b=input.nextDouble();4double c=input.nextDouble();5boolean isTriangle=true;6if(a<1||a>200||b<1||b>200||c<1||c>200){7System.out.println("输入数据非法\n");}8else if((a+b)<=c||(a+c)<=b||(c+b)<=a){9System.out.println("非三角形\n");}10else if(a==b&&b==c&==c){11System.out.println("等边三角形\n");}12else if(a==b||b==c||a==c){13if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b){ 14System.out.println("等腰直角三角形\n");15}else{System.out.println("等腰三角形\n");}}16else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b){ 17System.out.println("直角三角形\n");}18else System.out.println("一般三角形\n");程序结构图语句:1、2、3、4、5、7、9、11、14、15、17、18路径:共七条路径(1)1-2-3-4-5-6-7(2)1-2-3-4-5-6-8-9(3)1-2-3-4-5-6-8-10-11(4)1-2-3-4-5-6-8-10-12-13-14(5)1-2-3-4-5-6-8-10-12-13-15(6)1-2-3-4-5-6-8-10-12-16-17(7)1-2-3-4-5-6-8-10-12-16-18判定:(1)a<1||a>200||b<1||b>200||c<1||c>200 (节点6)(2)(a+b)<=c||(a+c)<=b||(c+b)<=a (节点8)(3)a==b&&b==c (节点10)(4)a==b||b==c||a==c (节点12)(5)a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b (节点13)(6)a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b (节点16)条件:(1)a<1||a>200||b<1||b>200||c<1||c>200 (1.1-1.6)(2)(a+b)<=c||(a+c)<=b||(c+b)<=a (2.1-2.3)(3)a==b&&b==c (3.1,3.2)(4)a==b||b==c||a==c (4.1,4.2,4.3)(5)a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b (5.1,5.2,5.3) (6)a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b (6.1,6.2,6.3)1、语句覆盖/路径覆盖2、判定覆盖3、条件覆盖/判定条件覆盖二、NextDate问题基路径方法1.Scanner input=new Scanner(System.in);2.int year=input.nextInt(),input.nextInt(),day=input.nextInt();3.int tomorrowday=day,tomorrowmonth=month,tomorrowyear=year;4.if(year<1900||year>2100||month<1||month>12||day<1||day>31) {5.System.out.printf("输入日期非法");System.exit(-1);}6.else if((month==4||month==6||month==9||month==11)&&(day==31)){7.System.out.printf("输入日期不存在\n");System.exit(-1);}8.else if((year%400==0||(year%100!=0&&year%4==0))&&month==2&&day>29){9.System.out.printf("输入日期不存在\n");System.exit(-1);}10.elseif((!(year%400==0||(year%100!=0&&year%4==0))&&month==2&&day>28)){11.System.out.printf("输入日期不存在\n");System.exit(-1);}12.else if((month==4||month==6||month==9||month==11)&&day==30)13.{ tomorrowmonth++;14.tomorrowday=1; }15.elseif((month==1||month==3||month==5||month==7||month==8||month==10)&&day==31)16.{ tomorrowmonth++;17.tomorrowday=1;}18.else if(month==12&&day==31)19.{ tomorrowyear++;20.tomorrowmonth=1;21.tomorrowday=1;}22.else if(month==2&&(year%400==0||(year%100!=0&&year%4==0))&&day==29)23.{ tomorrowmonth++;24.tomorrowday=1;}25.elseif(month==2&&(!(year%400==0||(year%100!=0&&year%4==0)))&&day==28)26.{ tomorrowmonth++;27.tomorrowday=1;}28.else{ tomorrowday++;}29.System.out.println("nextdayis\n"+tomorrowyear+"/"+tomorrowmonth+"/"+tomorrowday);程序结构图基路径数量:分支节点:4、6、8、10、12、15、18、22、25基路径数量9+1=10基路径:(1)最长的路径:Start-1-2-3-4-6-8-10-12-15-18-22-25-26-27-29-End (2)节点4翻转:Start-1-2-3-4-5-29-End(3)节点6翻转:Start-1-2-3-4-6-7-29-End(4)节点8翻转:Start-1-2-3-4-6-8-9-29-End(5)节点10翻转:Start-1-2-3-4-6-8-10-11-29-End(6)节点12翻转:Start-1-2-3-4-6-8-10-12-13-14-29-End(7)节点15翻转:Start-1-2-3-4-6-8-10-12-15-16-17-29-End(8)节点18翻转:Start-1-2-3-4-6-8-10-12-15-18-19-20-21-29-End (9)节点22翻转:Start-1-2-3-4-6-8-10-12-15-18-22-23-24-29-End (10)节点25翻转:Start-1-2-3-4-6-8-10-12-15-18-22-25-28-29-End三、佣金问题数据流测试方法1.double lockprice=45,stockprice=30,barrelprice=25;2.double totallocks=0,totalstocks=0,totalbarrels=0;3.double commission;4.Scanner input=new Scanner(System.in);5.System.out.print("Input the locks,stocks and barrels:\n");6.int locks=input.nextInt(),stocks=input.nextInt(),barrels=input.nextInt();7.if(1>locks||locks>70||1>=stocks||locks>=80||1>=barrels||barrels>=90){8.System.out.println("输入错误");System.exit(-1);}9.totallocks=totallocks+locks;10.totalstocks=totalstocks+stocks;11.totalbarrels=totalbarrels+barrels;12. doublelocksales=lockprice*totallocks,stocksales=stockprice*totalstocks,barrelsales=barrelprice*totalbarrels,sales=locksales+stocksales+barrelsales;13.if(sales>1800){mission=0.10*1000;mission=commission+0.15*800;mission=commission+0.20*(sales-1800);}17.else if(sales>1000){mission=0.10*1000;mission=commission+0.15*(sales-1000);}20.else commission=0.10*sales;21.System.out.print("commission is$:"+commission);程序流程图定义—使用路径:locks:(1)6-7 是定义—清除路径(2)2-3-4-5-6-7-9 是定义—清除路径stocks:(1)6-7 是定义—清除路径(2)6-7-9-10 是定义—清除路径barrels:(1)6-7 是定义—清除路径(2)6-7-9-10-11 是定义—清除路径sales:(1)12-13 是定义—清除路径(2)12-13-14-15-16 是定义—清除路径(3)12-13-17 是定义—清除路径(4)12-13-17-18-19 是定义—清除路径(5)12-13-17-20 是定义—清除路径commission:(1)14-15-16-21 不是定义—清除路径(2)15-16-21 不是定义—清除路径(3)16-21 是定义—清除路径(4)18-19-21 不是定义—清除路径(5)19-21 是定义—清除路径(6)20-21 是定义—清除路径分析:locks、stocks、barrels与sales没有非定义清除路径,commission却有3条非定义—清除路径,所以该变量在使用之前可能被定义两次或多次,可将14-15-16三条语句合并成一条一句,18-19两条语句合并成一条语句,减少缺陷。

软件测试实验一-三角形问题

软件测试实验一-三角形问题

三角形问题接受三个整数a、b和c作为输入,用做三角形的边。

程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形。

(说明:三边边长小于200)源程序:#include<iostream>using namespace std;float a,b,c; //全局变量(边长)int input (void); //边长输入函数int main (void) //主函数{float tmp;int i;char ch=c; //ch程序控制while(ch!='s'&&ch!='S'){input();if(!(a>0&&a<200)&&(b>0&&b<200)&&(c>0&&c<200)) //边界检查{cout<<"输入数据不符合范围要求,请检查后按任意键重新输入(输入s结束程序):";continue;}for(i=0;i<3;i++) //三边排序(升序){if (a>b) { tmp=a;a=b; b=tmp; }if (b>c) { tmp=b;b=c; c=tmp; }}if((a+b>c)&&(c-a<b)&&(c-b<a)) //判断能否构成三角形{if(a==b&&b==c){cout<<"等边三角形"<<endl;}else if(a==b||a==c||b==c){cout<<"等腰三角形"<<endl;}else{cout<<"不等边三角形"<<endl;}}else{cout<<"输入三边不能构成三角形,按任意键重新输入(输入s结束程序):";cin>>ch;}}return 0;}int input (void){cout<<endl<<"输入三边长(0~200):"<<endl<<"a:";cin>>a;cout<<"b:";cin>>b;cout<<"c:";cin>>c;cout<<endl;return 0;}THANKS !!!致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考。

软件测试实验1:为三角形问题编写一个Java程序,并用Junit测试程序

软件测试实验1:为三角形问题编写一个Java程序,并用Junit测试程序

软件测试实验1:为三⾓形问题编写⼀个Java程序,并⽤Junit测试程序实验报告实验内容:1.Install Junit(4.12), Hamcrest(1.3) with Eclipse2.Install Eclemma with Eclipse3.Write a java program for the triangle problem and test the program with Junit.实验步骤:1.在eclipse中安装Junit、Hamcrest和eclemma。

下载Junit-4.12.jar、hamcrest-core-1.3.jar、和hamcrest-library-1.3.jar。

打开eclipse,新建⼀个project,在eclipse的菜单栏中,选择Project->Properties,在弹出的框的左侧选择“Java Bulid Path”,然后点击“Add External JARs”,把下载的⼏个包添加进来。

如图:安装eclemma:选择eclipse菜单中的“Help”,选择"Eclipse marketplace...",搜索eclemma,点击install开始安装。

安装完成后重启eclipse。

看到快捷按钮中的,说明eclemma安装成功。

2.程序代码和测试代码:可查看https:///realpby/SWTesting/blob/master/First%20Lab项⽬的⽬录如图:triCalculate.java⽂件中是实现三⾓形问题的代码。

testCalculate.java中是测试程序的代码。

triCalculate.java:package triangle;public class triCalculate {private static int tri =0;public void triangle(int a,int b, int c){if(a<=0||b<=0||c<=0){tri=0;}else{if(((a+b)>c) && ((a+c)>b && (b+c)>a)){if((a == b) &&(a == c)){tri = 3;//equilateral}if((a==b && a!=c)||(a==c && a!=b)||(b==c && a!=b)) {tri = 2;//isosceles}if(a!=b && a!=c && b!=c){tri = 1;//scalene}}else{tri=0;//三边长度⽆法构成三⾓形}}}public int getReuslt(){return tri;}public void clear(){tri = 0;}}testCalculate.java:package triangle;import static org.junit.Assert.*;import org.junit.Test;public class testCalculate {private static triCalculate cal = new triCalculate();@Testpublic void testTriangle(){cal.triangle(-5, 5, 5);assertEquals(0, cal.getReuslt());cal.triangle(5, 5, 5);assertEquals(3, cal.getReuslt());cal.triangle(5, 5, 6);assertEquals(2, cal.getReuslt());cal.triangle(3, 4, 5);assertEquals(1, cal.getReuslt());cal.triangle(12, 5, 5);assertEquals(0, cal.getReuslt());cal.triangle(10, 5, 5);assertEquals(0, cal.getReuslt());cal.triangle(11, 5, 5);assertEquals(3, cal.getReuslt());}}3.三⾓问题测试的测试结果和覆盖报告截图如下:测试程序中(11,5,5)这组数据不为3,所以出现⼀个failure。

C#判断三角形测试报告测试报告

C#判断三角形测试报告测试报告

C#判断三角形测试报告测试报告三角形判断测试质量报告拟制: 日期:审核: 日期:修订历史记录版本号修订日期 AMD 修订人修订内容说明 0.02 2013.4.10 M 张森程序出现逻辑错误并修改(N-新建,A-添加,M-修改,D-删除)目录1. 项目简介 ..................................................................... ........................................................................ .................. 4 1.1 编写文档目的 ..................................................................... ........................................................................ .. 4 1.2 项目简述 ..................................................................... ........................................................................ .......... 4 2. 测试概要 ..................................................................... ........................................................................ .................. 4 2.1 测试用例设计方法 ....................................................................................................................................... 4 2.2 测试环境与配置 ..................................................................... . (4)3. 测试情况 ..................................................................... ........................................................................ .................. 4 3.1 黑盒测试: .................................................................... ........................................................................ ....... 4 3.2 白盒法测试: .................................................................... ........................................................................ ... 5 4. 测试结果及分析 ..................................................................... ........................................................................ ...... 7 4.1 测试情况统计分析 ..................................................................... .................................................................. 7 4.2 缺陷的统计与分析 ..................................................................... .................................................................. 7 4.3 测试结论及分析 ..................................................................... (7)4.4批准 ..................................................................... ........................................................................ (7)三角形判断测试报告1. 项目简介1.1 编写文档目的三角形测试判断程序测试: 这份测试计划书是为了测试C语言程序能否运行成功,以达到预期效果,然后给出正确答案或提示错误。

软件测试三角形问题(覆盖测试)

软件测试三角形问题(覆盖测试)
判定覆盖和分支条件覆盖是很容易弄混的知识点。刚开始学习这两种覆盖的时候,我就很难分清。在实验之前复习之后,有了很深的印象。判定覆盖要求测试每个判定的结果,是IF,CASE语句中的所有可能。使得程序中的每个判定至少都获得一次真值和假值。即要使程序中的每个取真分支和取假分支至少均经历一次。在本次的实验中,只要测试三个IF语句就行。



等边三角形
5
5
5
6
T1,T2,T3,-T4,-T5


-
等腰三角形
6
5
6
7
T1,T2,T3,T4,T5,-T6



普通三角形
六.分支条件组合测试分析
设计的测试用例,需要将原子条件的所有true-false组合至少执行一遍。并且满足分支条件组合测试包括语句覆盖和分支覆盖。
根据流程图得出测试用例,如表4。
(2)如果三条边相等,则程序输出为“等边三角形”;
(3)如果恰好有两条边相等,则程序输出为等腰三角形;
(4)如果三条边都不相等,则程序输出为普通三角形。
3.根据以上分析及流程图得出测试用例,如表2。
表2判定覆盖测试用例
测试
用例
a
b
c
a+b>c&&b+c>a&&a+c>b
a=b&&b=c
a=b||b=c||a=c
分支条件测试是将IF,CASE这种语句的原子条件的所有真分支和取假分支至少均经历一次。一个条件包含多个原子条件。就是将分支语句分解。较判定覆盖较麻烦,但测试的更加细致,具体。分支条件组合测试和分支条件测试差不多。只是在分支条件测试的基础上,加入了判定测试。条件组合只针对同一个判断语句存在多个条件的情况,让这些条件的取值进行笛卡尔乘积组合。不同的判断语句内的条件取值之间无需组合。对于但条件的判断语句,只需要满足自己的所有取值即可。

三角形程序测试报告盛翔

三角形程序测试报告盛翔

三角形程序测试报告班级:软件81301姓名:盛翔学号:1300471211.引言1.1标识系统环境:Windows XP工具环境:VC++6.0中文版1.2系统概述此项测试采用白盒测试方法来测试该功能。

1.3程序代码import javax.swing.JOptionPane; public class Triangle { private int a; private int b; priv ate int c;public Triangle(int a,int b,int c){ this.a=a; this.b=b; this.c=c; }public int getA() { return a; }public void setA(int a) { this.a = a; }public int getB() { return b; }public void setB(int b) { this.b = b; }public int getC() { return c; }public void setC(int c) { this.c = c; }public boolean isTriangle( int a,int b,int c){if(a+b>c&&a+c>b&&b+c>a){ return true; }else{return false;//System.out.println("不能构成三角形");}}public boolean isEquilateralTriangle(int a,int b,int c){//等边三角形if(isTriangle(a, b, c)){if(a == b&&b == c){//System.out.println("等边三角形");JOptionPane.showMessageDialog(null, "等边三角形");}else{return false;}}return false;}public boolean isISoscelesTriangle(int a,int b,int c){if(isTriangle(a, b, c)){if(a == b&&b != c||b==c&&b!=a||a==c&&a!=c){//System.out.println("等腰三角形");JOptionPane.showMessageDialog(null, "等腰三角形");}else{ return false;}} return false;}public boolean isCommonTriangle(int a,int b,int c){if(isTriangle(a, b, c)){ if (a!=b && a!=c && b!=c) {JOptionPane.showMessageDialog(null, "普通三角形");}else{return false; }}return false;}public boolean isNotTriangle(int a,int b,int c){if (a+b<=c||a+c<=b||b+c<=a) {JOptionPane.showMessageDialog(null, "不能构成三角形");} else{return false;}return false;}public static void main(String[] args) {try {String A,B,C;A=JOptionPane.showInputDialog("请输入第一条边:");int a=Integer.parseInt(A);while(a<=0||a>=200) {A=JOptionPane.showInputDialog("请输入第一条边(0~200):"); a=Integer.parseInt(A); }B=JOptionPane.showInputDialog("请输入第二条边:");int b=Integer.parseInt(B); while(b<=0||b>=200) {B=JOptionPane.showInputDialog("请输入第二条边(0~200):"); b=Integer.parseInt(B); }C=JOptionPane.showInputDialog("请输入第三条边:"); int c=Integer.parseInt(C); while(c<=0||c>=200) {C=JOptionPane.showInputDialog("请输入第三条边(0~200):"); c=Integer.parseInt(C); }Triangle triangle=new Triangle(a, b, c);triangle.isTriangle(a, b, c);triangle.isEquilateralTriangle(a, b, c);triangle.isISoscelesTriangle(a, b, c);triangle.isCommonTriangle(a, b, c);triangle.isNotTriangle(a, b, c);} catch (Exception e) {JOptionPane.showMessageDialog(null, "请输入有效数据:");}}}2.引用文件《软件测试技术教程》徐光侠韦庆杰主编3.测试结果概述3.1对被测试软件的总体评估不能判定不足三个数或超过三个数,程序代码未能实现这一功能。

判断三角形程序的测试报告

判断三角形程序的测试报告

判断三角形程序的测试报告姓名:郭新宇学号:110402420041、三角形问题输入三个整数a、b、c分别作为三角形的三条边现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形、特殊的还有直角三角形,以及不构成三角形。

现在要求输入三个整数a、b、c必须满足以下条件条件1 1≤a<100 条件4 a<b+ c条件2 1≤b<100 条件5 b<a+ c条件3 1≤c<100 条件6 c<a+ b如果输入值a、b、c不满足条件1、条件2和条件3 程序给出“边的取值超出允许范围”的信息。

如果输入值a、b、c 满足条件1、条件2和条件3则输出下列四种情况之一1如果不满足条件4、条件5和条件6中的一个则程序输出为“非三角形”。

2如果三条边相等则程序输出为“等边三角形”。

3如果恰好有两条边相等则程序输出为“等腰三角形”。

4如果三条边都不相等则程序输出为“一般三角形”。

2、测试目的:通过测试,判断程序是否达到预期的要求,程序是否存在问题。

3、测试用例设计依据和方法:等价类方法和边界值方法。

4、测试用例设计分析1,、有效数据位1到1002、输出结果:非三角形,等腰三角形,等边三角形,直角三角形,一般三角形或XX 的值不在允许范围内5、测试用例表操作过程序号输入及操作说明期望的测试值评价标准实测结果11,2,4非三角形非三角形非三角形25,5,5等边三角形等边三角形等边三角形33,4,5直角三角形直角三角形直角三角形42,3,3 等腰三角形等腰三角形等腰三角形56,7,9一般三角形一般三角形一般三角形6-1,5,5 a 的值不在允许范围内a 的值不在允许范围内a 的值不在允许范围内附:程序代码#include <stdio.h>void main(){int a,b,c;printf("请输入三个整数,用逗号分隔!");scanf("%d,%d,%d",&a,&b,&c);if((a<=0)||(b<=0)||(c<=0)){if(a<=1)printf("a 的值不在取值范围内!");else if (b<=1)printf("b 的值不在取值范围内!");else if (c<=1)printf("c 的值不在取值范围内!");}else if ((a>=100)||(b>=100)||(c>=100)){if (a>=100)printf("a 的值不在取值范围内!");else if (b>=100)printf("b 的值不在取值范围内!");else if (c>=100)printf("c 的值不在取值范围内!");}else if ((a+b<=c)||(b+c<=a)||(a+c<=b))printf("非三角形!");else if ((a==b)&&(b==c)&&(a==c))printf("等边三角形!");else if (((a==b)&&(a!=c))||((a==c)&&(a!=b))||((c==b)&&(a!=c))) printf("等腰三角形!");else if (a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)printf("直角三角形!");else printf("一般三角形!");}。

软件测试实验二(三角形白盒测试)报告

软件测试实验二(三角形白盒测试)报告

实验二测试报告一、核心程序代码/** 判断三角形的类 */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;}}}二、程序流程图①Na +b >c && b + c> a && a + c > bY②Ya ==b && b ==cN④a ==b || b ==c ||a == cN Y③⑥⑦⑤Return 3 Return 1 Return 2 Return 0Exit三、测试用例1.语句覆盖测试用例:输入期望输出覆盖对象测试结果Case1 Case2 Case3 Case4 a=1, b=2, c=3a=3, b=4, c=5123①,⑤0123①,②,④,⑥①,②,④,⑦①,②,③a=3, b=3, c=4a=3, b=4, c=52.判定覆盖测试用例输入期望输出覆盖对象测试结果Case11 Case12 Case13 Case14 a=1, b=2, c=3a=3, b=4, c=5a=3, b=3, c=4a=3, b=4, c=5123①,⑤0123①,②,④,⑥①,②,④,⑦①,②,③3.条件覆盖测试用例输入期望输出覆盖对象测试结果Case5 Case6 Case7 Case8 a=1, b=6, c=7a=7, b=1, c=6a=1, b=7, c=6a=3, b=3, c=42F1, T2, T3 02T1, F2, T3T1, T2, F3T1, T2, T3, T4,F5, T6, F7, F8T1, T2, T3, F4,F5, F6, F7, T8T1, T2, T3, F4,T5, F6, T7, F8Case9 a=3, b=4, c=3a=4, b=3, c=3 2222Case104.条件-判定覆盖测试用例输入期望输出覆盖对象测试结果Case15 Case16 Case17 Case18 a=1, b=6, c=7 0 F1, T2, T3 0(①,②)a=7, b=1, c=6a=1, b=7, c=6a=3, b=3, c=42T1, F2, T3 02(①,②))T1, T2, F3(①,②)T1, T2, T3, T4,F5, T6, F7, F8(①,②,③,⑦)F T1, T2, T3, 4,F5, F6, F7, T8(①,②,③,⑦)T1, T2, T3, F4,T5, F6, T7, F8(①,②,③,⑦)F1, T2, T3Case19 Case20 a=3, b=4, c=3a=4, b=3, c=32222Case21 Case22 a=3, b=3, c=3a=3, b=4, c=53131(①,②,③)T1, F2, T3(①,②,④,⑥)5.条件组合覆盖测试用例输入期望输出覆盖对象F1, T2, T3T1, F2, T3T1, T2, F2T1, T2, T3,T4, T5 测试结果Case23 Case24 Case25 Case26 a=1, b=6, c=7 033 a=7, b=6, c=1a=1, b=7, c=6a=3, b=3, c=3Case27 a=3, b=3, c=4 2 T1, T2, T3,T4, F5,2Welcome To Download !!!欢迎您的下载,资料仅供参考!。

软件测试实验报告

软件测试实验报告

软件测试实验报告姓名:*******专业:********************* 班级:***********学号:*************日期:2011-5-25实验一:黑盒测试一、实验目的:了解三角形问题的边界值分析测试用例。

二、实验要求:在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。

在此,我们将三角形每边边长的取范围值设值为[1, 100] 。

在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。

利用这些信息能够确定下列输出(值域)等价类。

R1 = { <a,b,c>: 边为a,b,c的等边三角形}R2 = { <a,b,c>: 边为a,b,c的等腰三角形}R3 = { <a,b,c>: 边为a,b,c的一般三角形}R4 = { <a,b,c>: 边为a,b,c不能组成三角形}三、实验程序:#include "iostream.h"void main(){int a,b,c;cout<<"请输入1<=a<=100或1<=b<=100或1<=c<=100"<<endl;cin>>a>>b>>c;if((1<=a&&a<=100)&&(1<=b&&b<=100)&&(1<=c&&c<=100)){if(a+b>c&&a+c>b&&c+b>a){if(a==b&&a==c&&c==b){ cout<<"三角形为等边三角形"<<endl;}else if(a==b||a==c||c==b){cout<<"三角形为等腰三角形"<<endl;}else if((a*a+b*b)==c*c||(c*c+b*b)==a*a||(a*a+c*c)==b*b){cout<<"三角形为直角三角形"<<endl;}else cout<<"a,b,c可组成三角形"<<endl;}else cout<<"不存在a,b,c组成的三角形"<<endl;}else cout<<"a或b或c的值不合法,无法判断"<<endl;}四、测试用列:用列ID a b c 预期输出1 1 1 1 三角形为等边三角形2 2 2 1 三角形为等腰三角形3 345 三角形为直角三角形4 2 2 2 三角形为等边三角形5 2 3 3 三角形为等腰三角形6 4 3 5 三角形为直角三角形7 5 4 3 三角形为直角三角形8 1 1 2 不存在a,b,c组成的三角形9 4 2 2 不存在a,b,c组成的三角形10 2 4 2 不存在a,b,c组成的三角形11 4 2 5 不存在a,b,c组成的三角形12 0 0 0 a或b或c的值不合法,无法判断13 0 1 1 a或b或c的值不合法,无法判断14 2 0 12 a或b或c的值不合法,无法判断15 13 13 0 a或b或c的值不合法,无法判断16 100 100 100 三角形为等边三角形17 100 100 0 a或b或c的值不合法,无法判断18 100 12 101 a或b或c的值不合法,无法判断19 100 12 100 不存在a,b,c组成的三角形20 90 90 80 三角形为等腰三角形五、等价类划分:输入条件有效等价类编号无效等价类编号三角形a+b>c&&a+c>b&&c+b>a&&a=b& &c=b 1 a<1,a>100,b<1,b>100,c<1,c>1005a+b>c&&a+c>b&&c+b>a&&a=b||c=b2a+b>c&&a+c>b&&c+b>a&& 3非三角形a+b<c||a+c<b||c+b<a 4六、实验结论:通过实验要求的条件编写的程序和测试用列的预期输出证明给该程序是正确的实验二:黑盒测试1.一、实验目的:了解xtDate函数的边界值分析测试用例。

软件测试--三角形

软件测试--三角形

黑盒测试实验(一)等价类划分小组成员:88888 组长:888888日期:2012.3.21 成绩:实验目的:通过简单程序黑盒测试,熟悉测试过程,对软件测试进一步了解,能够用黑盒测试技术设计测试用例。

实验内容1.主要程序代码package addypp;import java.util.*;class Hu{ int a;int b;int c;void judge(){Scanner in = new Scanner(System.in);System.out.println("请输入三角形的三边a,b,c。

");a = in.nextInt();b = in.nextInt();c = in.nextInt();if(a<0||a>100||b<0||b>100||c<0||c>100)System.out.println("不满足条件");else if((a+b)<=c||(b+c)<=a||(a+c)<=b)System.out.println("不是三角形");else if(a==b&&b==c&&c==a)System.out.println("三角形是等边三角形");else if(a==b||b==c||c==a)System.out.println("三角形是等腰三角形");elseSystem.out.println("三角形是一般三角形");}}2.等价类划分方法设计的测试用例(等价类表,和测试用例表,要有预期结果和实际结果)等价类表:输入条件 有效等价类 无效等价类一般三角形 a>0 and b>0 and c>0and 【(a+b)>c 或者(a+c)>b 或者(b+c)>a 】(1)a<0或者b<0或者c<0或者a>100或者b>100或者c>100(2)(a+b)<=c 或者 ((a+c)<=b)或者 ((b+c)<=a) (3) 等腰三角形 (a=b)或者(b=c)或者(c=a)(4) a!=b!=c (5) 等边三角形a=b=c (6)a!=b!=c (5)测试用例表:序号 输入数据(a 、b 、c ) 覆盖测试用例 预期结果实际结果1 3、4、5 (1) 三角形是一般三角形 三角形是一般三角形 2 -1、4、5 (2) 不满足条件 不满足条件 3 101、4、5 (2) 不满足条件 不满足条件 4 1、4、5 (3) 不是三角形 不是三角形 5 3、3、5 (4) 三角形是等腰三角形 三角形是等腰三角形 6 2、5、9 (3)(5) 不是三角形 不是三角形 75、5、5(6)三角形是等边三角形三角形是等边三角形3.结果分析程序运行正确。

三角形问题测试分析报告

三角形问题测试分析报告

三角形问题测试报告————————————————————————————————作者:————————————————————————————————日期:三角形问题测试报告1、简介1.1编写目的本测试报告为三角形问题的测试报告,目的在于总结测试阶段的测试以及分析测试结果,通过测试来检测每个功能是否都能正常使用。

预期参考人员包括测试人员、开发人员和需要阅读本报告的老师。

1.2项目背景本项目为软件测试专周任务。

1.3术语边界值分析法:就是对输入或输出的边界值进行测试的一种黑盒测试方法。

通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

等价类划分:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。

每一类的代表性数据在测试中的作用等价于这一类中的其他值。

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

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

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

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

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

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

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

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

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

1.4参考资料《软件测试教程第2版》 《软件测试入门与提高》 《软件测试实例分析》2、 测试概要2.1程序流程图输入三条边a,b,c输出结果一般三角形等腰三角形(a+b>c)&&(a+c>b)&&(b+c>a)不能构成三角形(a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=b)a==b&&a==c等边三角形(a*a+b*b==c*c)||(a*a+c*c ==b*b)||(c*c+b*b==a*a)直角三角形YNYYYNNN①⑨③②④⑥⑤⑦⑧2.2测试程序源代码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 triangle{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){lb_result.Text = "";tb_sideA.Focus();}private void bt_test_Click(object sender, EventArgs e){try{int x = int.Parse(tb_sideA.Text);int y = int.Parse(tb_sideB.Text);int z = int.Parse(tb_sideC.Text);utils u = new utils();if (u.checkNotZero(x, y, z)){if (u.checkTriangle(x, y, z)){if (x == y && x == z && z == y){lb_result.Text = "(*^__^*) 嘻嘻这是一个等边三角形";}else if (x * x + y * y == z * z || x * x + z * z == y * y || z * z + y * y == x * x){lb_result.Text = "(*^__^*) 嘻嘻这是一个直角三角形";}else if (x == y || x == z || z == y){lb_result.Text = "(*^__^*) 嘻嘻这是一个等腰三角形";}else{lb_result.Text = "⊙﹏⊙b汗这是一个一般三角形";}}else{lb_result.Text = " ╮(╯_╰)╭这不是一个三角形";}}else{lb_result.Text = " +_+ 输入有误,请重来";}}catch { }}private void bt_clear_Click(object sender, EventArgs e){tb_sideA.Text = "";tb_sideB.Text = "";tb_sideC.Text = "";tb_sideA.Focus();}private void bt_exit_Click(object sender, EventArgs e){this.Close();this.Dispose();}}class utils{public Boolean checkTriangle(int x, int y, int z){if (x + y > z && x + z > y && z + y > x){return true;}return false;}public Boolean checkNotZero(int x, int y, int z){if (x >= 0 && x <= 100 && y >= 0 && y <= 100 && z >= 0 && z <= 100){return true;}return false;}}}2.3白盒测试语句覆盖:编号 a b c 覆盖对象期望输出实际结果1 4 4 5 ①②③等腰三角形等腰三角形2 4 4 4 ①②④⑤等边三角形等边三角形3 345 ①②④⑥⑦直角三角形直角三角形4 456 ①②④⑥⑧一般三角形直角三角形5 4 5 9 ①⑨不能构成三角形不能构成三角形判定覆盖:编号 a b c 覆盖对象期望输出实际结果1 4 4 5 ①②③等腰三角形等腰三角形2 4 4 4 ①②④⑤等边三角形等边三角形3 345 ①②④⑥⑦直角三角形直角三角形4 456 ①②④⑥⑧一般三角形一般三角形5 4 5 9 ①⑨不能构成三角形不能构成三角形条件覆盖:判定1T1_1 (a + b > c) T1_2(a + c > b) T1_3 (b + c > a)判定2T2_1 (a == b && b != c)T2_2 (a == c && c != b)T2_3 (b == c && a != b)判定3T3_1 (a == b) T3_2 (b == c)判定4T4_1 (a*a+b*b==c*c)T4_2 (a*a+c*c==b*b)T4_3 (c*c+b*b==a*a)编号 a b c 覆盖对象期望输出实际结果6 4 4 5 T1_1,T1_2, T1_3,T2_1, F2_2, F2_3等腰三角形等腰三角形7 4 5 4 T1_1,T1_2, T1_3,F2_1, T2_2, F2_3等腰三角形等腰三角形8 4 5 5 T1_1,T1_2, T1_3,F2_1, F2_2, T2_3等腰三角形等腰三角形9 4 4 4 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3,T3_1,T3_2等边三角形等边三角形10 3 4 5 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,T4_1, F4_1, F4_1直角三角形直角三角形11 3 5 4 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,T4_1, F4_2, F4_3直角三角形直角三角形12 5 3 4 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,F4_1, T4_2, F4_3直角三角形直角三角形13 4 5 6 T1_1,T1_2, T1_3,F2_1,F2_2,F2_3 ,F3_1,F3_2,F4_1, F4_2,F4_3一般三角形一般三角形14 3 4 7 F1_1,T1_2, T1_3 不能构成三角形不能构成三角形15 3 7 4 T1_1,F1_2, T1_3 不能构成三角形不能构成三角形16 7 3 4 T1_1,T1_2, F1_3 不能构成三角形不能构成三角形2.4黑盒测试边界值分析:每条边的取值范围[0,100]编号 a b c 期望输出实际结果1 0 50 50 无效输入无效输入2 1 50 50 等腰三角形等腰三角形3 100 50 50 等腰三角形等腰三角形4 101 50 50 无效输入无效输入5 50 0 50 无效输入无效输入6 50 1 50 等腰三角形等腰三角形7 50 100 50 等腰三角形等腰三角形8 50 101 50 无效输入无效输入9 50 50 0 无效输入无效输入10 50 50 1 等腰三角形等腰三角形11 50 50 100 等腰三角形等腰三角形12 -1 50 101 无效输入无效输入13 50 50 50 等边三角形等边三角形等价类划分:输入条件有效等价类编号无效等价类编号是否构成三角形a>=1&&a<=100 1a<1 7b<1 8 b>=1&&b<=100 2c<1 9a>100 10 c>=1&&c<=100 3c>100 11c>100 12a+b>c 4 a+b<=c 13 a+c>b 5 a+c<=b 14 b+c>a 6 b+c<=a 15是否等腰三角形a==b && b!=c 16a!=b&&b!=c 19 a==c && c!=b 17b==c && a!=b 18是否等边三角形a==b && a==c 20a!=b 21b!=c 22a!=c 23是否直角三角形a*a+b*b==c*c 24 a*a+b*b!=c*c &&a*a+c*c!=b*b &&c*c+b*b!=a*a27 a*a+c*c==b*b 25c*c+b*b==a*a 26编号 a b c 覆盖等价类预期输出1 4 5 6 1,2,3,4,5,6 一般三角形2 -4 5 6 7 无效输入3 4 -5 6 8 无效输入4 45 -6 9 无效输入5 101 56 10 无效输入6 4 101 6 11 无效输入7 4 5 101 12 无效输入8 4 5 9 13 不能构成三角形9 4 13 9 14 不能构成三角形10 14 5 9 15 不能构成三角形11 4 4 6 1,2,3,4,5,6,16 等腰三角形12 4 6 4 1,2,3,4,5,6,17 等腰三角形13 4 6 6 1,2,3,4,5,6,18 等腰三角形14 4 5 6 1,2,3,4,5,6,19 一般三角形15 4 4 4 1,2,3,4,5,6,20 等边三角形16 4 5 6 1,2,3,4,5,6,21 一般三角形17 4 5 6 1,2,3,4,5,6,22 一般三角形18 4 5 6 1,2,3,4,5,6,23 一般三角形19 3 4 5 1,2,3,4,5,6,24 直角三角形20 3 5 4 1,2,3,4,5,6,25 直角三角形21 5 3 4 1,2,3,4,5,6,26 直角三角形22 4 5 6 1,2,3,4,5,6,27 一般三角形2.5测试环境与配置操作系统:windows 8.1Cpu:Intel(R) Core(TM)i7_4700HQ内存:8G3、测试结论与总结测试执行只是针对部分用户进行测试,尚有未考虑充分之处。

最新软件测试实验报告

最新软件测试实验报告

桂林航天工业学院课程设计报告课程名称:软件测试专业:软件技术学号:201102520xxx姓名:指导教师:实验一黑盒测试一.实验目的(1)能熟练应用黑盒测试技术进行测试用例设计;(2)对测试用例进行优化设计;二.实验内容1.三角形问题的边界值分析测试用例在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。

在此,我们将三角形每边边长的取范围值设值为[1,100]。

在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。

利用这些信息能够确定下列输出(值域)等价类。

R1={<a,b,c>:边为a,b,c的等边三角形}R2={<a,b,c>:边为a,b,c的等腰三角形}R3={<a,b,c>:边为a,b,c的一般三角形}R4={<a,b,c>:边为a,b,c不能组成三角形}2.找零钱最佳组合假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。

假定此商店的货币面值只包括:50元(N50)、10元(N10)、5元(N5)、1元(N1)四种。

请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。

三、程序代码1.三角形问题程序。

#include<stdio.h>int main(void){int a,b,c;//定义三个整数a,b,cprintf("请输入1到100的三个整数:");scanf("%d%d%d",&a,&b,&c);if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(b>=1&&b<=100))//判断取值范围{if((a+b>c)&&(a+c>b)&&(b+c>a))//判断是否构成三角形{if(a==b&&b==c)printf("等边三角形\n");else if(a==b||a==c||b==c)printf("等腰三角形\n");elseprintf("一般三角形\n");}elseprintf("不能组成三角形\n");}elseprintf("输入1到100的三个整数!\n");return0;}2.找零钱最佳组合问题程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21
[2,3,4]
(1)(2)(3)(4)(5)(6)(22)
非直角三角形
22
[6,7,8]
(1)(2)(3)(4)(5)(6)(26)
非腰边三角形
23
[7,8,9]
(1)(2)(3)(4)(5)(6)(28)
非等边三角形
24
[7,7,8]
(1)(2)(3)(4)(5)(6)(29)
非等边三角形
25
int day;
int year;
}MyDate;
MyDate PreDate(MyDate date);
int Leapyear(int year);
void Print(MyDate date);
MyDate PreDate(MyDate date)
//输入日期有效性检查中其他模块实现,此处假设输入日期都是合法数据
表电话号码程序的等价划分
输入条件有效等价类无效等价类
地区码空白(1),3位数字(2)有非数字字符(5),少于3位数字(6),多于三位数字(7)
前缀从200到999之间的3位数字(3)有非数字字符(8),起始位为"0"(9),起始位为"1"(10),少于3位数字(11),多于3位数字(12)
后缀4位数字(4)有非数字字符(13),少于4位数字(14),多于4位数字(15)
[7,8,8]
(1)(2)(3)(4)(5)(6)(30)
非等边三角形
26
[-4,-4,-4]
(7)(9)(11)
非三角形
27
[102,103,104]
(8)(10)(12)
非三角形
28
[,,,]
(16)
非三角形
第二题:
某城市的电话号码由三部分组成。这三部分的名称和内容分别是地区码:空白或三位数字;前缀:非’0’或’1’开头的三位数;后缀:四位数字。假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。表中列出了划分的结果。在每一等价类之后加有编号,以便识别。
(777) 345-678A无效等价类(13)无效
(777) 345-678无效等价类(14)无效
(777) 345-56789无效等价类(15)无效
选取的调试数据可以不同,关键是与调试内容相符。
第三题
#include"stdio.h"
typedef struct MyDate{
int month;
24.else return 0;
}
void Print(MyDate date)
{
25.printf("%d--%d--%d\n",date.year,date.month,date.day);
}
2、测试用例设计
1)控制流图
2)环路复杂度计算
圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。
{
1.MyDate yesterday;
2.yesterday.month = date.month; // initialization
3.yesterday.day = date.day;
4.yesterday.year = date.year;
5.int days_month[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
using namespace std;
int main()
{
double a,b,c;
cout<<"请输入三个数,用空格隔开: "<<endl;
cin>>a>>b>>c;
if(0<a && a<100 && 0<b && b<100 && 0<c && c<100)
{
if(a+b>c&&a+c>b&&b+c>a)
(b+c>a)(5)(c+a>b) (6)
(a<=0)(7) ( a>100) (8)
(b<=0)(9) ( b>100) (10)
(c<=0)(11) (c>100) (12)
(a+b<=c)(13)(b+c<=a) (14)
(c+a<=b) (15)
a ,b ,c中有非数字字符(16)
是否是锐角三角形
(1)(2)(3)(4)(5)(6)(17)
锐角三角形
13
[2,3,4]
(1)(2)(3)(4)(5)(6)(19)钝角三角形14[ Nhomakorabea,4,5]
(1)(2)(3)(4)(5)(6)(21)
直角三角形
15
[3,3,4]
(1)(2)(3)(4)(5)(6)(23)
等腰三角形
16
[4,3,3]
(1)(2)(3)(4)(5)(6)(24)
是否是等边三角形
(a=b)and(b=c)and(c=a) (27)
(a!=b) (28)(b!=c) (29)
(c!=a) (30)
三角形测试用例:
序号
[a,b,c]
覆盖等价类
输出
1
[2,3,4]
(1)(2)(3)(4)(5)(6)
是三角形
2
[0,1,2]
(7)
非三角形
3
[101,88,90]
(8)
19.yesterday.day=days_month[date.month+1];
}
}
20.return yesterday;
}
21.int Leapyear(int year)
{
22.if((year%4==0&&year%100!=0)|| (year%400==0))
23.return 1;
等腰三角形
17
[3,4,3]
(1)(2)(3)(4)(5)(6)(25)
等腰三角形
18
[3,3,3]
(1)(2)(3)(4)(5)(6)(27)
等边三角形
19
[3,4,5]
(1)(2)(3)(4)(5)(6)(18)
非锐角三角形
20
[4,5,6]
(1)(2)(3)(4)(5)(6)(20)
非钝角三角形
if (a>100 ||b>100||c>100)
{cout<<"超出范围"<<endl;}
return 0;}
cout<<"不能构成三角形";
return 0;
}
三角形测试用例:
输入条件
有效等价类
无效等价类
是否是三角形
(0<a<=100) (1)(0<b<=100) (2)
(0<c<=100)(3)(a+b>c) (4)
a*a+b*b>c*candb*b+c*c>a*aanda*a+c*c>b*b(17)
a*a+b*b<=c*candb*b+c*c<=a*a
anda*a+c*c<=b*b(18)
是否是钝角三角形
a*a+b*b<c*candb*b+c*c<a*a
anda*a+c*c<b*b(19)
a*a+b*b>=c*candb*b+c*c>=a*aanda*a+c*c>=b*b(20)
(33 ) 234-5678无效等价类(6)无效
(7777) 345-6789无效等价类(7)无效
(777) 34A-6789无效等价类(8)无效
(234) 045-6789无效等价类(9)无效
(777) 145-6789无效等价类(10)无效
(777) 34-6789无效等价类(11)无效
(777) 2345-6789无效等价类(12)无效
对应上面图中的圈复杂度,计算如下:
流图中有五个区域;
V(G)=4个判定结点+1=5。
3)基本路径集设计
基本路径集为:
A.1、2、3、4、5、6、8、12、13、14、15、20、25
B.1、2、3、4、5、6、8、12、16、17、20、25
C.1、2、3、4、5、6、8、12、18、19、20、25
}
else
{
cout<<"钝角";
}
if(a==b&&a==c)
{
cout<<"等边";
}
else if(a==b||b==c||a==c)
{
cout<<"等腰";
}
cout<<"三角形"<<endl;
}
}
else{
if (a<=0 ||b<=0||c<=0)
{cout<<"输入的是负数"<<endl;}
相关文档
最新文档