软件测试-9黑盒测试场景法
- 格式:ppt
- 大小:1.13 MB
- 文档页数:12
实验七-黑盒测试之场景法测试实验(参考答案)实验七黑盒测试之场景法测试实验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如果程序某功能适合⾃动测试,可以采⽤⾃动化测试及随机测试。
什么是⿊盒测试以及优缺点?定义:⿊盒测试把测试对象看做⼀个⿊盒⼦,不⽤考虑程序内部结构和内部特性,依据程序需求规格说明书,检查程序功能是否符合功能说明。
优缺点:优:1功能性测试与软件如何实现⽆关,如果实现发⽣变化,功能性测试仍然可⽤;2测试⽤例编写与软件开发同时进⾏,节省软件开发时间3通过软件的⽤例可⽤设计出⼤部分功能性测试⽤例缺:1测试⽤例数量⼤2测试⽤例可能产⽣很多冗余3功能性测试的覆盖范围不可能达到100%⿊盒测试⽤例设计⽅法?答:1等价类划分法(有意义,合理的输⼊数据组成集合检查是否符合产品需求;⽆意义,不合理的输⼊数据组成的集合推测不符合需求的地⽅)、2边界值分析法(输⼊的边界值进⾏测试)、3因果图法(分析和表达多逻辑条件下执⾏不同操作)、4状态图法(和产品需求反着来,⽐如要求输⼊数字,就输⼊字母,要求输⼊正数,就输⼊负数等)、5场景法(利⽤图解法分析输⼊的各种组合情况,即输⼊多个条件的各种组合及输出情况之间的相互制约关系)、6正交试验法(⽐如要进⾏18次测试,最终选择具有代表性的9次进⾏试验)7其他测试⽅法有:错误推测法、通过测试与失败测试、随机测试边界值划分法:考虑的边界数据类型如数值、速度、字符、地址、位置、尺⼨、数量;以及考虑条件的等价区间:默认、空⽩、空值、零值和⽆。
还要考虑:⾮法、错误、不正确和垃圾数据。
还要测试:程序的状态及切换。
次边界条件:。
//模板说明//凡是用//开头的行都是注释行,不会作为试题内容导入到题库中//每个试题间用空行隔开//试题的开头行是题干,前面不能有注释行并列在上面,否则这个试题都无效;如要注释则在注释后再加一空行隔开/题干、内容、答案、分数、难度、试题分类和题型是一个试题必须项,其它的都是可选的,可选的属性可以不写//试题开头可以有序号,格式为"序号.", 后接题干内容;也可以不写序号,系统会自动加上序号以便区分试题//作为格式用的符号如":","."是不分半角全角的,半角全角都有效//可选项直接在题干后以字母和点开头,如A.、B.并且要求大写。
//编号可以不要。
没有编号是新增,有编号则是修改现有试题,例子中给出的都没有给出编号//可用的题型有:单选题、多选题、判断题、填空题、问答题、组合题、解答题//解答题需要给出操作题类型,如操作题类型:Word//填空题的空位处用三个或三个以上的"_",即"___"来表示,用"|"来分隔多个空的答案,如果一个空有多个标准答案请用"&"隔开//答题时间格式为00:00:00,即 "小时:分钟:秒"//可用的状态有:正常、禁用,如果没有,则默认为正常//可用的操作题类型有:Word、Excel、PowerPoint、Visio,默认为Word//如果试题内容里有换行,则必需要在这段内容前后分别用”{回车换行....回车换行}”括起来。
//如果试题内容中包含有'{'或'}',请用'\'把它们转义为: '\{'或'\}'。
//如果试题内容中包括有'<'或'>',表示为尖号时请分别用'< '、'> '替换;表示为大于或小于时,请用全角格式下的'<'或'>'来表示;表示为标签时,请'<'与'>'对称使用。
⿊盒测试--场景法现在的软件⼏乎都是⽤事件触发来控制流程的,事件触发时的情景形成了场景何为场景?--场景可以理解为由"那些⼈、什么时间、什么地点、做什么以及如何做"等要素组成的⼀系列相关活动,且场景中的活动还能由⼀系列场景组成场景法组成:场景组合:按上图组合多个不同的场景:场景1:基本流场景2:基本流备选流1场景3:基本流备选流1 备选流2场景4:基本流备选流3场景5:基本流备选流3 备选流1场景6:基本流备选流3 备选流1 备选流2场景7:基本流备选流4场景8:基本流备选流3 备选流4 ⽤例设计步骤1、分析需求,确定出软件的基本流和各项备选流。
2、依据基本流和各项备选流,⽣成不同的场景。
3、针对⽣成的各场景,设计相应的测试⽤例。
4、重新审核⽣成的测试⽤例,去掉多余的部分,并针对最终确定出的测试⽤例,设计测试数据。
案例分析(⼀)例⼦:分析ATM取款机的场景流程,并设计测试⽤例和测试数据 基本流:1.插⼊磁卡2.ATM验证账户正确3. 输⼊密码正确,通过验证4.输⼊取款⾦额5.取出⾦额6.取卡备选流⼀:账户不存在或者受限制备选流⼆:密码不正确,还有输⼊机会备选流三:密码不正确,没有输⼊机会备选流四:卡中余额不⾜备选流五:ATM机中余额不⾜备选流六:超过每⽇最⼤提款限额备选流七:输⼊⾦额⾮100的倍数案例分析(⼆)需求:某旅馆住宿系统⽀持房间⽹上预定业务。
游客访问⽹站进⾏⽹上房间预定操作,选择合适的房间后,进⾏在线预定;此时,需要使⽤个⼈账号登录系统;待登录成功后,进⾏定⾦⽀付(定⾦⾦额为1天的房款);⽀付成功后,⽣成房间预订单,完成整个房间预定流程。
问题:采⽤场景法进⾏测试⽤例设计前提条件:该系统需求中业务流程描述清晰,故采⽤场景法设计⽤例第⼀步:确定软件的基本流和各项备选流基本流备选流备选流X的含义为可于任何步骤中发⽣,故标识为未知数X第⼆步:依据基本流和备选流⽣成不同的场景第三步:针对⽣产的各场景,设计相应的测试⽤例。
软件测试之⿊盒测试测试⽅法选择的综合策略:1. ⾸先进⾏等价类划分,包括输⼊条件和输出条件的等价划分,将⽆限测试变成有限测试,这是减少⼯作量和提⾼测试效率最有效的⽅法2. 在任何情况下,都必须使⽤边界值分析法,经验表明,⽤这种⽅法设计出的⽤例,发现程序错误的能⼒最强3. 可以⽤错误推测法追加⼀些⽤例,这需要依靠测试⼯程师的经验4. 对照程序逻辑,检查出已设计出的测试⽤例的逻辑覆盖程度,如果没有⾜够覆盖,应当再补充⾜够的测试⽤例5. 如果程序说明中有输⼊条件的组合情况,则⼀开始就可以选⽤因果图或判定表驱动法设计测试⽤例6. 对于参数配置类型的软件,要⽤正交试验法选择较少的组合⽅式,达到最佳效果7. 对于业务流清晰的系统,可利⽤场景法贯穿整个测试案例过程,在案例中综合使⽤各种设计⽅法⿊盒测试⽤例设计⽅法:等价类划分边界值分析法决策表法因果图错误推测法正交试验法场景法等价划分类:将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性把所有可能的输⼊数据(有效的和⽆效的)划分成若⼲个等价的⼦集(称为等价类),使得每个⼦集中的⼀个典型值在测试中的作⽤与这⼀⼦集中所有其它值的作⽤相同有效等价类:对于程序的需求规格说明书来说是合理的,有意义的的输⼊数据组成的集合。
利⽤有效性等价类可以检验程序是否实现了规格说明书中所要求的功能或性能。
⽆效等价类:与有效等价类正好相反,⽆效等价类指对程序的规格说明是不合理的或⽆意义的数据所构成的集合。
⽆效等价类⾄少应该有⼀个,也可能有多个。
如何划分等价类:⾸先从程序的规格说明书种找出各个输⼊条件,在为每个输⼊条件划分两个或多个等价类,形成若⼲的互不相交的⼦集确定等价类划分法设计测试⽤例通常分两步进⾏:1. 确定等价类,列出等价类表。
2. 确定测试⽤例。
等价划分类的原则:1. 按区间划分: 在输⼊条件规定了取值范围或值的个数的情况下,则可以确⽴⼀个有效等价类和两个⽆效等价类。
第1篇一、基础知识1. 请简述软件测试的定义和目的。
解析:软件测试是确保软件产品符合预定需求和规格的过程。
其目的是发现软件中的错误或缺陷,提高软件质量,降低软件维护成本。
2. 什么是黑盒测试和白盒测试?解析:黑盒测试:不需要了解软件内部结构,主要关注软件功能是否符合需求规格说明书。
白盒测试:需要了解软件内部结构,关注代码逻辑、结构、接口等。
3. 什么是回归测试?解析:回归测试是指在软件版本更新或修改后,为了验证原有功能仍然正常,对修改的部分和与之相关的功能进行的测试。
4. 请列举三种软件测试类型。
解析:1)功能测试:验证软件功能是否符合需求规格说明书。
2)性能测试:评估软件在各种负载下的性能表现。
3)安全测试:检测软件在安全方面的脆弱性,确保数据安全。
5. 什么是缺陷管理?解析:缺陷管理是指对软件缺陷的发现、记录、跟踪、解决和验证的过程。
6. 什么是自动化测试?解析:自动化测试是指使用测试工具对软件进行测试的过程,以提高测试效率、降低成本。
二、测试方法与工具1. 请简述等价类划分法的原理和应用。
解析:等价类划分法是一种黑盒测试方法,通过将输入数据划分为若干个等价类,从每个等价类中选取一个代表性的数据作为测试用例,以减少测试用例数量。
2. 什么是边界值分析法?解析:边界值分析法是一种黑盒测试方法,关注输入数据的边界值,以验证软件在边界情况下的行为是否符合预期。
3. 请列举三种常用的性能测试工具。
解析:1)LoadRunner:一款功能强大的性能测试工具,适用于Web、Java、.NET等应用。
2)JMeter:一款开源的性能测试工具,适用于Web、Java、Database等应用。
3)Gatling:一款高性能的负载测试工具,适用于Web应用。
4. 请简述敏捷测试的特点。
解析:1)迭代:测试工作在软件开发的各个阶段进行,与开发紧密合作。
2)持续集成:测试工作与代码提交同步进行,确保软件质量。
3)自动化:使用自动化测试工具提高测试效率。
测试流程依次如下:1.需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。
--testing team2.测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。
---testing leader or testing manager3.用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。
---testing leader, senior tester4.执行测试:根据测试用例的详细步骤,执行测试用例。
--every tester(主要是初级测试人员)5.执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。
--every tester(主要是初级测试人员)6.defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。
--every tester7.测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug.8.用户体验、软件发布等……详细测试步骤:1. 书写测试计划2. 审核测试计划,未通过返回第一步3. 书写测试用例;4. 审核测试用例,未通过返回第三步5. 测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告上;(测试报告必须覆盖所有测试用例)6. 测试过程中发现bug,将bug填写在bugzilla上发给集成部经理;(bug状态NEW)7. 集成部经理接到bugzilla发过来的bug7.1 对于明显的并且可以立刻解决的bug,将bug发给开发人员;(bug状态ASSIGNED);7.2 对于不是bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改; (bug状态RESOLVED,决定设置为INVALID);7.3 对于目前无法修改的,将这个bug放到下一轮次进行修改;(bug状态RESOLVED,决定设置为REMIND)8. 开发人员接到发过来的bug立刻修改;(bug状态RESOLVED,决定设置为FIXED)9. 测试人员接到bugzilla发过来的错误更改信息,应该逐项复测,填写新的测试报告(测试报告必须覆盖上一次中所有REOPENED的测试用例);10. 如果复测有问题返回第六步(bug状态REOPENED)11. 否则关闭这项BUG(bug状态CLOSED)12. 本轮测试中测试用例中有95%一次性通过测试,结束测试任务;13. 本轮测试中发现的错误有98%经过修改并且通过再次测试(即bug状态CLOSED),返回第五步进行新的一轮测试;14. 测试任务结束后书写测试总结报告;15. 正规测试结束进入非正规测试,首先是ALPHA测试,请公司里其他非技术人员以用户角色使用系统。
黑盒测试设计用例的方法
1. 等价类划分法呀,这就像把东西按类别分堆一样。
比如说测试一个登录功能,那有效用户名和无效用户名就是不同的类别,咱得分别设计用例去测试呀!
2. 边界值分析法,嘿,这可太重要啦!就好比走在悬崖边,那边界的地方就是最需要关注的呀。
像设置密码要求 6 到 12 位,那 5 位、6 位、12 位、13 位可都得好好试试呢!
3. 错误推测法,这就像是我们去猜猜可能会出啥错。
比如一个网页加载,那会不会网络不好就卡住啦?我们就得针对这种情况设计用例呀!
4. 因果图法,哇哦,这就如同顺藤摸瓜一样呢。
比如说某个操作会导致一系列结果,咱就得把这些关系搞清楚,设计出合适的用例。
就像按开关会亮灯,那要是开关坏了呢?
5. 正交试验法,这个有点厉害哦,就像把不同的因素排列组合一下。
比如一个设置有多个选项,那不同的组合都得试试,看有没有问题呀!
6. 功能图法,这就好像是给流程画个地图呀。
从一个功能到另一个功能,中间会有哪些路径,都得用用例覆盖到呢,可不是得认真对待嘛!
7. 场景法,哎呀呀,这就是在脑子里模拟各种场景呢。
比如购物流程,从挑选商品到付款,整个场景都得设计用例好好测试呀!
8. 判定表驱动法,嘿呀,这就跟做个表格选答案似的。
不同的条件对应不同的结果,可不能搞混啦,这可是很关键的呢!
9. 状态迁移法,哇塞,这就好像看着事物的状态变化一样。
比如一个文件的状态从新建到保存到打开,每个变化都得检测到位呀!
我觉得这些方法都超级实用呀,掌握了它们,黑盒测试就能做得更棒啦!。
软件测试——⿊盒测试⽅法1、测试⽤例的定义:是为了特定的⽬的⽽设计的⼀组有测试输⼊、执⾏条件、预期结果的案例(⽂档)2、测试⽤例的构成要素:例如qq邮箱⽤例测试:3、⿊盒测试⿊盒测试⽤例设计⽅法:等价类、边界值、判定表、因果图、正交实验、状态迁移法、场景法、错误推测(1)等价类在所有的测试数据中,具有某种共同特征的数据⼦集,⼀般按照有效等价类和⽆效等价类等价类划分规则:等价类测试⽅法的分析步骤:等价类测试⽤例案例:例⼦:固定电话号测试地区码(3/4位)+电话号码(7/8位)(2)边界值选取正好等于、刚刚好⼤于或刚刚好⼩于边界值作于测试数据注意:⼤量的错误是发⽣在输⼊或输出范围的边界上,⽽不是在输⼊范围的内部边界值的选取:边界值法测试⽤例步骤:边界值法测试⽤例案例:例⼦:固定电话号测试地区码(3/4位)+电话号码(7/8位)(3)判定表法使⽤等价类⽅法时对于输⼊域与输⼊域存在关联时⽆法覆盖例如:两个输⼊不能组合:改⽤判定表法:条件桩:所有的输⼊的组合条件项:不同输⼊条件的组合动作桩:所有的输出的组合动作项:不同输⼊条件的组合的结果规则:⼀组条件与所得结果的组合,⼀个规则就是⼀个测试⽤例判定表法设计⽤例的步骤:案例:(4)因果图法判定表法适合⽤于条件少的时候,因为规则与条件是指数的关系,若条件过多,规则就会随之增多,会增加我们的⼯作量因果图引⼊:因果图中条件与条件,条件与结果的之间的依赖关系:案例:(5)状态迁移法状态迁移图案例:(7)场景法场景法介绍与步骤:基本流、备选流、异常流图解分析:案例:(8)正交实验法因⼦:就是条件(输⼊项)⽔平:就是取值(输⼊项的求值)案例:(9)错误推测法4、⿊盒测试⽅法总结:。
黑盒测试黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
1作用黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。
功能不正确或遗漏;界面错误;输入和输出错误;数据库访问错误;性能错误;初始化和终止错误等。
2测试方法概述从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。
实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。
这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。
黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。
2.1等价类划分法等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值。
该方法是一种重要的、常用的黑盒测试用例设计方法。
1)划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。