软件测试NextDate函数决策表测试法实验报告

软件测试NextDate函数决策表测试法实验报告
软件测试NextDate函数决策表测试法实验报告

一、实验目的:

掌握黑盒测试中的决策表测试法,并对被测程序设计测试用例。

二、实验环境

操作系统:Windows XP + SP2 /win7

三、实验内容

1、编写一个NextDate函数。

2、掌握黑盒测试中的决策表测试法的基本步骤。

3、使用决策表法设计测试用例,对编写的函数实施测试,总结分析测试结果。

四、实验步骤

1、编写一个NextDate函数。(C语言、C++)

2、根据黑盒测试的决策表测试法设计测试用例。

3、根据测试用例实施测试,并记录测试结果。

五、实验代码

#include

using namespace std;

int a,b,c,y,m,d;

//判断是否为闰年

bool Feb(int y){

if((2060-y)%4==0)

return 1;

else

return 0;}

//年份的累加

int NextYear(int y){

a=y+1;

if(a>2060)

{cout<<"下一个日期已经超出了范围."<<"/n";

return 1;}

else

return a;}

//月份的累加

int NextMonth(int m){

b=m+1;

if(b==13){

b=1;

NextYear(y);}

return b;}

//天数的累加

int NextDay(int d){

c=d+1;

//大月满32天月份加1

if(c==32){

if(m==1|m==3|m==5|m==7|m==8|m==10|m==12)

{c=1;

NextMonth(m);}}

//小月满31天月份加1

if(c==31){

if(m==4|m==6|m==9|m==11)

{c=1;

NextMonth(m);}}

//若为闰年,2月满30天,月份加1

if(c==30){

if(Feb(y)&&m==2){

c=1;

b=3;}}

//若不是闰年,2月满29天,月份加1

if(c==29){

if(!Feb(y)&&m==2){

c=1;

b=3;}}

return c;}

//NextDate函数

int NextDate ( int y, int m, int d){

if (y<1900|y>2060|m<1|m>12|d<1|d>31){

cout<<"输入不可能的日期, 请输入正确的日期"<<"\n"; return 1;}

if(m==4|m==6|m==9|m==11&&d==31) {

cout<<"输入不可能的日期, 请输入正确的日期"<<"\n"; return 1;}

if(Feb(y)&&m==2&&d>29) {

cout<<"输入不可能的日期, 请输入正确的日期"<<"\n"; return 1;}

if(!Feb(y)&&m==2&&d>28)

{cout<<"输入不可能的日期, 请输入正确的日期"<<"\n"; return 1;}

else{

NextDay(d);

cout<<"Next date is"<

//main函数

int main()

{while(1){

cout << "请输入正确格式的日期."<<"\n";

cout << "年份范围是1960-2060"<<"\n";

cout<<"年"<<"\n";

cin >>y;

cout<<"月"<<"\n";

cin>>m;

cout<<"日"<<"\n";

cin>>d;

a=y;

b=m;

c=d;

NextDate ( y, m, d);}

return 0;}

六、测试用例表

NxetDate函数求解给定某个日期的下一个日期的动作桩如下:

变量day加1操作;

变量day复位操作;

变量month加1操作;

变量month复位操作;

变量year加1操作

NxetDate函数的求解关键是日和月的问题,所以可以在下面的条件桩的基础上建立决策表

M1={month:month有30天};

M2={month:month有31天,12月除外};

M3={month:month是12月};

M4={month:month是2月};

D1={day:1=

D2={day:day=28};

D3={day:day=29};

D4={day:day=30};

D5={day:day=31};

Y1={year:year是闰年};Y2={year:year不是闰年}

NxetDate函数决策表

选项规则1,2,3 4 5 6,7

8,9

10 11,12

13,14

15 16 17 18 19 20 21,

22

条件C1:month在M1 M1 M1 M2 M2 M3 M3 M3 M4 M4 M4 M4 M4 C2:day在D1,D2

D3

D4 D5 D1,D2

D3,D4

D5 D1,D2

D3,D4

D5 D1 D2 D2 D3 D3 D4

D5 C3:year在————————Y1 Y2 Y1 Y2 —

动作

A1:不可能√√√A2:day加1 √√√√√

A3:day复位√√√√√

A4:month加1 √√√√

A5:month复位√

A6:year加1 √

NxetDate函数的测试用例组

测试用例month day year 预期输出Test Case 1~3 9 16 2001 2001-9-17 Test Case 4 9 30 2001 2001-10-01 Test Case 5 9 31 2001 不可能的输入日期Test Case 6~9 1 16 2004 2004-1-17 Test Case 10 1 31 2001 2001-2-01 Test Case 11~14 12 16 2004 2004-12-16 Test Case 15 12 31 2001 2002-1-01 Test Case 16 16 2001 2001-1-17 Test Case 17 2 28 2004 2004-2-29 Test Case 18 2 28 2001 2001-3-01 Test Case 19 2 29 2004 2004-3-1 Test Case 20 2 29 2001 不可能的输入日期Test Case 21~22 2 30 2004 不可能的输入日期

七、测试用例执行结果

1、Test Case 1~3

3、Test Case 5

4、Test Case 6~9

5、Test Case 10

6、Test Case 11~14

8、Test Case 16

9、Test Case 17

10、Test Case 18

11、Test Case 19

13、Test Case 21~22

八、实验总结

1、通过本次实验,学会编写一个NextDate函数。

2、掌握了黑盒测试中的决策表测试法的基本步骤

3、实验过程中遇到了问题,通过查找资料和与同学讨论,得到了解决

软件测试实验报告96812

实验一:软件测试方法 一:实验题目 采用白盒测试技术和黑盒测试技术对给出的案例进行测试 二:试验目的 本次实验的目的是采用软件测试中的白盒测试技术和黑盒测试技术对给出的案例进行测试用例设计。从而巩固所学的软件测试知识,对软件测试有更深层的理解。 三:实验设备 个人PC机(装有数据库和集成开发环境软件) 四:实验内容 1):为以下流程图所示的程序段设计一组测,分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。并在各题下面写出测试用例、覆盖路径及结果等。 2):画出下列代码相应的程序流程图,并采用基本路径测试方法为以下程序段设计测试用例(需列出具体实验步骤)。 void Do (int X,int A,int B) { 1 if ( (A>1)&&(B==0) ) 2 X = X/A; 3 if ( (A==2)||(X>1) ) 4 X = X+1;

5 } 采用基本路经测试方法测试用例,并写出具体步骤 3):在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下: 用户名:要求为4位以上,16位以下,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字; 密码:要求为6~16位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。测试以上用例。 用所学的语言进行编码,然后进行等价类测试,当用户名和密码正确输入时提示注册成功;当错误输入时,显示不同的错误提示 通过分析测试用例以及最后得到的测试用例表分析所测程序的正确性,最后总结自己在这次试验中的收获并写出自己在这次试验中的心得体会。 五:实验步骤 1) (1)用语句覆盖方法进行测试 语句覆盖的基本思想是设计若干测试用例,运行被测程序,使程序中每个可执行语句至少被执行一次。由流程图可知该程序有四条不同的路径: P1:A-B-D P2:A-B-E P3:A-C-F P4:A-C-G 由于p1p2p4包含了所有可执行的语句,按照语句覆盖的测试用力设计原则,设计测试用例 无法检测出逻辑错误 (2)用判定覆盖方法进行测试 判定覆盖的基本思想是设计若干测试用例,运行被测程序,使得程序每个判断的取真和取假分支至少各执行一次,即判断条件真假均被满足。 条件覆盖测试用例 (3)用条件覆盖进行测试 条件覆盖的基本思想是设计若干测试用例,执行被测程序后要使每个判断中每个条件的可能取值至少满足一次。对于第一个判定条件A,可以分割如下: ?条件x>8:取真时为T1,取假时为F1;

软件测试实验报告材料58877

标准实用 本科实验报告 课程名称:软件测试技术 实验项目:软件测试技术试验实验地点:实验楼211 专业班级:软件工程学号: 学生:戴超 指导教师:兰方鹏 2015年10月7 日

理工大学学生实验报告 学院名称计算机与软件学院专业班级软件工程实验成绩学生戴超学号实验日期2015.10. 课程名称软件测试实验题目实验一白盒测试方法 一、实验目的和要求 (1)熟练掌握白盒测试方法中的逻辑覆盖和路径覆盖方法。 (2)通过实验掌握逻辑覆盖测试的测试用例设计,掌握程序流图的绘制。 (3)运用所学理论,完成实验研究的基本训练过程。 二、实验容和原理 测试以下程序段 void dowork(int x,int y,int z) { (1)int k=0,j=0; (2)if((x>0)&&(z<10)) (3){ (4)k=x*y-1; (5)j=sqrt(k); (6)} (7)if((x==4)||(y>5)) (8)j=x*y+10; (9)j=j%3; (10)} 三、主要仪器设备 四、操作方法与实验步骤 说明:程序段中每行开头的数字(1-10)是对每条语句的编号。

A 画出程序的控制流图(用题中给出的语句编号表示)。 B 分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。 C 编写完整的C 程序(含输入和输出),使用你所设计的测试用例运行上述程序段。完整填写相应的测试用例表(语句覆盖测试用例表、判定覆盖测试用例表、条件覆盖测试用例表、判定/条件覆盖测试用例表、条件组合覆盖测试用例表、路径覆盖测试用例表、基本路径测试用例表) 流程图为: 开始 开始 k=0,j=0 (x>0)&&(z<1) k=x*y-1 j=sqrt(k) (x==4)||(y>5) j=x*y+10 j=j%3 结束 1 2 5 7 8 9

软件测试实验报告

桂林航天工业学院 课程设计报告 课程名称:软件测试 专业:软件技术 学号:201102520xxx 姓名: 指导教师:

实验一黑盒测试 一.实验目的 (1)能熟练应用黑盒测试技术进行测试用例设计; (2)对测试用例进行优化设计; 二.实验内容 1.三角形问题的边界值分析测试用例 在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。 R1 = { : 边为a,b,c的等边三角形} R2 = { : 边为a,b,c的等腰三角形} R3 = { : 边为a,b,c的一般三角形} R4 = { : 边为a,b,c不能组成三角形} 2. 找零钱最佳组合 假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、5元(N5)、1元(N1) 四种。请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。 三、程序代码

1.三角形问题程序。 #include int main(void){ int a,b,c;//定义三个整数a,b,c printf("请输入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"); else printf("一般三角形\n"); } else printf("不能组成三角形\n"); } else

软件测试实验报告

《软件测试技术》 ——实验报告 题目 _____实验一_ __ 指导教师薛曼玲 _ 实验日期 _11.4 专业 学生姓名 _ __ ____ 班级/学号 ____ 成绩 ________ ___ ____ _

一、实验目的 1.能熟练应用黑盒测试技术进行测试用例设计; 2.能对测试用例进行优化设计; 二、实验内容 题目一:电话号码问题 1.某城市电话号码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或3位数字; (2)前缀:非'0'或'1'的3位数字; (3)后缀:4 位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 1.根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 “一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个

程序要打印出信息, 说明这个三角形是三边不等的、是等腰的、还是等边的。” 题目三:日期问题 1.用决策表测试法测试以下程序:该程序有三个输入变量month、day、year (month 、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004 年11月29日,则该程序的输出为2004年12月1日。 (1) 分析各种输入情况,列出为输入变量month 、day 、year 划分的有效等价类。 (2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。 (3) 根据(1) 和(2) ,画出简化后的决策表。 2.划分有效等价类 1)month变量有效等价类 M1:{month=4,6,9,11}M2:{month=1,3,5,7,8,10} M3:{month=12}M4:{month=2} 2)day变量的有效等价类 D1:{1<= day <= 26}D2:{day=27} D3:{day=28} D4:{day=29} D5:{day=30} D6:{day=31} 3)year变量有效等价类 Y1:{year是闰年} Y2:{year不是闰年} 3.列出所有动作桩

软件测试实验报告LoadRunner的使用

南昌大学软件学院 实验报告 实验名称 LoadRunner的使用 实验地点 实验日期 指导教师 学生班级 学生姓名 学生学号 提交日期 LoadRunner简介: LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。LoadRunner是目前应用最为广泛的性能测试工具之一。 一、实验目的

1. 熟练LoadRunner的工具组成和工具原理。 2. 熟练使用LoadRunner进行Web系统测试和压力负载测试。 3. 掌握LoadRunner测试流程。 二、实验设备 PC机:清华同方电脑 操作系统:windows 7 实用工具:WPS Office,LoadRunner8.0工具,IE9 三、实验内容 (1)、熟悉LoadRunner的工具组成和工具原理 1.LoadRunner工具组成 虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本; 压力产生器:通过运行虚拟用户产生实际的负载; 用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;监视系统:监控主要的性能计数器; 压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。 2.LoadRunner工具原理 代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner 就是通过代理方式截获客户端和服务器之间交互的数据流。 ①虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,

软件测试技术实验报告

《软件测试技术》 实验报告 河北工业大学计算机科学与软件学院 2017年9月

软件说明 电话号码问题 某城市电话号码由三部分组成。它们的名称和内容分别是:地区码:空白或三位数字; 前缀:非'0'或'1'的三位数字; 后缀:4位数字。 流程图 源代码 import java.awt.*; import java.awt.event.*; public class PhoneNumber extends Frame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L;

private final String[] st = {"Name","Local","Prefix","Suffix"}; static int c_person=0; TextField t_name,t_local,t_prefix,t_suffix; RecordDialog d_record; MessageDialog d_message; person a[]=new person[100]; public PhoneNumber() { super("电话号码"); this.setSize(250,250); this.setLocation(300,240); Panel panel1 = new Panel(new GridLayout(4, 1)); for (int i = 0; i < st.length; i++) panel1.add(new Label(st[i],0)); Panel panel2 = new Panel(new GridLayout(4, 1)); t_name =new TextField("",20); t_local =new TextField(""); t_prefix=new TextField(""); t_suffix=new TextField(""); panel2.add(t_name); panel2.add(t_local); panel2.add(t_prefix); panel2.add(t_suffix); Panel panel3 = new Panel(new FlowLayout()); Button b_save = new Button("Save"); Button b_record= new Button("Record"); panel3.add(b_save); panel3.add(b_record); this.setLayout(new BorderLayout()); this.add("West", panel1); this.add("East", panel2); this.add("South", panel3); addWindowListener(new WindowCloser()); b_save.addActionListener(this); b_record.addActionListener(this); d_record=new RecordDialog(this); d_message=new MessageDialog(this); this.setVisible(true);

黑盒测试软件测试实验报告2

软件测试与质量课程实验报告实验2:黑盒测试法实验

缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分其他情况:扣分<=5分总扣分不能大于10分 参考代码如下: (1)程序参考答案: #include double main() { int hours; double payment,wage; wage=20; cout<<"please input hours:"; cin>>hours; if(hours>=0&&hours<=168){ if (hours<40) payment=hours*wage ; else if ((hours>=40) && (hours<=50)) payment=40*wage+(hours-40)*1.5*wage; else if (hours>50) payment=40*wage+10*1.5*wage+(hours-50)*3*wage; cout<<"The final payment are:"< void main() { int year; int month,maxmonth=12; int day,maxday; printf("请输入年份:(1000~3000)"); scanf("%d",&year); if(year<1000 || year>3000) { printf("输入错误!请从新输入!\n");

软件测试实验报告

本科实验报告 课程名称:软件测试技术 实验项目:软件测试技术试验实验地点:实验楼211 专业班级:软件工程学号: 学生姓名:戴超 指导教师:兰方鹏 2015年10月7 日

太原理工大学学生实验报告

一、实验目的和要求 (1)熟练掌握白盒测试方法中的逻辑覆盖和路径覆盖方法。 (2)通过实验掌握逻辑覆盖测试的测试用例设计,掌握程序流图的绘制。 (3)运用所学理论,完成实验研究的基本训练过程。 二、实验内容和原理 测试以下程序段 void dowork(int x,int y,int z) { (1)int k=0,j=0; (2)if((x>0)&&(z<10)) (3){ (4)k=x*y-1; (5)j=sqrt(k); (6)} (7)if((x==4)||(y>5)) (8)j=x*y+10; (9)j=j%3; (10)} 三、主要仪器设备

一、实验目的和要求 (1)熟练掌握黑盒测试方法中的等价类测试方法和边界值测试方法。 (2)通过实验掌握如何应用黑盒测试用例。 (3)运用所学理论,完成实验研究的基本训练过程。 二、实验内容和原理 (1)用你熟悉的语言编写一个判断三角形问题的程序。 要求:读入代表三角形边长的三个整数,判断它们能否组成三角形。如果能够,则输出三角形是等边、等腰或者一般三角形的识别信息;如果不能构成三角形,则输出相应提示信息。 (2)使用等价类方法和边界值方法设计测试用例。 三、主要仪器设备 四、操作方法与实验步骤 (1)先用等价类和边界值方法设计测试用例,然后用百合法进行检验和补充。 (2)判断三角形问题的程序流程图和程序流图如图1和图2所示。用你熟悉的语言编写源程序。 (3)使用等价类方法设计测试用例,并填写表2 和表3。

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

7.使用白盒测试用例设计方法为下面的程序设计测试用例: ·程序要求:10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球。 ·程序设计思路:第一次使用天平分别称5个球,判断轻的一边有假球;拿出轻的5个球,拿出其中4个称,两边分别放2个球;如果两边同重,则剩下的球为假球;若两边不同重,拿出轻的两个球称第三次,轻的为假球。 【源程序】 using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; namespace Test3_7 { [TestFixture] public class TestGetMinValue { [Test] public void AddTwoNumbers() { Random r = new Random(); int n; int[] a=new int[10]; n = r.Next(0, 9); for (int i = 0; i < a.Length; i++) { if (i == n) a[i] = 5; else a[i] = 10; } GetMin gm = new GetMin(); Assert.AreEqual(n,gm.getMinvalue(a)); }

} public class GetMin { public int getMinvalue(int[] m) { double m1 = 0, m2 = 0, m3 = 0, m4 = 0; for (int i = 0; i < 5; i++) { m1 = m1 + m[i]; } for (int i = 5; i < 10; i++) { m2 = m2 + m[i]; } if (m1 < m2) { m3 = m[1] + m[0]; m4 = m[3] + m[4]; if (m3 > m4) { if (m[3] > m[4]) return 4; else return 3; } else if (m3 < m4) { if (m[0] > m[1]) return 1; else return 0; } else return 2; } else { m3 = m[5] + m[6]; m4 = m[8] + m[9]; if (m3 < m4) { if (m[5] > m[6]) return 6;

软件测试实验报告一

广东*融学院实验报告 课程名称:软件测试 」、实验目的及要求 1、理解测试用例的重要性。 2、熟练掌握等价类划分、边界值方法、决策表和因果图法设计测试用例。 二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等) 1. 使用软件:装有QTP功能测试软件 2 .实验设备:装有Windows的联网的个人计算机 三、实验内容及步骤(包含简要的实验步骤流程) 1、实验题目:登陆框测试 在各种输入条件下,测试程序的登录对话框功能。 用户名和密码的规格说明书如下:(密码规则同用户名规则。) 用户名长度为6至10位(含6位和10 位); 用户名由字符(a-z、A-Z)和数字(0-9)组成; 不能为空、空格和特殊字符。 要求:按照规格说明书,分别用等价类划分和边界值方法设计测试用例。 步骤:(1)分析规格说明书,确定输入条件、输出条件的有效等价类、无效等价类以及各个边界条件;(2)第二步:填表格并编号;(3)第三步:设计测试用例;(4)第四步:执行测试用例。 2、员工薪制冋题。 (1)年薪制员工:严重过失,扣年终风险金的4%,过失,扣年终风险金的2%。 (2)非年薪制员工:严重过失,扣月薪资的8%,过失,扣月薪资的4%。 步骤:(1)分析程序的规格说明,列出原因和结果;(2)找出原因与结果的因果关系、原因与原因之间的约束关系,画出因果图;(3)将因果图转化成决策表;(4)根据决策表,设计测试用例的输入数据和预期输出。

四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页) 等价类划分方法: 五、实验总结(包括心得体会、问题回答及实验改进意见,可附页) 通过本次实验,我理解了测试用例的重要性。熟练掌握了等价类划分、边界值方法、决策表和因果图法设计测试用例。 六、教师评语 1、完成所有规定的实验内容,实验步骤正确,结果正确; 2、完成绝大部分规定的实验内容,实验步骤正确,结果正确; 3、完成大部分规定的实验内容,实验步骤正确,结果正确; 4、基本完成规定的实验内容,实验步骤基本正确,所完成的结果基本正确; 5、未能很好地完成规定的实验内容或实验步骤不正确或结果不正确。 评定等级: 签名:

软件测试技术实验报告

软件测试技术实验报告本页仅作为文档页封面,使用时可以删除 This document is for reference only-rar21year.March

《软件测试技术》 实验报告 河北工业大学计算机科学与软件学院 2017年9月

软件说明 电话号码问题 某城市电话号码由三部分组成。它们的名称和内容分别是:地区码:空白或三位数字; 前缀:非'0'或'1'的三位数字; 后缀:4位数字。 流程图 源代码 import .*; import class PhoneNumber extends Frame implements ActionListener{ /**

* */ private static final long serialVersionUID = 1L; private final String[] st = {"Name","Local","Prefix","Suffix"}; static int c_person=0; TextField t_name,t_local,t_prefix,t_suffix; RecordDialog d_record; MessageDialog d_message; person a[]=new person[100]; public PhoneNumber() { super("电话号码"); (250,250); (300,240); Panel panel1 = new Panel(new GridLayout(4, 1)); for (int i = 0; i < ; i++) (new Label(st[i],0)); Panel panel2 = new Panel(new GridLayout(4, 1)); t_name =new TextField("",20); t_local =new TextField(""); t_prefix=new TextField(""); t_suffix=new TextField(""); (t_name); (t_local); (t_prefix);

2020年软件测试实验报告(实用)

软件测试实验报告 实验一:软件测试方法 一:实验题目 采用白盒测试技术和黑盒测试技术对给出的案例进行测试二:试验目的 本次实验的目的是采用软件测试中的白盒测试技术和黑盒测试技术对给出的案例进行测试用例设计.从而巩固所学的软件测试知识,对软件测试有更深层的理解。 三:实验设备 个人PC机(装有数据库和集成开发环境软件) 四:实验内容 1):为以下流程图所示的程序段设计一组测,分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。并在各题下面写出测试用例、覆盖路径及结果等。

2):画出下列代码相应的程序流程图,并采用基本路径测试方法为以下程序段设计测试用例(需列出具体实验步骤)。 void Do (int X, int A , int B) { 1 if ((A>1)&&(B==0) ) 2 X = X/A; 3 if ((A==2)||(X>1)) 4 X = X+1; 5 } 采用基本路经测试方法测试用例,并写出具体步骤 3):在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下:用户名:要求为4位以上,16位以下,使用英文字母、数字、“—”、“_”,并且首字符必须为字母或数字;

密码:要求为6~16位之间,只能使用英文字母、数字以及“—”、“_”,并且区分大小写。 测试以上用例. 用所学的语言进行编码,然后进行等价类测试,当用户名和密码正确输入时提示注册成功;当错误输入时,显示不同的错误提示 通过分析测试用例以及最后得到的测试用例表分析所测程序的正确性,最后总结自己在这次试验中的收获并写出自己在这次试验中的心得体会。 五:实验步骤 1) (1)用语句覆盖方法进行测试 语句覆盖的基本思想是设计若干测试用例,运行被测程序,使程序中每个可执行语句至少被执行一次。由流程图可知该程序有四条不同的路径: P1:A-B—D P2:A-B-E P3:A-C-F P4:A-C-G 由于p1p2p4包含了所有可执行的语句,按照语句覆盖的测试用力设计原则,设计测试用例 语句覆盖测试用例

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

软件测试白盒测试实验报告 西南科技大学计算机学院 实验报告 实验名称白盒测试 实验地点东6E507 实验日期2015 年 4 月27 日 指导教师兰景英 学生班级软件1202 学生姓名尚晓明 学生学号20121237 提交日期2015 年 4 月27 日 三角形判定 (1) 题目内容描述 输入三条边,进行三角形的判定。(2) 测试用例的编写 测试用例参照三角形的组成规则编写。根据两边之和大于第三边的规则编写测试用 例,并且考虑输入值非法的情况(小于0 的数)。程序代码: #include using namespace std; void main() { int b; int c; int a;

cin >> a >> b >> c; if (a*b*c != 0 && (a + b > c&&b + c > a&&a + c > b)) { if (a == b&&b == c) { cout << "您输入的是等边三角形?"; } else if ((a + b > c&&a == b) || (b + c > a&&b == c) || (a + c > b&&a == c)) { cout << " 您输入的是等腰三角形?"; } else if ((a*a + b*b == c*c) || (b*b + c*c == a*a) || (a*a + c*c == b*b)) { cout << 您输入的是直角三角形?"; } else { cout << ”普通三角形” ; } } else{ cout << " 您输入的不能构成三角形"; }

软件测试实验报告

软件测试实验报告文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

《软件测试技术》 实验报告与习题册 2014/2015学年第2学期 系别计算机学院 专业 班级一班 姓名 指导教师

目录 实验一:基于白盒测试的用例设计与验证(一) 一.实验目的 (1)熟悉Eclipse开发环境 (2)掌握Java语言的基本语法,能够利用Java实现简单的程序开发(3)熟悉白盒测试基本原理 (4)掌握白盒测试的逻辑覆盖法,能够依据语句覆盖、判定覆盖、条件覆盖、判定\条件覆盖、条件组合覆盖的原理进行相应测试用例的设计工作。

二.实验内容 (1)选择一门语言,完成指定的单元程序开发。 #include voidmain() { intm,n,p,q; printf("pleaseinputm,n,p,q:\n"); scanf("%d,%d,%d,%d",&m,&n,&p,&q); if(m>0&&n<6) { m=n+3; n=n*2; } if(p>5||q<0) { p=2*q+5; q++; } printf("输出的四个数是:%d,%d,%d,%d\n",m,n,p,q); return; } (2)分别依据白盒测试逻辑覆盖法中的语句覆盖、判定覆盖、条件覆盖、判定\条件覆盖、条件组合覆盖的原理设计相应的测试用例。(3)根据给定的流程图,实际运行测试用例,检测程序的实现是否正确。 三.程序流程图 运行结果 语句覆盖: 判定覆盖:

条件覆盖: 判定-条件覆盖: 条件组合覆盖: 四.实验内容中遇到的问题、解决方法和体会。 答:遇到的问题:实验过程中,编写程序有点问题,总是输不出结果,不断进行检查和调试,以至于花费很多时间。 解决方法:通过自己检查和调试和向同学寻求帮助得以解决问题,最后运行得到结果。

软件测试实验报告2

软件测试实验报告 题目名称:计算下一天时间测试 专业班级:软件三班 学号: 041140338 姓名:王超

一、实验综述 1、实验目的及要求 实验目的: 掌握等价类测试方法的原理及使用。 实验要求: (1)完成各个程序的编写 (2)按要求设计测试用例,并运行测试用例检查程序的正确与否 实验内容: 对日期操作函数进行等价类测试方法的测试用例设计及测试结果记录与分析。 2、实验仪器、设备或软件 1. 个人计算机PC; 2. VisualC++/.NET编程环境。 二、实验过程(实验步骤、记录、数据、分析) 1.程序有三个变量(月份、日期、和年)的函数,函数返回输入日期后面的那个日期。变量都具有整数值,且满足以下条件: C1 1<=月份<=12 C2 1<=日期<=31 确定等价类 M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1<=日期<=28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年} 一般等价类测试用例应该有 3个(月份类)x 4个(日期类)x 2(年类)= 24个

24 25 26 2 2 2 27 28 30 2001 2001 2001 2001.2.28 2001.3.1 Day超出 2001.2.27 2001.2.28 Error input 通过分析前两个测试用例表,就会发现这些测试用例是不充分的,而且存在冗余。测试用例: 1.对日期进行测试 1)输入-1日,年月正常输入。 2)输入1日,年月正常输入。 3)输入15日,年月正常输入。 4)输入30日,年月正常输入。 5)输入30日,年月正常输入。 6)输入31日,年月正常输入。

软件测试实验报告

软件测试 实验报告 题目 : 软件测试实验三角形问题学号: 姓名 : 老师 : …学院计算机系

实验题目 三角形问题的等价测试 1、实验内容 对三角形问题的一种常见补充是检查直角三角形。如果满足毕达哥拉斯关系(a*a+b*b=c*c),则三条边构成直角三角形。试针对包含了直角三角形的扩展三角形问题来设计标准等价类测试用例。 2、实验目的与要求 目的:熟悉黑盒测试的等价类划分方法。 要求:1、按要求编写程序实现。 2、运用等价划分的测试来测试三角形问题,并达到预期效果。 3、对结果分析。 3、实验环境 C# 4、实验步骤(包括需求分析、整体设计思路、概要设计) 先要将三角形的三条边输入,对输入边的类型先判断,然后判断如果输入情况正确则输出是什么三角形,如果输入错误则输出错误的提示。可以用if语句来判断三条边的关系。 假定3个输入a,b,c在1~100之间取值,三角形问题可以详细的描述为: 输入3个整数a,b,c分别作为三角形的三条边,要求a,b,c必须满足以下条件。 Con1.1<=a<=100 Con2.1<=b<=100 Con3.1<=c<=100 Con4.a

软件测试实验报告

软件测试实验报告

软 件 测 试 实 验 报 告 姓名:******* 专业:********************* 班级:*********** 学号:************* 日期:2011-5-25

实验一:黑盒测试 一、实验目的:了解三角形问题的边界值分析测试用例。 二、实验要求:在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。 R1 = { : 边为a,b,c的等边三角形} R2 = { : 边为a,b,c的等腰三角形} R3 = { : 边为a,b,c的一般三角形} R4 = { : 边为a,b,c不能组成三角形} 三、实验程序: #include "iostream.h" void main() { int a,b,c; cout<<"请输入1<=a<=100或1<=b<=100或1<=c<=100"<>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<<"三角形为等边三角形"<

系统测试实验报告

软件测试实验报告 万继王(20111081147) 任课教师:贾春花 班级:2011级计科(1)班 实验目的: 计算机在生活中的普遍,计算机已经成为我们生活中不可缺少的部分,计算机已经被广 泛的应用到各个领域,网络技术的飞速发展,互联网已经成为了人们发布与获取信息的重要 途径之一,在我们的生活中已经离不开计算机,离不开网络,计算机给人们的生活带来方便 的同时也需要开发相应的管理系统和软件,所以,这就需要我们进行软件测试,软件测试是 使用人工或者自动手段来运行或测定某个系统的过程,检验它是否满足规定的需求或者弄清 预期结果与实际结果之间的差别。软件测试作为保证软件质量、提高软件可靠性的重要手段, 在软件开发中起着不可替代的作用。其关键与核心是测试数据生成。软件测试的实质是根据 软件开发各阶段的规格说明和程序的内部结构精心选取一批测试数据,形成测试用例,并用 这些测试用例去驱动被测程序,观察程序的执行结果,验证所得结果与预期结果是否一致, 然后做相应的调整。 此次实验是为了检验我们是否掌握本学期所学的《软件质量保证与测试》这门课程的基 础知识,并查找出被测试软件的不足或缺陷,及时做出相应的调整,也让我们掌握一定的黑 盒测试和白盒测试的相应内容。还有就是在于总结测试阶段的测试以及分析测试结果,描述 系统是否符合需求(或达到xxx功能目标),同时,了解软件测试概念,了解软件测试的主要 内容,了解手动测试自动测试,初步掌握测试软件并能够进行简单运用。了解软件测试在当 前计算机行业中的相关地位,了解为了成为软件测试工程师所需要掌握的技能。 实验内容: 软件测试前景:随着软件产业的发展,软件产品的质量控制与质量管理正逐渐成为软件 企业生存与发展的核心。 软件测试是指:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它 是否满足规定的需求或弄清预期结果与实际结果之间的差别。 软件测试的内容:1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的 需求的过程;2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程; 3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定 的需求相一致进行判断和提出报告。 软件测试的对象:不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所 产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还 是源程序。 实验测试步骤: 第一步,进入登录界面。在运行程序后弹出登录界面,有账号的可以直接登录,没有账 号的要先申请账号(及注册),然后才可以登录。在注册账号时需要自己填写账号、密码、昵 称和个性签名。这些东西都没有限制,可以是数字、字母、汉字以及三者的混合,头像的话 是可以自己选择的。账号和密码是必须填写的,否则无法注册,其他的可填可不填。 相关截图如下所示: 登录界面: 账号申请界面: 账号申请成功界面 : 第二步,进行登录。登录之后可以进行密码修改和添加好友。登录之后我们

软件测试实验报告 (3)

. 软件测试实验报告 题目名称:计算下一天时间测试 专业班级:软件三班 学号: 041140338 姓名:王超

一、实验综述 1、实验目的及要求 实验目的: 掌握等价类测试方法的原理及使用。 实验要求: (1)完成各个程序的编写 (2)按要求设计测试用例,并运行测试用例检查程序的正确与否 实验内容: 对日期操作函数进行等价类测试方法的测试用例设计及测试结果记录与分析。 2、实验仪器、设备或软件 1. 个人计算机PC; 2. VisualC++/.NET编程环境。 二、实验过程(实验步骤、记录、数据、分析) 1.程序有三个变量(月份、日期、和年)的函数,函数返回输入日期后面的那个日期。变量都具有整数值,且满足以下条件: C1 1<=月份<=12 C2 1<=日期<=31 确定等价类 M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1<=日期<=28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年} 一般等价类测试用例应该有 3个(月份类)x 4个(日期类)x 2(年类)= 24个

24 25 26 2 2 2 27 28 30 2001 2001 2001 2001.2.28 2001.3.1 Day超出 2001.2.27 2001.2.28 Error input 通过分析前两个测试用例表,就会发现这些测试用例是不充分的,而且存在冗余。测试用例: 1.对日期进行测试 1)输入-1日,年月正常输入。 2)输入1日,年月正常输入。 3)输入15日,年月正常输入。 4)输入30日,年月正常输入。 5)输入30日,年月正常输入。 6)输入31日,年月正常输入。

软件测试实验三实验报告

桂林电子科技大学 软件测试实验报告 实验三测试用例设计及测试管理 一、实验目的 1、理解测试用例的作用和设计规范。 2、能根据给定的项目需求说明书进行测试用例设计。 3、了解测试管理的基本概念,并能使用 TestLink 等知名开源测试管理工具 二、实验类型 设计型。 三、实验内容 1、在实验一中,要求大家设计实现一个计算器软件(有无界面均可),其功能是可以接受用户输入的两个运算数,并能按用户的选择,实现这两个运算数的加、减、乘、除四种运算功能。本次实验中,请针对其功能需求等方面,设计测试用例,并以两个同学为一组,对相互之间设计的测试用例进行检查分析,判断其合理性。然后整理好自己的项目代码和测试用例以及使用这些测试用例进行测试后的结果,提交给老师。 2、通过了解测试管理方面的知识,并了解知名开源测试管理平台 TestLink。然后进行安装配置和应用,了解该平台的功能和设计,从而对测试计划、测试用例管理、测试需求管理等方面,获得感性认识。 四、实验结果 实验代码: import java.util.Scanner; public class Calculator { public static void main(String[] args) { @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); while(true){

String gongshi = scanner.nextLine(); String[] yuansu = gongshi.split(" "); int result = 0; if(yuansu.length == 3){ switch (yuansu[1]) { case "+": result=jia(Integer.parseInt(yuansu[0]), Integer.parseInt(yuansu[2])); break; case "-": result=jian(Integer.parseInt(yuansu[0]), Integer.parseInt(yuansu[2])); break; case "*": result=cheng(Integer.parseInt(yuansu[0]), Integer.parseInt(yuansu[2])); break; case "/": result=chu(Integer.parseInt(yuansu[0]), Integer.parseInt(yuansu[2])); break; default: break; } } System.out.println("=" + result + "\n"); } } static int jia(int a, int b){ return a + b; } static int jian(int a, int b){ return a - b; } static int cheng(int a, int b){ return a * b; } static int chu(int a, int b){ if(b != 0){ return a / b; }else{ return -1; } }

相关文档
最新文档