第7课时黑盒测试—案例分析与实践
实验七-黑盒测试之场景法测试实验(参考答案)

实验七-黑盒测试之场景法测试实验(参考答案)实验七黑盒测试之场景法测试实验1.1 实验目的1、通过对简单程序进行黑盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。
2、掌握黑盒测试的基础知识,能熟练应用场景法进行测试用例的设计。
1.2 实验平台操作系统:Windows 7或Windows XP1.3 实验内容及要求1、练习1软件系统几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
场景法就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有基本流(基本事件)和备选流(分支事件)。
下面是对某IC卡加油机应用系统的基本流和备选流的描述。
基本流A;序号用例名称用例描述1 准备加油客户将IC加油卡插入加油机2 验证加油加油机从加油卡的磁条中读取账户代码,并检查它是否属于卡可以接收的加油卡3 验证黑名单加油机验证卡账户是否存在于黑名单中,如果属于黑名单,加油机吞卡4 输入购油量客户输入需要购买的汽油数量5 加油加油机完成加油操作,从加油卡中扣除相应金额6 返回加油卡退还加油卡备选流:序号用例名称用例描述B 加油卡无效在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC 卡,加油机退卡,并退出基本流C 卡账户属于黑在基本流A3过程中,判断该卡账产属于黑名单,例如:已经挂失,加油机名单吞卡退出基本流D 加油卡账面现金不足系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡E 加油机油量不足系统判断加油机内油量不足,重新加入基本流A4,或选择退卡(1)使用场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流用字母A表示,备选流用题干中描述的相应字母表示。
场景1:A场景2:A、B场景3:A、C场景4:A、D场景5:A、E(2)场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试用例。
如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。
实验黑盒测试用例设计

实验黑盒测试用例设计黑盒测试是一种软件测试方法,用于测试软件的功能是否按照预期要求进行操作并产生正确的输出结果。
黑盒测试着重于测试软件的功能是否按照规格说明书的要求进行运行,而不关心内部的实现细节。
为了设计有效的黑盒测试用例,以下是一些常见的方法和技巧:1.等价类划分:将输入域划分为若干个等价类,然后选择一个或多个测试用例来覆盖每个等价类。
这可以有效地减少测试用例的数量,并确保对不同类型的输入进行全面测试。
2.边界值分析:测试边界值情况是非常重要的,因为边界值通常比一般值更容易引发错误。
根据输入域的边界值,选择测试用例以测试软件在边界条件下的行为。
3.错误推测:通过了解程序的规格说明书和需求,识别可能的错误类型,并选择测试用例来验证软件的处理能力。
比如,如果一个程序要求输入数字,但实际上可以接受其他类型的输入,那么我们就可以选择测试用例来验证这种错误情况。
4.决策表测试:对于复杂的程序逻辑,使用决策表来设计测试用例是一种非常有效的方法。
决策表定义了输入条件和操作条件之间的关系,使得可以根据不同的组合测试不同的情况。
5.正交实验设计:正交实验设计是一种基于统计原理的测试方法,可以有效地减少测试用例的数量,并提高测试的效率。
通过选择一组互相独立的输入条件和值,生成一组测试用例来覆盖不同的情况。
6.错误处理测试:测试软件的错误处理能力是非常重要的。
选择测试用例来模拟可能的错误情况,如输入错误数据、断开网络连接等,以验证软件的错误处理机制。
7.用户需求测试:黑盒测试的目标是验证软件是否满足用户需求。
因此,重点测试的是功能和用户需求之间的对应关系。
选择测试用例来验证软件是否按照用户需求进行操作,并生成正确的输出结果。
总结起来,黑盒测试用例设计的关键是选取合适的测试方法和技巧,并根据软件的需求和规格说明书选择恰当的测试用例来覆盖不同的情况。
通过充分利用这些方法和技巧,可以设计出一组有效的黑盒测试用例,提高软件的质量和可靠性。
黑盒测试实验

实验一、黑盒测试实验1. 实验目的理解墨盒测试的基本方法,掌握等价类划分法、边界值分析等测试用例的设计方法。
2.实验内容(1) 等价类划分方法1) 三角形问题等价类划分设计测试用例2) NextDate问题,对它的输入进行分析,划分等价类,然后根据等价类设计测试用例。
(2) 边界值和因果图1)NextDate问题用边界值分析法设计测试用例分析NextDate问题中的逻辑,用边界值分析法的思想设计测试用例。
2) 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:若投入5角钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。
若售货机没有零钱找,则一个显示[零钱找完]的红灯亮,这时再投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示[零钱找完]的红灯灭,在送出饮料的同时退还5角硬币。
用因果图法对自动售货机设计测试用例。
要求:(1) 1)必做(1) 2)与(2)1)2)选做其一3.实验准备(1)主流PC机一套,要求安装windows操作系统、Virtul Studio6.0、C++Test、java等工具;(1)理解等价类划分法、边界值分析法的思想,划分依据;(2)熟悉上述方法测试用例设计的理论4.实验步骤(1)三角形问题1) if (!(a+b<=c||a+c<=b||b+c<=a)&&(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)){if (a==b && a==c)MessageBox("等边三角形");else if (a==b || a==c || b==c)MessageBox("等腰三角形");elseMessageBox("一般三角形");}else {if(a<1||a>100)MessageBox("a不在范围内,不满足条件1,不能构成三角形");else if(b<1||b>100)MessageBox("b不在范围内,不满足条件2,不能构成三角形");else if(c<1||c>100)MessageBox("c不在范围内,不满足条件3,不能构成三角形");else if(a>=b+c)MessageBox("不满足a<b+c,不能构成三角形");else if(b>=a+c)MessageBox("不满足b<a+c,不能构成三角形");else if(c>=b+a)MessageBox("不满足c<a+b,不能构成三角形");}MessageBox("判断结束!");}2) 实验的输入和输出样式3) 测试用例设计用等价类分析法设计测试用例,按照下列步骤进行:错误!未找到引用源。
黑盒测试方法举例说明

黑盒测试方法举例说明黑盒测试是一种软件测试方法,测试人员不需要了解内部代码或程序逻辑,而是专注于测试输入和输出的正确性。
本文将介绍几种常见的黑盒测试方法,并通过具体的案例来说明其应用。
等价类划分等价类划分是一种常用的黑盒测试方法,将输入数据划分成有效等价类和无效等价类,只需测试每个等价类的一个代表值即可。
例如,对于一个要求输入1到100之间的整数的程序,我们可以选择一个小于1的数、一个在1和100之间的数和一个大于100的数进行测试。
边界值分析边界值分析是在等价类划分的基础上,对边界数值进行测试的一种方法。
通常情况下,程序在处理边界值时容易出现错误。
以编辑器的字数统计功能为例,如果规定最多输入1000个字,我们会测试999个字和1000个字的情况,以确保程序能够正确统计。
因果图法因果图法是一种通过绘制因果图来描绘可能的输入和输出关系的黑盒测试方法。
以一个购物网站为例,我们可以绘制用户点击购买按钮后的流程图,包括选择商品、填写地址、付款等步骤。
通过因果图法,我们可以发现潜在的问题,并设计相应的测试用例。
决策表驱动测试决策表驱动测试是一种根据不同条件的组合来设计测试用例的黑盒测试方法。
以一个银行取款程序为例,我们可以根据取款金额、账户余额和取款时间等条件,设计不同的测试用例。
这样能够覆盖不同的可能情况,提高测试的全面性。
边界盒测试边界盒测试是一种结合边界值分析和等价类划分的测试方法,旨在测试系统的边界条件。
以一个电子邮箱地址输入框为例,我们可以测试最短长度、最长长度和超过最长长度的情况,以确保系统在处理边界条件时能够正确响应。
以上是几种常见的黑盒测试方法,每种方法都有其适用的场景和优势。
在实际测试过程中,可以根据具体的需求选择合适的方法或组合多种方法进行测试,以确保软件质量和稳定性。
黑盒测试虽然不涉及具体代码实现,但却是保证软件功能正确性和稳定性的重要手段之一。
黑盒测试具体例子

黑盒测试具体例子黑盒测试是一种软件测试方法,测试人员主要关注软件的输入与输出,而不考虑内部结构或代码实现细节。
在黑盒测试中,测试人员通过分析需求规格说明书等文档,设计测试用例来验证软件功能的正确性。
下面将介绍几个黑盒测试的具体例子。
1. 登录功能测试假设我们要测试一个网站的登录功能,我们可以设计以下测试用例来进行黑盒测试:•测试用例1:输入正确的用户名和密码,验证是否能成功登录;•测试用例2:输入错误的用户名,验证是否提示“用户名不存在”的错误信息;•测试用例3:输入错误的密码,验证是否提示“密码错误”的错误信息;•测试用例4:输入超长的用户名或密码,验证系统是否做了长度限制处理;•测试用例5:在登录界面不输入任何信息,验证系统是否能识别为空的输入并给出相应提示。
通过以上测试用例可以验证登录功能在不同情况下的表现,保证其在各种情况下都能正常运作。
2. 购物车功能测试假设我们要测试一个电商网站的购物车功能,我们可以设计以下测试用例进行黑盒测试:•测试用例1:向购物车添加商品,验证商品数量是否正确增加;•测试用例2:修改购物车中商品的数量,验证价格是否正确计算;•测试用例3:删除购物车中的商品,验证删除后购物车是否为空;•测试用例4:尝试向购物车中添加数量超过库存的商品,验证系统是否给出相应提示;•测试用例5:尝试在未登录状态下进行购物车操作,验证系统是否要求用户先登录。
通过以上测试用例可以验证购物车功能在各种操作下的正确性,避免在实际使用中出现问题。
3. 搜索功能测试假设我们要测试一个搜索引擎的搜索功能,我们可以设计以下测试用例进行黑盒测试:•测试用例1:输入关键词进行搜索,验证搜索结果的相关性和准确性;•测试用例2:输入特殊字符进行搜索,验证系统是否能正确处理这些特殊字符;•测试用例3:输入不存在的关键词进行搜索,验证系统是否能给出“无结果”提示;•测试用例4:在搜索结果页面尝试使用筛选功能,验证筛选条件是否有效;•测试用例5:在搜索过程中断网重连,验证系统是否能正确处理这种情况。
实验七黑盒测试之场景法测试实验[参考答案解析]
![实验七黑盒测试之场景法测试实验[参考答案解析]](https://img.taocdn.com/s3/m/89f5ce1017fc700abb68a98271fe910ef12daeb3.png)
实验七⿊盒测试之场景法测试实验[参考答案解析]实验七⿊盒测试之场景法测试实验1.1 实验⽬的1、通过对简单程序进⾏⿊盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。
2、掌握⿊盒测试的基础知识,能熟练应⽤场景法进⾏测试⽤例的设计。
1.2 实验平台操作系统:Windows 7或Windows XP1.3 实验内容及要求1、练习1软件系统⼏乎都是⽤事件触发来控制流程的,事件触发时的情景便形成了场景,⽽同⼀事件不同的触发顺序和处理结果就形成事件流。
场景法就是通过⽤例场景描述业务操作流程,从⽤例开始到结束遍历应⽤流程上所有基本流(基本事件)和备选流(分⽀事件)。
下⾯是对某IC卡加油机应⽤系统的基本流和备选流的描述。
基本流A;备选流:(1)使⽤场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流⽤字母A表⽰,备选流⽤题⼲中描述的相应字母表⽰。
场景1:A场景2:A、B场景3:A、C场景4:A、D场景5:A、E(2)场景中的每⼀个场景都需要确定测试⽤例,⼀般采⽤矩阵来确定和管理测试⽤例。
如下表所⽰是⼀种通⽤格式,其中⾏代表各个测试⽤例,列代表测试⽤例的信息。
本例中的测试⽤例包含测试⽤例、ID、场景涤件、测试⽤例中涉及的所有数据元素和预期结果等项⽬。
⾸先确定执⾏⽤例场景所需的数据元素(本例中包括账号、是否⿊名单卡、输⼊油量、账⾯⾦额、加油机油量),然后构建矩阵,最后要确定包含执⾏场景所需的适当条件的测试⽤例。
在下⾯的矩阵中,V 表⽰有效数据元素,I表⽰⽆效数据元素,n/a表⽰不适⽤,例如C01表⽰“成功加油”基本流。
请按上述规定为其它应⽤场景设计⽤例矩阵。
测试⽤例表(3)假如每升油4元⼈民币,⽤户的账户⾦额为1000元,加油机内油量⾜够,那么在A4输⼊油量的过程中,请运⽤边界值分析⽅法为A4选取合适的输⼊数据(即油量,单位;升)。
1. 0升2. 250升3. 251升2、练习2有⼀个在线购物的实例,⽤户进⼊⼀个在线购物⽹站进⾏购物,选购物品后,进⾏在线购买,这时需要使⽤账号登录,登录成功后,进⾏付钱交易,交易成功后,⽣产订购单,完成整个购物过程。
黑盒测试用例设计实例
黑盒测试用例设计实例文章标题:黑盒测试用例设计实例摘要:本文将深入探讨黑盒测试用例设计的实例,旨在帮助读者更好地理解和应用这一测试方法。
我们将从简单的概念和基本原则出发,逐步展开,介绍不同领域中的实际应用场景,并提供详细的测试用例设计示例。
通过学习本文,读者将能够全面、深入地了解黑盒测试用例设计,并应用于自己的测试工作中。
第一部分:概念和基本原则1.1 黑盒测试的定义和特点1.2 黑盒测试用例设计的重要性1.3 基本原则:等价类划分和边界值分析第二部分:实际应用场景2.1 网络应用程序的黑盒测试用例设计实例2.1.1 用户登录功能2.1.2 注册新用户功能2.1.3 发布博客文章功能2.2 移动应用程序的黑盒测试用例设计实例2.2.1 联系人管理功能2.2.2 发送短信功能2.2.3 相机拍照功能2.3 数据库应用程序的黑盒测试用例设计实例2.3.1 数据查询功能2.3.2 数据录入功能2.3.3 数据删除功能第三部分:总结和回顾3.1 黑盒测试用例设计的核心思想3.2 不同应用场景中的测试技巧和策略3.3 黑盒测试用例设计的优缺点3.4 对黑盒测试用例设计的进一步思考和研究方向观点和理解:黑盒测试用例设计是软件测试过程中至关重要的一环。
通过本文的深入探讨,我们可以发现黑盒测试用例设计的核心思想是基于功能需求来设计测试用例,而不考虑内部的实现细节。
这样的设计方法能够更好地模拟用户的行为,发现潜在的功能缺陷,并提高软件的质量和可靠性。
在不同的应用场景中,黑盒测试用例设计需要灵活运用各种测试技巧和策略。
例如,在网络应用程序中,我们可以通过测试不同的用户角色和权限来验证系统的安全性;在移动应用程序中,我们可以针对不同的操作系统和设备型号进行测试,以确保应用程序在不同环境下的兼容性;在数据库应用程序中,我们可以设计各种复杂的查询和数据操作场景,以保证数据的一致性和完整性。
当然,黑盒测试用例设计也存在一些局限性。
黑盒测试案例
黑盒测试案例黑盒测试是一种测试方法,旨在检验软件或系统的功能性,而不考虑其内部的实现细节。
下面是一个黑盒测试的案例,以展示如何设计和执行一个黑盒测试。
案例:网上购物系统1. 注册功能测试测试目标:验证用户能够成功注册一个新账户。
测试步骤:a. 打开网上购物系统主页。
b. 点击注册按钮。
c. 输入一个有效的用户名、密码和电子邮件地址。
d. 点击提交按钮。
e. 检查系统是否显示注册成功的提示信息。
f. 尝试使用新账户登录系统,检查是否成功登录。
预期结果:系统应该成功注册新账户并允许用户使用该账户登录。
2. 商品搜索功能测试测试目标:验证用户能够成功搜索并找到所需商品。
测试步骤:a. 打开网上购物系统主页。
b. 在搜索框中输入一个商品关键词。
c. 点击搜索按钮。
d. 检查系统是否正确显示与关键词相关的商品列表。
预期结果:系统应该能够根据用户输入的关键词正确显示相关的商品列表。
3. 购物车功能测试测试目标:验证用户能够成功将商品添加到购物车并完成购买。
测试步骤:a. 打开网上购物系统主页。
b. 浏览商品列表,选择一个商品。
c. 点击“加入购物车”按钮。
d. 检查系统是否将商品添加到购物车中。
e. 点击“去结算”按钮。
f. 输入有效的配送地址和支付信息。
g. 点击“提交订单”按钮。
h. 检查系统是否显示订单成功提交的提示信息。
预期结果:系统应该能够正确添加商品到购物车,并在用户完成订单时显示成功提交订单的提示信息。
4. 优惠券功能测试测试目标:验证用户能够成功使用优惠券并享受相应折扣。
测试步骤:a. 打开网上购物系统主页。
b. 选择需要购买的商品并添加到购物车。
c. 输入有效的优惠券编号。
d. 点击“应用优惠券”按钮。
e. 检查系统是否正确计算并显示优惠后的价格。
预期结果:系统应该能够根据用户输入的优惠券编号正确计算并显示折扣后的价格。
5. 支付功能测试测试目标:验证用户能够成功完成支付流程。
测试步骤:a. 打开网上购物系统主页。
软件测试黑盒测试实例
软件测试黑盒测试实例在软件测试领域中,黑盒测试是一种测试方法,旨在检查软件功能的正确性而不考虑内部结构或代码逻辑。
黑盒测试通过输入某些值,检查输出结果是否符合预期来评估软件系统。
本文将通过一个实例来说明黑盒测试的过程和重要性。
实例介绍假设我们有一个简单的登录系统,其中包含用户名和密码输入框以及登录按钮。
我们的任务是对这个登录系统进行黑盒测试,确保系统在各种情况下都能正确运行。
测试用例设计1.正常登录: 输入正确的用户名和密码,点击登录按钮,预期系统应成功登录。
2.错误的用户名: 输入错误的用户名,正确的密码,点击登录按钮,预期系统应提示用户名错误。
3.错误的密码: 输入正确的用户名,错误的密码,点击登录按钮,预期系统应提示密码错误。
4.空用户名: 不输入用户名,输入正确的密码,点击登录按钮,预期系统应提示用户名不能为空。
5.空密码: 输入正确的用户名,不输入密码,点击登录按钮,预期系统应提示密码不能为空。
测试过程1.针对每个测试用例,创建一个测试计划,包括输入值、预期输出和实际输出。
2.依次执行测试用例,记录实际输出。
3.检查实际输出是否符合预期输出,如果不符合,则说明系统在该情况下存在问题。
4.将测试结果进行归档和整理,编写测试报告。
测试结果经过上述测试用例的执行,我们得出以下结论:•正常登录:系统成功登录。
•错误的用户名:系统正确提示用户名错误。
•错误的密码:系统正确提示密码错误。
•空用户名:系统正确提示用户名不能为空。
•空密码:系统正确提示密码不能为空。
结论通过黑盒测试实例,我们发现系统在各种情况下都表现出良好的功能性和健壮性。
黑盒测试作为软件测试的重要手段之一,能够有效地发现系统的潜在问题,提高软件质量和用户体验。
因此,在软件开发过程中,黑盒测试是必不可少的一环。
黑盒测试案例
黑盒测试案例黑盒测试是软件测试中的一种重要测试方法,它是基于软件的功能规格说明进行测试的一种方法。
在进行黑盒测试时,测试人员只需要关注软件的输入和输出,而不需要了解软件内部的具体实现细节。
下面我们将介绍几个黑盒测试案例,以帮助大家更好地理解黑盒测试的具体应用。
首先,我们来看一个简单的黑盒测试案例,一个登录页面。
在这个案例中,我们需要测试用户输入正确的用户名和密码时,能否成功登录系统;当用户输入错误的用户名或密码时,系统是否能够给出相应的提示信息;当用户不输入用户名或密码时,系统是否能够给出必要的提醒。
通过这个案例,我们可以验证系统在不同输入条件下的响应情况,以确保系统的稳定性和安全性。
其次,我们来看一个更复杂的黑盒测试案例,一个在线购物系统。
在这个案例中,我们需要测试用户能否顺利地浏览商品、添加商品到购物车、进行结算并完成支付;当用户输入无效的商品信息或购物车为空时,系统是否能够给出相应的提示信息;当用户选择不同的支付方式时,系统是否能够正确地进行支付处理。
通过这个案例,我们可以验证系统在用户购物过程中的各种操作情况,以确保系统的功能完整和用户体验良好。
最后,我们来看一个涉及多个模块的黑盒测试案例,一个银行系统。
在这个案例中,我们需要测试用户能否成功地进行账户登录、查询余额、转账汇款、办理存取款等操作;当用户输入错误的账户信息或操作无效时,系统是否能够给出相应的提示信息;当用户进行复杂的交易操作时,系统是否能够正确地进行处理。
通过这个案例,我们可以验证系统在涉及多个模块的复杂操作中的稳定性和可靠性。
通过以上几个黑盒测试案例的介绍,我们可以看到,黑盒测试是一种非常重要的测试方法,它能够有效地验证系统的功能是否符合规格说明,以及系统在不同输入条件下的响应情况。
在实际的软件测试工作中,我们需要根据具体的系统特点和需求,设计相应的黑盒测试案例,并通过有效的测试方法和工具,进行全面而深入的测试工作,以确保系统的质量和稳定性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3-25
案例讨论
对三种设计结果的讨论
1.
每种结果都覆盖了一些应该测试的功能点。 第一组结果过多的关注于对无效等价类的测试,遗漏了很多
NextDate问题需测试的关键点,比如平年闰年、二月、大小月、
月底等等。
2.
第二组结果包含了第一组的结果的基础上,增加了对二月、年
底等的测试。
3.
第三组结果通过日常知识的运用,使得测试用例涵盖了大部分 需测试的要点,尤其是测试用例1,2,3的有效性明显要比前二
步骤
1. 2. 3.
划分等价类。 为每一个有效等价类和无效等价类规定一个唯一的编号。 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有 效等价类, 重复这一步直到所有有效等价类均被测试用 例所覆盖。
4.
设计一个测试用例,使其只覆盖一个无效等价类,重复
这一步,直到所有无效等价类均被覆盖。
3-10
件下所产生的输出结果,验证系统是否达到用户需求。
常用的黑盒测试技术包括
1. 2. 3. 4.
等价类划分 边界值测试 决策表 因果图
3-5
不可能进行完全的测试
1.
结论是不计其数 整型: 从 1+1 到 9999999999999999999999 99999999+
9999999999999999999999
测试用例
4.
覆盖等价类1,6,3: 测试输入=(2006,-2,16), 预期结果=“输入错 误!” 覆盖等价类1,7,3: 测试输入=(2006,13,16), 预期结果=“输入错 误!” 覆盖等价类1,2,8: 测试输入=(2006,6,0), 预期结果=“输入错误!”
5.
6. 3-18 7.
参考答案3
测试用例2(续)
7. 8. 9. 10.
覆盖等价类1,13,7: 测试输入=(2004,-2,10),预期结果=“输入错误!” 覆盖等价类1,14,7: 测试输入=(2004,15,10),预期结果=输入错误!” 覆盖等价类1,3,15: 测试输入=(2004,8,-2), 预期结果=“输入错误!” 覆盖等价类1,3,16: 测试输入=(2004,8,38),预期结果=“输入错误!”
种结果中的要好,但仍有些遗漏,例如年底、平年的二月等。
3-26
案例讨论
如何再次提高测试用例质量呢?
1.
在实际测试时,可以考虑增加一些测试用例来补充想到但是通
过使用测试用例设计方法没有办法覆盖到的测试点(实际上, 运用了错误猜测法)
2.
根据功能规格说明,选取恰当的测试用例设计方法。 Nextdate各个输入变量之间其实并不是完全独立的,在设计 测试用例时并没有考虑到这点,可以使用:
数值 字母
位置
数量 速度 大小
3-31
边界值测试
除了遵循前面论述的边界值设计原则,还应考虑测试下面的情况
第一个/最后一个, 第一个-1/最后一个+1 开始/结束, 开始-1/结束+1 超过/低于, 刚刚超过/刚刚低于
空的/满的, 比空的少点/比满的多些
最短的/最长的, 稍微短点/稍微长点 最慢的/最快的, 稍微慢点/稍微快点 最早的/最晚的, 稍微早点/稍微晚点 最大的/最小的, 最大的+1/最小的-1 最高的/最低的, 最高的+1/最低的-1 距离最近的/距离最远的
3-32
与等价划分的区别
边界值分析使用与等价类划分法相同 的划分。 只是边界值分析假定错误更多地存在 于划分的边界上,边界值分析不是从 某等价类中随便挑一个作为代表,而 是在等价类的边界上以及两侧的情况 设计测试用例。
99999999
2.
小数:1.0+0.1,1.0+0.2…等等
如果你打算测试一个 计算器程序的功能, 你认为需要进行多少 次输入?
3. 4.
键盘上的任何一种组合
为乘法和除法运算重复上面的操作
黑盒测试
通常运用一种测试用例设计方法不能获得理想的测试用例 集。在设计测试用例时,比较实用的方法是综合运用几种 设计技术,取长补短。
功能说明
NextDate(年,月,日)是三个变量的函数。函数返 回输入日期的下一个日期。变量年份,月份,日期都是
整数值,且满足下面的条件: 1900≤年 ≤2060 ,1≤
月 ≤12, 1≤日 ≤31.
分析和比较两种不同的等价类划分方法以及三种设计的 结果。
3-16
参考答案1
等价类及其编号
测试用例
1. 2. 3.
覆盖等价类1,2,3: 测试输入=(2006,6,16), 预期结果=(2006,6,17) 覆盖等价类4,2,3: 测试输入=(1890,4,10), 预期结果=“输入错误!” 覆盖等价类5,2,3: 测试输入=(2062,4,10), 预期结果=“输入错误!”
3-17
参考答案1
划分等价类---说明
在划分等价类时,可以参考下面的建议:
1.
如果某个输入条件规定值的范围,可以确定一个有效等 价类和两个无效等价类
2.
如果输入条件规定了一个输入值的集合,可以确定一个
有效等价类和一个无效等价类。
3.
如果输入条件是一个布尔表达式的条件,可以确定一个 有效等价类和一个无效等价类
3-9
确定测试用例
测试思想
1.
3-28
案例
功能描述
某选课系统中规定每门课程的选修人数在[20,60] 之间,小于20人不开设该门选修课,大于60人不接 受后面的选课要求。
测试设计
1.
输入变量:选课人数 测试输入
选择当选课人数分别为19,20,21, 59,60和61
等几个边界点 再加上一个正常值点40
覆盖等价类1,2,9: 测试输入=(2006,4,33), 预期结果=“输入错误!”
参考答案2
另一种答案
等价类及其编号
3-19
参考答案2
测试用例1
1.
覆盖等价类1,3,7: 测试输入=(2000,7,16), 预期结果 =(2000,7,17)
2.
覆盖等价类2,4,8: 测试输入=(2006,4,29), 预期结果
软件测试技术与实践
第7课时 黑盒测试—案例分析与实践
内容提纲
复习 讨论常用的黑盒测试用例设计方法,包括
等价类划分 边界值测试 决策表 因果图 综合运用黑盒用例设计方法
总结
上一节课我们学了什么呢?
黑盒测试
把系统看成一个不透明的黑匣,在完全不考虑系统内部结构 和处理过程的情况下,只关注在选择的输入和相应的执行条
3-33
决策表
定义
决策表由四个部分组成,分别是条件桩(condition stub), 条件项
(condition entry), 动作桩(action stub)和动作项(action entry).
1.
2. 3. 4. 5.
条件桩是条件的列表
动作桩是满足条件时系统可能产生的动作的列表. 条件项是条件值的组合 动作项是在条件值组合情况下发生的动作 表中的每一列称为一条规则。规则定义了动作在什么条件下发生
在2001~ 2005之间
在1~12之间
2
小于2001 大于2005 小于1 大于12
月份范围
3
3-13
第二步:为有效等价类设计测试 用例
对表中编号为1、2、3的3个有效等价类用 一个测试用例覆盖:
测试数据 200105
期望结果 输入有效
覆盖范围 等价类1,2,3
3-14
第三步:为每一个无效等价类至 少设计一个测试用例
决策表分为
有限项决策表:每个条件只有两个值,如Y/N, T/F,1/0 等. 扩展项决策表:条件项的取值有多个(大于2个)
3-34
决策表示例
下面的决策表描述了读书时的场景
条件桩 条件项
动作桩
动作项 规则
3-35
决策表
和测试用例之间的关系
一条规则对应一个测试用例, 条件项构成了测试用例的输入,相应的动作
5. 6.
3-21
参考答案2
测试用例1(续)
7.
8. 9. 10.
覆盖等价类1,13,7: 测试输入=(2004,-2,10),预期结果=“输入错误!”
覆盖等价类1,14,7: 测试输入=(2004,15,10),预期结果=输入错误!” 覆盖等价类1,3,15: 测试输入=(2004,8,-2), 预期结果=“输入错误!” 覆盖等价类1,3,16: 测试输入=(2004,8,38),预期结果=“输入错误!”
测试数据 001MAY 20015 2001001 200001 期望结果 输入无效 输入无效 输入无效 输入无效 覆盖范围 等价类4 等价类5 等价类6 等价类1,7,3
200801
200100 200113
3-15
输入无效
输入无效 输入无效
等价类1,8,3
等价类1,2,9 等价类1,2,10
案例
各个变量之间进行全组合 决策表
3.
综合运用多种测试用例设计方法,以求得测试质量与成本之间 的平衡
3-27
边界值测试
边界值
1. 2.
任何值得测试的范围的临界点,可分为: 边界值:明确地定义在规格说明书中 次边界:隐含在软件中必须经过分析才能获得 取边界点附近的值作为测试用例的输入,可参考如下的设计原则: 如果输入条件定义了数值区间(a,b),那么测试用例应包括a、b、 稍微比a大、稍微比b大、稍微比a小和稍微比b小等几种情况. 举个例子,如果a,b是整数, 除在a,b之间取正常点外,a,b,a1,b-1,a+1,b+1都应被测试.