软件测试——实验1
软件测试实验一

内蒙古工业大学信息工程学院实验报告课程名称:软件测试实验名称:“爱米云网盘”黑盒测试设计用例实验类型:验证性■综合性□设计性□实验室名称:软件实验室班级:软件 12-2 学号:201220205051姓名:张贺组别:同组人:成绩:实验日期:2015 年6月14日精选文库实验报告成绩:指导教师审核(签名):年月日实验报告一.实验目的① 理解黑盒测试的概念。
② 理解测试用例的重要性。
③ 掌握黑盒测试技术设计测试用例的方法。
二.实验环境Windows7操作系统爱米云服务器爱米云客户端三.实验内容应用黑盒测试技术,对“爱米云网盘客户端”登录功能进行测试用例设计。
四.实验要求① 根据《软件需求规格说明书》了解登录功能的测试需求。
② 重点针对账号、密码和登录流程进行测试用例设计。
③ 应用黑盒测试技术进行测试用例设计,写出等价类表、边界值分析结果、用例场景图等测试设计文档。
五.实验步骤1、通读“爱米云网盘”的《软件需求规格说明书》,重点阅读登录功能的需求。
登陆时,用户名由 3~20个字母、数字或“ _”组成,密码由 6~16个字符组成,不能是 8位以下纯数字。
登陆时,可以设置为“保存密码”或“自动登陆”。
登陆成功的账号记录在账号输入框和下拉列表中,下拉列表最多记录 5个账号。
下拉列表中可以删除历史账号。
登陆成功后可从主窗口菜单中,进行切换账号和修改密码。
2、针对登录功能,应用适当的黑盒测试技术的等价类划分法、边界值分析法、场景法等测试方法,进行测试用例设计,列出每个测试子项对应的等价类表、边界值、用例场景图等。
精选文库账号和密码等价类划分法测试点用户名由 3~20 个字母、数字或“ _”组成,密码由 6~16 个字符组成,不能是 8 位以下纯数字输入变量账号长度账号格式输入变量密码有效等价类编号[3,20] 1字母、数字或“_” 2有效等价类编号[6,16] & 字符 6[8,16] & 纯数字7无效等价类编号账号长度 <3 3账号长度 >20 4非字母、数字或“ _” 5无效等价类编号密码长度 <6 8密码长度 >16 9含中文等10密码长度 <8 & 纯数字11下拉列表等价类划分法账号和密码边界值分析法输入条件账号长度密码长度2 53 64 7边界值13 1119 1520 1621 17精选文库场景图分析法登陆页面备选流 1输入账号账号长度 <3 || 账号长度 >20 输入密码备选流 2 备选流 3 备选流 4|| 账号含有非字母、数字或“ _”密码长度 <6 || 密密码长度 <=8 && 6<=密码长度码长度 >16 数字<=16 && 中文等系统验证账号、密码基本流用户名错误,登陆失败密码错误,登陆失败登陆成功用例场景表场景 1:基本流场景 2:基本流、备选流 1场景 3:基本流、备选流 2场景 4:基本流、备选流 3场景 5:基本流、备选流 4判定表分析法用户名: 3<=长度 <=20 记为 A1, 长度 <3|| 长度 >20记为 A2,特殊字符记为 A3条件桩密码:6<=长度 <=16B1,[8,16] 纯数字 B2,6>长度 ||长度 >16B3,含中文 B4,不为字符 B5,特定区间不为纯数字 B6登录成功动作桩登录不成功合并后的判定表规则桩用户名条件密码用户名不符合动作密码不符合登录成功登录不成功精选文库密码不符合“爱米云网盘客户端”登录功能判定表1 2 4 5 7 8A1 A1 A2 A2 A3 A3 - - - - - -因果图分析法因果图原因结果分析C1:用户名由 3<=长度 <=20、字母、数字或 "_" 组成A1:登录成功C2:6<=长度 <=16、字符组成, [8,16] 纯数字A2:密码有误C3:输入有误用户名A3:用户名错误C4:输入有误密码A4:登录不成功精选文库根据因果图导出的判定表3、根据步骤 2 的分析结果,写出测试用例原型。
软件测试 实验一 实验报告

成绩实验一一、实验内容录制样例程序的登录过程并插入检查点验证登录是否成功:密码为mercury,用户名可为任意四个以上字母。
"C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"二、实验目的1、熟悉QTP的开发环境2、熟悉QTP的开发步骤3、掌握检查点的插入方法三、实验脚本systemutil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"Dialog("Login").WinEdit("Agent Name:").Set DataTable("name", dtGlobalSheet)S=Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")Dialog("Login").WinEdit("Password:").SetSecure"4f6ff8b593d09ce3972f6a0d11d268bce155fcd1"Dialog("Login").WinButton("OK").ClickIf len(S)<4 ThenDialog("Login").Dialog("Flight Reservations").Static("Agent name must be at least 4 characters long.").Check CheckPoint("Agent name must be at least 4 characters long.") Dialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickelseWindow("Flight Reservation").ActivateWindow("Flight Reservation").Static("Date of Flight:").Check CheckPoint("Date of Flight:")Window("Flight Reservation").CloseEnd If四、实验结果。
软件测试实验1

实验1 黑盒测试一、实验目的与要求1、掌握等价类测试方法的原理、步骤及应用2、掌握边界值分析法的原理、步骤及应用。
3、掌握决策表测试方法的原理、步骤及应用。
二、实验设备1、电脑PC2、office办公软件三、实验原理(一)等价类测试法1、定义:等价类划分法是根据程序规格说明书对输入范围进行划分,将所有可能的输入数据按相关的规定划分成若干不相交的子集。
所有的子集的并集是整个输入域,其中,子集的互不相交保证子集中无冗余性,子集的并集是整个输入域,确定了所有子集的完备性。
在划分等价类时分有效等价类和无效等价类。
2、划分等价类的步骤(1)确定输入域:分析需求并确定所有的输入、输出量,以及变量类型和变量使用条件。
(2)等价类划分:将每个变量的取值集合划分为互不相交的子集,每个子集对应一个等价类,所有的等价类就构成了对输入域的一个划分。
(3)组合等价类:使用多元化方法,可以将等价类组合起来。
(4)确定不可测的等价类:有些输入数据组合在实际测试过程中是无法生成的,包括这种数据的等价类就是不可测试等价类。
不可测试数据是指无法输入到被测软件中的那些数据组合。
3、等价类的测试步骤(1)划分等价类,形成等价类表。
(2)为每个等价类规定一个唯一的编号。
(3)设计一个新的测试用例,使其尽量多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
(4)设计一个新的测试用例,使其覆盖一个而且只覆盖一个无效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止。
(二)边界值分析法1、定义:边界值分析法主要从数据的定义域的边界数据进行分析,对于合法的与不合法的边界数据进行选取和测试。
用来检查用户输入的信息、返回的结果以及中间计算结果是否正确。
2、边界值的获取对于一个含有n个变量的程序,保留其中一个变量,让其余的变量取正常值,被保留的变量依次取最小值(min)、略高于最小值(min+)、正常值(nom)、略低于最大值(max-)、最大值(max),对每一个变量都重复进行。
软件测试实验一

doubleLinkedList.toArray(objects);
DoubleLinkedListdoubleLinkedList3=newDoubleLinkedList();
Object []objects1= {object,object,object,object,object,object,object};
collection.add("1");
collection.add("2");
collection.add("3");
DoubleLinkedListdoubleLinkedList=newDoubleLinkedList(collection);
//
//assertEquals(true, actual);
}
}
@Test
publicvoidequals()
{
Year year1=newYear(11);
Month month2=newMonth(10,year1);
Month month3=newMonth(11,year1);
Day day=newDay(3,month2);
Day day1=newDay(4,month2);
month2.setCurrentPos(13);
Day day=newDay(2,month2);
}catch(Exception o)
{
assertEquals(oinstanceofIllegalArgumentException,true);
}
}
@Test
publicvoidisValid3()
软件测试实验一

软件测试实验报告--实验一
班级:软件1603 学号:201616040305 姓名:赵亮
指导老师:王雪涛
一、实验题目
软件测试实验环境搭建
二、实验内容
●搭建开发环境
●导入目标源码
●成功编译并运行
三、实验步骤
1.下载安装jdk和netbean
2.安装mysql数据库和客户端navicat(机器已安装)登陆并参考createtables.sql添加数据库机房mysql的密码:111111 确保root@localhost在schadmin上有所有权限
3.导入工程文件
1解压myapp到一个非中文路径,如解压到D:\myapp\.
2运行netbean.
3导入程序myapp, "新建工程"->javaWeb,基于已有源代码,然后下一步选择服务器,选择Glassfish v3+,点击“下一步”,然后点击安装位置后的“浏览”按钮,选择“c:\Program Files\glassfish-3.1.2.2”,点击下一步,点击完成。
4修改数据库连接配置.
连接请修改;web/WEB-INF/classes/config.properties
tc.util.config_en.properties
4. 编译运行并通过浏览器访问,用户名:admin 密码:pass111登陆,实验各项功能使得均能正常使用
四、实验结果
五、实验的心得体会
以前就挺喜欢接触这类知识,感觉挺好玩,前期确实有很多地方就卡死了,经过讨论询问顺利解决。
软件工程实验1-软件测试

软件工程实验1-软件测试软件工程实验 1 软件测试在当今数字化的时代,软件已经成为我们生活和工作中不可或缺的一部分。
从智能手机上的各种应用程序,到企业内部复杂的业务系统,软件的质量和稳定性直接影响着用户的体验和业务的顺利进行。
而软件测试作为确保软件质量的关键环节,其重要性不言而喻。
在本次软件工程实验 1 中,我们深入探讨了软件测试的相关知识和实践。
软件测试,简单来说,就是对开发完成的软件进行检查和验证,以发现其中可能存在的缺陷和问题。
它并不仅仅是在软件完成后进行的一项工作,而是贯穿于整个软件开发的生命周期。
从需求分析阶段开始,测试人员就需要参与其中,对需求的可测试性进行评估,并制定相应的测试策略。
在软件测试中,有多种不同的测试类型。
其中,最常见的包括功能测试、性能测试、兼容性测试、安全测试等。
功能测试是软件测试的基础,它主要检查软件的各项功能是否能够按照预期正常工作。
测试人员会根据软件的需求规格说明书,设计一系列的测试用例,对软件的各种功能进行逐一验证。
比如,对于一个在线购物网站,功能测试会包括用户注册登录、商品浏览、下单购买、支付结算等功能的测试。
性能测试则关注软件在不同负载条件下的响应时间、吞吐量、资源利用率等性能指标。
通过性能测试,可以发现软件在处理大量数据或高并发请求时是否存在性能瓶颈,从而提前进行优化和改进。
例如,对于一个电商平台,在双十一等购物高峰期,能否承受巨大的访问量,保证系统的稳定运行,就是性能测试需要关注的重点。
兼容性测试主要考虑软件在不同的操作系统、浏览器、硬件设备等环境下的兼容性。
由于用户使用的设备和环境千差万别,如果软件不能在各种常见的环境下正常运行,就会给用户带来极大的不便。
比如,一款手机应用程序需要在不同品牌和型号的手机上,以及不同版本的操作系统上都能正常安装和使用。
安全测试则是为了发现软件中可能存在的安全漏洞,如数据泄露、权限控制不当、SQL 注入等。
随着网络安全威胁日益严峻,安全测试已经成为软件测试中不可或缺的一部分。
软件测试技术实验1

赣南师范大学 数计学院计算机软件测试技术 实验报告专业 班级学号 姓名 成绩软件工程2016 年 月 月实验一黑盒测试用例设计一.实验内容: 1. 三角形问题的边界值分析测试 2. NextDate()函数决策表法测试 二.实验要求:给出测试用例和测试结果 三.实验步骤及结果: (一) (三角形)实验代码(c)#include<stdio.h> #include<stdlib.h> int a=0,b=0,c=0; voidshuru(); voidpanduan(int a1,int b1,int c1); void main() { char se; shuru(); panduan(a,b,c); while(1) { printf("是否要继续 y or n :"); scanf("%c",&se); if(se=='\n') scanf("%c",&se); switch(se) { case 'y': shuru(); panduan(a,b,c); break; case 'n': return; } } } voidshuru() { printf("Please enter 三角形三边 (a,b,c)\n");scanf("%d,%d,%d",&a,&b,&c); while((a<1||a>100)||(b<1||b>100)||(c<1||c>100)) { if(a==0||b==0||c==0) printf("边长不能为 0\n"); else if(a<0||b<0||c<0) printf("边长不能为负\n"); else printf("Please enter 1-100 之间的整数\n"); scanf("%d,%d,%d",&a,&b,&c); } } voidpanduan(int a1,int b1,int c1) { int m1=a1+b1; int m2=a1+c1; int m3=b1+c1; if(a1>=m3||b1>=m2||c1>=m1) printf("非三角形\n"); else if(a1!=b1&&a1!=c1&&b1!=c1) printf("一般三角形\n"); else if((a1==b1&&b1!=c1)||(a1==c1&&a1!=b1)||(c1==b1&&a1!=c1)) printf("等 腰三角形\n"); else if(a1==b1&&b1==c1) printf("等边三角形\n"); }实验一:输入三个整数 有效等价类 范围:1~100 号码 1 无效等价类 a<1或a>100 b<1或b>100 c<1或c>100 a+b<c a+b=c b+c<a b+c=a a+c<b a+c=b 号码 7 8 9 10构成一般三角 形 a+b>c b+c>a2 311a+c>b412构成等腰三角 (a=b||b=c||a=c) 5 形 && 两 边 之 和 大于第三遍 构成等边三角 a=b=c 6 形覆盖有效等价类的测试用类 a b c 覆盖有效等价类号码3 4 44 4 45 5 41、2、3、4 1、2、3、4、5 1、2、3、4、6覆盖无效等价类的测试用类 a 0 3 3 3 7 2 b 4 0 4 4 2 5 c 5 5 0 7 3 3 覆盖无效等价类号码 7 8 9 10 11 12(二) 有函数 f(x,y,z), 其中 x∈[1900,2100], y∈[1,12], z∈[1,31]的。
软件测试实验(设计测试用例)

步骤二:编译驱动程序,运行通过;
步骤三:根据实验给出路径,设计测试用例;
步骤四:运行程序,检验测试用例;
步骤五:比较实际输出结果和预期输出结果,得出测试结论;
步骤六:根据上述实验及结果,给出测试用例文档说明。
实验结果
1)对于(1)分支覆盖,共设计两个测试用例如下:
分支覆盖测试用例1-1:
实际输出结果,如图1-1:
int cout[11]={0,0,0,0,0,0,0,0,0,0,0};
cout[n++]=1;
int k=0,j=0;//2
cout[n++]=2;
cout[n++]=3;
if((X>3)&&(Z<10))//3
{//4
//cout[n++]=4;
k=X*Y-1;//5
cout[n++]=5;
j=sqrt(k);//6
图1-1
说明:Test1在分支1→2→3→8→10→11运行正确。
分支覆盖测试用例1-2:
实际输出结果,如图1-2:
图1-2
说明:Test1在分支1→2→3→5→6→8→9→10→11运行正确。
2)对于(2)路径覆盖,共设计四个测试用例如下:
路径覆盖测试用例2-1:
实际输出结果,如图2-1:
图2-1
int m=0;
while(cout[m]!=0)
{
printf("%d→",cout[m++]);
}
printf("11\n");
}//11
void main()
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮海工学院(计算机工程学院)课内实验报告实验名称:黑盒测试
专业名称:软件工程
班级:Z软件161
姓名:陈真杰
学号:2018140539
指导教师:陈艳艳
实验日期:2019年3月13
一、实验目的与环境
1.实验目的:
(1)理解黑盒测试的含义以及基本的测试方法。
(2)采用等价类划分法设计测试用例。
(3)掌握用等价类划分法设计测试用例的方法。
(4)掌握用因果图设计测试用例的方法。
(5)掌握用边界值分析法设计测试用例的方法。
2.实验环境:C语言、Java语言、Python语言等。
二、实验内容
1.三角形问题:输入3个整数a、b、c,分别作为三角形的3条边,通过程序判断由
3条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形或者3条边不构成三角形。
2.现有一个学生标准化考试批阅试卷、产生成绩报告的程序。
其规格说明为:程序的
输入文件有80个字符的记录组成,分为试题部分和学生答卷部分,具体内容如图所示。
试题部分包括如下内容:
(1)标题。
这一组只有一个记录,其内容为输出成绩报告的名字。
(2)标准答案。
每个记录在第80个字符处标以数字2。
第一个记录的第1~3个字符为“试题数”,用于标示题目编号;第10~59个字符给出第1~50题的答案,以此类推。
学生答卷部分包括内容:每个记录的第80个字符均为数字3。
第1~9个字符给出学号,第10~59字符给出第1至第50题的答案,以此类推。
程序的输出有4个报告:
(1)按学号排列的成绩单,列出每个学生的成绩、名次。
(2)按学生成绩排序的成绩单。
(3)平均分数及标准偏差的报告。
(4)试题分析报告。
按试题号排序,列出各题学生答对的百分比。
3.售货机软件若投入1.5元硬币,按“可乐”“雪碧”或“红茶”按钮,送出相应的饮
料;若投入的是2元硬币,在送出饮料的同时退还5角硬币。
请用因果图设计测试用例。
三、方案设计
1.等价类划分
输入3条边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,则输出下列4种情况之一:
(1)如果不同时满足条件4、条件5和条件6.则程序输出为“不构成三角形”。
(2)如果3条边相等,则程序输出为“等边三角形”。
(3)如果恰好有两条边相等则程序输出为“等腰三角形”。
(4)如果3条边都不相等则程序输出为“一般三角形”。
2.边界值分析法
输入条件和输出条件详见测试用例设计部分。
3.因果图
执行以下操作:
投入硬币。
按按钮。
如果执行了以上两个操作中的一个或两个,则会出现以下3种情况之一:
(1)给出提示信息
(2)送出商品
(3)找零并送出商品
四、测试数据及运行结果
1.等价类划分
等价类划分如表1所示。
表1等价类划分表
根据等价类划分设计测试用例,如表2所示。
表2等价类测试用例
用例(a,b,c) 覆盖等价类预期输出实际输出Test1 (4,5,6) (1)~(6) 一般三角形null
Test2 (0,1,2) (7)
不构成三角形不构成三角形
Test3 (2,0,3) (8) 不构成三角形
Test4 (0,3,4) (9) 不构成三角形
Test5 (2,3,6) (10) 一般三角形
Test6 (6,2,3) (11) 一般三角形
Test7 (2,3,6) (12) 一般三角形
Test8 (4,4,5) (1)~(6),(13) 等腰三角形等腰三角形
Test9 (6,5,5) (1)~(6),(14) 等腰三角形等腰三角形
Test10 (6,7,6) (1)~(6),(15) 等腰三角形等腰三角形
Test11 (3,4,5) (1)~(6),(16) 一般三角形一般三角形
Test12 (4,4,4) (1)~(6),(17) 等边三角形等边三角形
Test13 (4,5,4) (1)~(6),(18) 等边三角形等腰三角形
Test14 (5,5,4) (1)~(6),(19) 等边三角形等腰三角形
Test15 (4,5,5) (1)~(6),(20) 等边三角形等腰三角形测试结果如图1所示。
图1测试用例测试结果
2.边界值分析法
表为输入条件及相应的测试用例。
输入条件测试用例
输入文件空输入文件
标题没有标题
输出条件及相应的测试用例如表所示。
3.因果图
步骤1:原因和结果分析。
原因(输入):
(1)投入1.5元硬币。
(2)投入2元硬币。
(3)按“可乐”按钮。
(4)按“雪碧”按钮。
(5)按“红茶”按钮。
中间状态:
(11)已投币。
(12)已按钮。
结果(输出):
(21)退还5角硬币。
(22)送出可乐。
(23)送出雪碧。
(24)送出红茶。
步骤2:画出因果图,如图所示。
图2因果图
步骤3:设计决策表。
根据因果图设计决策表,如表所示,这里只有11个,而不是2=32个,这是因为图中有很多限制条件导致某些情况不可能出现。
表1.1 决策表
步骤4:设计测试用例。
根据决策表设计测试用例,如表所示。
并执行了相关测试,得到的结果如表所示。
五、总结
通过本次软件测试我学到了很多东西,也有了很多的体会,使我想到有一句话说的是“从已知现象解决未知问题!”这句话很好的概括了黑盒测试。
我对黑盒测试的理解是:站在用户的角度去思考使用程序的所有情况,完全摒弃代码部分的逻辑结构。
这样测试,通过结果去推断出现问题的原因,这个过程是程序员对自己代码的重新梳理,还可以对代码的逻辑结构进行优化。
是一个很好的测试方法,但这只是黑盒测试中的一个小部分,我还会继续学习其它的黑盒测试方法,并去思考和总结的。
六、附录:源代码
import java.util.Scanner;
public class Triangle_test {
public static void main(String[] args)
{
Scanner ss=new Scanner(System.in);
float a=1,b=1,c=1;
while(a!=1000||b!=1000||c!=1000)
{
System.out.println("请输入三角形的三边a,b,c的值:");
a=ss.nextFloat();
b=ss.nextFloat();
c=ss.nextFloat();
System.out.println(test(a,b,c));
}
}
public static String test(float x,float y,float z)
{
String k=null;
if(x>0 && x<101 && y>0 && y<101 && z>0 && z<101)
{
if(x+y>z && x+z>y && y+z>x)
{
if(x==y && y==z)
{
k="是等边三角形";
}
else if(x==y || x==z || y==z) //调整并列关系
{
k="是等腰三角形";
}
else{
k="是一般三角形"; //调整并列关系
}
}else{
k="不构成三角形"; //添加补充条件
}
}
else{
k="不构成三角形";
}
return k;
}
}。