文档库 最新最全的文档下载
当前位置:文档库 › 东南大学软件测试白盒测试实验二

东南大学软件测试白盒测试实验二

东南大学软件测试白盒测试实验二
东南大学软件测试白盒测试实验二

软件测试基础与实践

实验报告

实验名称:白盒测试实验二

实验地点:计算机软件楼

实验日期:

学生姓名:王鑫

学生学号:

东南大学软件学院制

一、实验目的

(1)巩固白盒测试知识,能熟练应用基本路径测试方法设计测试用例

(2)学习测试用例的书写

二、实验内容

(一)实验一: 基本路径测试技术实验

运用基本路径测试方法,分别对程序WeekB 中的方法IsCorrect()和getResult()进行测试。要求:

(1) 画出程序流图。

(2) 计算环复杂度。

(3) 找到基本路径集合。

(4) 设计具体的测试用例。

方法IsCorrect()

1.画出程序流图

bool IsCorrect(int y,int m,int d)

{

if(y<1)

return false;

else

{

if(((y%4==0)&&(y%100!=0))||(y%400==0))

maxA[1]=29;

if(m<0||m>12)

return false;

else

{

if(d>maxA[m-1])

return false;

else

return true;

}

}

2.计算环复杂度

V(G)=流图中的区域数量=8 3.找到基本路径集合

4.设计具体的测试用例

方法getResult ()

1.画出程序流图

int getResult(int y,int m,int d)

{

long totalDays=0;

for(int i=1;i

{

if(((i%4==0)&&(i%100!=0))||(i%400==0))

totalDays+=366;

else

totalDays+=365;

}

if(((y%4==0)&&(y%100!=0))||(y%400==0))

maxA[1]=29;

else

maxA[1]=28;

for(int i=1;i

{

totalDays+=maxA[i-1];

}

totalDays+=(d-1);

maxA[1]=28;

return (totalDays%7); }

2.计算环复杂度

V(G)=流图中的区域数量=9

3.找到基本路径集合

4.设计具体的测试用例

三、实验体会

(1)没有测出缺陷,但实际上存在缺陷。这说明动态白盒测试之路径测试并不能完全测出缺陷。关键在于测试用例是否则测出缺陷。

不过比较实验一中中代码,有改进:

1.解决了year=0的问题

2.之前month=0会抱错,这次不会

3.对于错误输出,会输出“输入错误,请重新输入”,而不是也给出结果

(2)程序依然存在缺陷,如month取值为0,程序显示“X年X月X日是星期计算错误”;day取值为0或者负数,程序依然显示“X年X月X日星期计算错误”。而事实上应该显示“输入错误,请重新输入”。

改进:getResult()函数中,

if(((y%4==0)&&(y%100!=0))||(y%400==0))

maxA[1]=29;

else

maxA[1]=28;

可以删去,因为在IsCorrect()函数中已经判断过了。

(3)关键:1.做出正确有美观的流图。“正确”保证了正确计算出环复杂度和设计出基本路径集合,而“美观”保证了方便设计出正确测试用例。

2.设计出正确的基本路径集合,最好依照从上到下或者从下到上的遍历顺

序遍历流图。

3.对应基本路径集合中每条路径设计出正确测试用例。

难点:1.做出正确有美观的流图;

2.设计出正确的基本路径集合,不要过多,有些可以由集合中已经存在的

路径线性表示。

3. 对应基本路径集合中每条路径设计出正确测试用例,有些路径可能不存

在测试用例。

软件测试中黑盒测试的测试用例设计方法软件测试的14种类型

软件测试中黑盒测试的测试用例设计方法/软件测试的14种类型 发布: 2010-7-09 09:05 | 作者: 网络转载 | 来源: 领测软件测试网采编 | 查看: 204次 | 进入软件测试论坛讨论软件测试中黑盒测试的测试用例设计方法/软件测试的14种类型 等价类划分 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法:下面给出六条确定等价类的原则. ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. ④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则). ⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类. 3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类: 输入条件有效等价类无效等价类 ... ... ... ... ... ... 然后从划分出的等价类中按以下三个原则设计测试用例: ①为每一个等价类规定一个唯一的编号. ②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止. ③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止. 边界值分析法 边界值分析方法是对等价类划分方法的补充. (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; } } }

二、程序流程图 ① N a + b > c && b + c > a && a + c > b Y ② Y a == b && b ==c N ④ a == b || b == c || a == c N Y ③⑥⑦⑤ Return 3 Return 1 Return 2 Return 0 Exit 三、测试用例 1.语句覆盖测试用例: 输入期望输出覆盖对象测试结果 Case1 Case2 Case3 Case4 a=1, b=2, c=3 a=3, b=4, c=5 1 2 3 ①,⑤0 1 2 3 ①,②,④,⑥ ①,②,④,⑦ ①,②,③ a=3, b=3, c=4 a=3, b=4, c=5 2.判定覆盖测试用例 输入期望输出覆盖对象测试结果 Case11 Case12 Case13 Case14 a=1, b=2, c=3 a=3, b=4, c=5 a=3, b=3, c=4 a=3, b=4, c=5 1 2 3 ①,⑤0 1 2 3 ①,②,④,⑥ ①,②,④,⑦ ①,②,③

软件测试实验一

内蒙古工业大学信息工程学院实验报告 课程名称:软件测试 实验名称:“爱米云网盘”黑盒测试设计用例 实验类型:验证性■综合性□设计性□ 实验室名称:软件实验室 班级:软件12-2 学号: 姓名:张贺组别: 同组人:成绩: 实验日期: 2015年6月14日 实验报告成绩:指导教师审核(签名):年月日 实验报告 一.实验目的 ①理解黑盒测试的概念。 ②理解测试用例的重要性。 ③掌握黑盒测试技术设计测试用例的方法。 二.实验环境 Windows7操作系统爱米云服务器爱米云客户端 三.实验内容 应用黑盒测试技术,对“爱米云网盘客户端”登录功能进行测试用例设计。四.实验要求 ①根据《软件需求规格说明书》了解登录功能的测试需求。 ②重点针对账号、密码和登录流程进行测试用例设计。 ③应用黑盒测试技术进行测试用例设计,写出等价类表、边界值分析结果、用

例场景图等测试设计文档。 五.实验步骤 1、通读“爱米云网盘”的《软件需求规格说明书》,重点阅读登录功能的需求。 登陆时,用户名由3~20个字母、数字或“_”组成,密码由6~16个字符组成,不能是8位以下纯数字。登陆时,可以设置为“保存密码”或“自动登陆”。登陆成功的账号记录在账号输入框和下拉列表中,下拉列表最多记录5个账号。下拉列表中可以删除历史账号。登陆成功后可从主窗口菜单中,进行切换账号和修改密码。 2、针对登录功能,应用适当的黑盒测试技术的等价类划分法、边界值分析法、场景法等 测试方法,进行测试用例设计,列出每个测试子项对应的等价类表、边界值、用例场景图等。 账号和密码等价类划分法 测试点 用户名由3~20个字母、数字或“_”组成,密码由6~16个字符 下拉列表等价类划分法 账号和密码边界值分析法

软件测试中的43个功能测试点

软件测试中的43个功能测试点 功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能,针对web系统我们有哪些常用测试方法呢今天我们一起来了解了解~~ 1. 页面链接检查 每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如:LinkBotPro、File-AIDCS、HTMLLink Validater、xenu等工具。LinkBotPro 不支持中文,中文字符显示为乱码;HTMLLink Validater只能测试以Html或者htm结尾的网页链接;xenu无需安装,支持asp、do、jsp等结尾的网页,xenu 测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html 格式的测试报告。 2.相关性检查 功能相关性:删除/增加一项会不会对其它项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。 3.检查按钮的功能是否正确 如新建、编辑、删除、关闭、返回、保存、导入、上一页、下一页、页面跳转、重置等功能是否都正确。常见的错误会出现在重置按钮上,表现为功能失效。 4.字符串长度检查 输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度。还要检查需求规定的字符串长度是否都正确,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。

5.字符类型检查 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型)看系统是否检查字符类型。 6.标点符号检查 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。 7.特殊字符检查 输入特殊符号,如@、#、%、!等,看系统处理是否正确。常见的错误是出现在%、’“这几个特殊字符。 8.中文字符处理 在可以输入中、英文的系统输入中文,看是否出现乱码或出错。 9.检查信息的完整性 在查看信息和更新信息时,查看所填写的信息是不是全部都更新,更新信息和添加信息是否一致,要注意检查的时候每个字段都应该检查,有时候,会出现部分字段更新了而个别字段没有更新的情况。 10.信息重复 在一些才需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。 11.检查删除功能

软件测试的定义及常用软件测试方法介绍

软件测试的定义及常用软件测试方法介绍 一、软件测试的定义 1.定义:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满 足规定的需求或弄清预期结果与实际结果之间的差别。 2.内容:软件测试主要工作内容是验证(verification)和确认(validation ),下面分别给 出其概念: 验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件以正确的方式来做了这个事件(Do it right) 1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程 2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程 3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否 和规定的需求相一致进行判断和提出报告。 确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。(Do the right thing) 1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性 2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。 软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。 二、软件测试常用方法 1. 从是否关心软件内部结构和具体实现的角度划分: a. 黑盒测试 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据和输出数据的对应关系出发进行测试的,很明显,如果本身设计有问题或者说明规格有错误,用黑盒测试是发现不了的。

软件测试实验报告(测试计划+黑盒测试+白盒测试)

河北民族师范学院 软件测试课程设计报告 题目:NextDate函数 姓名: 班级: 学号: 指导老师: 2014.10.9 目录 第1章软件测试的概念和设计要求 (3) 1.1 测试目的 (3) 1.2 测试选题 (4) 1.3测试人员 (4) 1.4测试方法 (4) 1.5 测试资料及参考书 (4) 1.6关于黑盒测试 (4) 1.7 关于白盒测试 (5) 1.8、黑盒测试与白盒测试的比较 (6) 1.9 软件测试过程 (6) 1.10数据整理 (7) 第2章NextDate函数问题 (8) 2.1NextDate函数的黑盒测试 (8) 2.1.1.问题描述: (8) 2.1.2.程序代码(开发环境:Windowsxp xp、java): (8) 2.1.3.测试方法 (9) 2.1.4.测试用例设计 (9)

2-2NextDate函数的白盒测试 (11) 2.2.1核心程序代码 (11) 2.2.2程序流程图 (12) 2.2.3 测试用例 (12) 2.2.4程序控制流图 (14) 设计心得与体会 (14) 第1章软件测试的概念和设计要求 1.1 测试目的 1.练习和掌握软件测试管理的一般过程与步骤; 2.掌握测试管理的人工过程和能够通过相关管理软件实现以下工作: a)配置软件资产信息、软件需求、软件模型和缺陷数据库; b)创建和管理多个测试组和用户; c)配置测试环境、编写详细测试计划、安排测试进度; d)设计测试脚本、测试用例; e)实施测试、执行测试和评估测试。 1.2 测试选题 NextDate函数; 1.3测试人员 张@@:软件测试计划及相关资料的编写与收集。 李@@:对特定问题编写程序代码,并对其进行黑盒测试。 王@@:对特定问题编写程序代码,并对其进行白盒测试。 1.4测试方法 对于选题,使用黑盒测试技术,测试内容包括等价类划分测试、边界值分析测试、决策表方法使用。 使用白盒测试技术,测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试及基本路径测试。

实验3、黑盒测试:决策表测试方法

20 15 — 20 16 学年第 2 学期 软件测试技术课程 实验报告 学院:计算机科学技术 专业:软件工程 班级:软件二班 姓名:吴德宁 学号:041340217 任课教师:刘玉宝

实验日期:2016年 5 月 17 日实验题目实验3、黑盒测试:决策表测试方法 实验目的 1、掌握决策表的概念 2、掌握决策表测试用例设计法。 实验内容 1、对NextDate问题运用决策表法设计测试用例,并执行测试,撰写实验报告。 NextDate (int month, int day, int year)函数规定:输入三个整数:month、day 和year,函数的输出为输入日期后一天的日期。例如,输入为2006年3月7日,则函数的输出为2006年3月8日,year满足1920≤year≤2050。 实验步骤: 1)构造决策表 ●M1={月份:30天/月}, M2={月份: 31天/月,12月除外}, M3={月份: 12月},M4={月份: 2月} ●D1={日期:1<=日<=27}, D2={日期:日=28}, D3={日期:日=29} , D4={日期:日=30}, D5={日期:日=31} ●Y1={年:闰年},Y2={年:平年} 注:二月:平年28天,闰年29天 条件桩: ●C1:月份在{M1,M2,M3,M4}中之一 ●C2:日期在{D1,D2,D3,D4 ,D5}中之一 ●C3:年在{Y1,Y2}中之一 动作桩: ●A1:不可能 ●A2:日期增1 ●A3:日期复位(置1) ●A4:月份增1 ●A5:月份复位(置1) ●A6:年增1 1 2 3 4 5 6 7 8 9 10 C1:月M1 M1 M1 M1 M1 M2 M2 M2 M2 M2

软件测试黑盒测试代码

实验一黑盒测试 1.实验目的 (1)能熟练应用黑盒测试技术进行测试用例设计; (2)对测试用例进行优化设计 2.实验内容 找零钱最佳组合 假设商店货品价格(R)皆不大于100 元(且为整数),若顾客 付款在100元内(P),求找给顾客最少货币个(张)数?(货 币面值50 元10 元,5 元,1 元四种)。 3.程序代码 #include"stdio.h" #include "conio.h" void main1() {int P; //所收到的钱总数 int R;//商品价格总数 int i=0,k=0,r50=0,r10=0,r5=0,r1=0; printf("请输入商品总价格:"); scanf("%d",&R); printf("请输入所收的钱是多少:");

scanf("%d",&P); k=P-R; if (R>100 || P>100 || R>P||P<=0||R<=) { printf("Wrong:输入大于100元或者商品总价大于所收的钱\n");} else { if (P-R>=50) { P=P-50; r50=r50+1; i++; } while (P-R>=10) { P=P-10; r10=r10+1; i++; } while (P-R>=5) { P=P-5; r5=r5+1; i++; } while (P-R>=1){ P = P-1; r1 = r1 + 1; i++; } printf("应该找:\n %d 张50块的\n %d 张10块的 \n %d 张5块的\n %d 张1块的\n共找钱%d张总共%d元\n",r50,r10,r5,r1,i,k); } } void main() {do {main1(); printf("******************************\n"); printf("请按回车继续:\n");}

黑盒测试软件测试实验报告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");

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

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

淮海工学院(计算机工程学院)课内实验报告实验名称:黑盒测试 专业名称:软件工程 班级: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)试题分析报告。按试题号排序,列出各题学生答对的百分比。

软件测试中常见的功能测试检查点

软件测试中常见的功能测试检查点 Functional testing (功能测试),也称为behavioral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。功能测试也叫黑盒子测试或数据驱动测试,只需考虑各个功能,不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。 功能测试常见检查点如下: 1.页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。 2.相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。 3.检查按钮的功能是否正确:如update、cancel、delete、save等功能是否正确。 4.字符串长度检查:输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错。 5.字符类型检查:在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错。 6.标点符号检查:输入内容包括各种标点符号,特别是空格、各种引号、回车键。看系统处理是否正确。 7.中文字符处理:在可以输入中文的系统输入中文,看会否出现乱码或出错。 8.检查带出信息的完整性:在查看信息和update信息时,查看所填写的信息是不是全部带出,带出信息和添加的是否一致。 9.信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。

软件测试实验报告

本科实验报告 课程名称:软件测试技术 实验项目:软件测试技术试验实验地点:实验楼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。

软件测试功能测试方法-黑盒测试

软件测试功能测试方法-黑盒测试

软件测试功能测试方法 软件测试功能测试方法功能测试方法 黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: 1)功能错误或遗漏; 2)界面错误;

3)数据结构或外部数据库访问错误; 4)性能错误; 5)初始化和终止错误。 一、黑盒测试的测试用例设计方法 ·等价类划分方法 ·边界值分析方法 ·错误推测方法 ·因果图方法 ·判定表驱动分析方法 ·正交实验设计方法 ·功能图分析方法 等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等

价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法:下面给出六条确定等价类的原则. ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规

软件测试中如何编写单元测试用例(白盒测试)

软件测试中如何编写单元测试用例(白盒测试) 测试用例(T est Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 测试用例(T est Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。 不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不统一,变化更大、更快。笔者主要从事企业管理软件的测试。因此我们的做法是把测试数据和测试脚本从测试用例中划分出来。测试用例更趋于是针对软件产品的功能、业务规则和业务处理所设计的测试方案。对软件的每个特定功能或运行操作路径的测试构成了一个个测试用例。 随着中国软件业的日益壮大和逐步走向成熟,软件测试也在不断发展。从最初的由软件编程人员兼职测试到软件公司组建独立专职测试部门。测试工作也从简单测试演变为包括:编制测试计划、编写测试用例、准备测试数据、编写测试脚本、实施测试、测试评估等多项内容的正规测试。测试方式则由单纯手工测试发展为手工、自动兼之,并有向第三方专业测试公司发展的趋势。 要使最终用户对软件感到满意,最有力的举措就是对最终用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性。测试用例反映了要核实的需求。然而,核实这些需求可能通过不同的方式并由不同的测试员来实施。例如,执行软件以便验证它的功能和性能,这项操作可能由某个测试员采用自动测试技术来实现;计算机系统的关机步骤可通过手工测试和观察来完成;不过,市场占有率和销售数据(以及产品需求),只能通过评测产品和竞争销售数据来完成。 既然可能无法(或不必负责)核实所有的需求,那么是否能为测试挑选最适合或最关键的需求则关系到项目的成败。选中要核实的需求将是对成本、风险和对该需求进行核实的必要性这三者权衡考虑的结果。 确定测试用例之所以很重要,原因有以下几方面。 测试用例构成了设计和制定测试过程的基础。测试的“深度”与测试用例的数量成比例。由于每个测试用例反映不同的场景、条件或经由产品的事件流,因而,随着测试用例数量的增加,您对产品质量和测试流程也就越有信心。判断测试是否完全的一个主要评测方法是基于需求的覆盖,而这又是以确定、实施和/或执行的测试用例的数量为依据的。类似下面这样的说明:“95 % 的关键测试用例已得以执行和验证”,远比“我们已完成95 % 的测试”更有意义。测试工作量与测试用例的数量成比例。根据全面且细化的测试用例,可以更准确地估计测试周期各连续阶段的时间安排。测试设计和开发的类型以及所需的资源主要都受控于测试用例。测试用例通常根据它们所关联关系的测试类型或测试需求来分类,而且将随类型和需求进行相应地改变。最佳方案是为每个测试需求至少编制两个测试用例:·一个测试用例用于证明该需求已经满足,通常称作正面测试用例;·另一个测试用例反映某个无法接受、反常或意外的条件或数据,用于论证只有在所需条件下才能够满足该需求,这个测试用例称作负面测试用例。 前段时间公司进行有关测试的培训,集成测试,性能测试,压力测试说了很多。由于本人还处于Coder阶段,只是对单元测试有了些了解。写下来怕以后自己忘记了。都是些自己的看法,不一定准确,欢迎高手指教。 一、单元测试的概念 单元通俗的说就是指一个实现简单功能的函数。单元测试就是只用一组特定的输入(测试用

实验二 黑盒测试方法

实验二:黑盒测试 一、实验目的 (1)能熟练应用黑盒测试技术进行测试用例设计; (2)对测试用例进行优化设计; (3)思考如何执行测试; 二、实验内容: 从问题一或问题二中选一个或可自定测试的内容进行测试。 问题一:日期问题描述 程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤year ≤2050。),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。请用黑盒测试方式设计测试用例。请选择适当的黑盒测试方法设计出相应的测试用例。 程序界面 问题二描述: 有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下: 若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。(每次只投入一个硬币,只按下一种饮料的按钮) 如投入5角的硬币,按下按钮后,总有饮料送出。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。 若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。 请选择适当的黑盒测试方法设计出相应的测试用例。 【实验步骤】 (1)根据题目要求设计编写程序代码,编程语言不限。 (2)与其它同学交换代码,即每位同学测试其它同学的程序。 (3)使用等价类法或边界值法或判定表法或几种方法综合使用来设计测试用例。 (4)考虑如何执行测试。 (5)撰写测试分析报告。 三、实验要求 (1)根据题目要求编写测试用例; (2)撰写实验报告,在实验报告中写下你的问题; 四、思考与讨论 (1)在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多 的缺陷; (2)在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的 冗余性; (3)如何组织实施测试? 五、其它说明: 1、实验结束上交资料包括:被测程序、设计的测试用例(包括划分的等价类或判 定表等)、错误记录,可参考用例模板(网络课堂的教学资料中或 ftp://172.31.214.12/pub/海辉/实验资料/有下载)。

软件测试白盒测试用例练习题

白盒测试用例练习 一、为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z<10) ) { k=x*y-1; j=sqrt(k); //语句块1 } if ( (x==4)||(y>5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 }

由这个流程图可以看出,该程序模块有4条不同的路径: P1:(a-c-e) P2:(a-c-d) P3:(a-b-e) P4:(a-b-d) 将里面的判定条件和过程记录如下: 判定条件M={x>3 and z<10} 判定条件N={x=4 or y>5} 1、语句覆盖 2、判定覆盖 p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。 也可以让测试用例测试路径P2和P3。相应的两组输入数据如下:

3、条件覆盖 对于M:x>3取真时T1,取假时F1; z<10取真时T2,取假时F2; 对于N:x=4取真时T3,取假时F3; y>5取真时T4,取假时F4。 条件:x>3,z<10,x=4,y>5 条件:x<=3,z>=10,x!=4,y<=5 根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示: 4、判定/条件覆盖

5、组合覆盖 条件组合 1)x>3,z<10 2)x>3,z>=10 3) x<=3,z<10 4)x<=3,z>=10 5)x=4,y>5 6)x=4,y<=5 7)x!=4,y>5 8)x!=4,y<=5 6、路径覆盖

软件测试中功能测试点总结

1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。 2. 相关性检查: ? 功能相关性:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。 ? 数据相关性:下拉列表默认值检查,下拉列表值检查,如果某个列表的数据项依赖于其他模块中的数据,同样需要检查,比如,某个数据如果被禁用了,可能在引用该数据项的列表中不可见。 3. 检查按钮的功能是否正确:如新建、编辑、删除、关闭、返回、保存、导入,上一页,下一页,页面跳转,重置等功能是否正确。常见的错误会出现在重置按钮上,表现为功能失效。 4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。还要检查需求规定的字符串长度是否是正确的,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。 5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。 6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。 7.特殊字符检查:输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。常见的错误是出现在% … \ 这几个特殊字符

最新白盒测试实验报告

软件测试实验二 一:实验目的 1.通过实验熟悉测试用例设计 2.通过实验熟悉白盒测试 二:实验内容1: 1.用java编写一个类,完成下面函数的功能,并编写另外一个类,调用该方法: void DoWork(int x,int y,int z) { int k=0,j=0; if((x>3)&&(z<10)) { k=x*y-1; //语句块1 j=sqrt(k); } if((x= =4)||(y>5)) { j=x*y+10; //语句块2 } j=j%3; //语句块3 } 试验内容2: 1、画出上面函数的流程图。 2、分别使用语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定-条件覆盖、条件组合测试、路径测试设计测试用例(注意测试用例的格式)。 3、执行每个测试用例,执行完毕后填写测试用例。

二:程序 public class Test { static void dowork(int x,int y,int z) { int k=0,j=0; if((x>3)&&(z<10)) { k=x*y-1; j=(int)Math.sqrt(k); } if((x==4)||(y>5)) { j=x*y+10; } j=j%3; System.out.println("k="+k); x>3 and z<10 x==4 or y>5 k=x*y-1 j=sqrt(k) T F T a c e b j=j%3 j=x*y+10 F d

System.out.println("j="+j); } public static void main(String[] args) { dowork(4,6,5); } } 三:设计测试用例 1.语句覆盖 x=4,y=6,z=5 2.判定覆盖 x,y,z (x>3) and (z<10) (x=4) or (y>5) 执行路径4,6,7 真真ace 2,5,10 假假abd 3.条件覆盖 x>3为真,记为T1 x>3为假,记为-T1 z<10为真,记为T2 z<10为假,记为-T2 x=4为真,记为T3 x=4为假,记为-T3 y>5为真,记为T4 y>5为假,记为-T4 x,y,z 执行路径覆盖条件 覆盖分支 be 3,5,5 abe -T1,T2,-T3,T4 4,4,11 abe T1,-T2,T3,-T4 be 4. 5.判定—条件覆盖 覆盖分支x,y,z 执行路径覆盖条件 1 4, 4, 5 ace T1,T2,T3,T4 ce 2 2, 6,11 abd -T1,-T2,-T3,-T4 bd

(完整版)软件测试试题及答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√) 4. Beta 测试是验收测试的一种。(√) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√) 8. 测试的目的是发现软件中的错误。(√) 9. 代码评审是检查源代码是否达到模块设计的要求。(√) 10. 自底向上集成需要测试员编写驱动程序。(√) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最 终用户来实施的。(√) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√)黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(× ) 29. 测试程序仅仅按预期方式运行就行了。( × ) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( × )

相关文档
相关文档 最新文档