【测试】测试用例8大法

测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,每种类型的软件有各自的特点,每种测试用例设计的方法也有各自的特点,针对不同软件如何利用用例设计方法是非常重要的。在实际测试中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖率。这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效地提高测试水平。

    以下是各种测试方法选择的综合策略:

综上所述,测试用例的设计与测试方法的选取,需要根据实际项目来选择,单独使用某种方法或生搬硬套是不可行的,我们只有在掌握各种理论知识后,灵活加以选择应用,才能达到最好的效果。

下面具体介绍一下这些设计测试用例的方法:

1.首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法。
2.在任何情况下都必须使用边界值分析方法,经验表明,用这种方法设计出的测试用例发现程序错误的能力最强。
3.可以用错误推测法追加一些测试用例,这需要靠测试工程师的智慧和经验。
4.对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
5.如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表驱动法。
6.对于参数配置类软件,要用正交法选择较少的组合方式达到最佳效果。
7.状态图法(功能图)也是很好的测试用例设计方法,我们可以通过不同时期条件的有效性设计不同的测试数据。
8.对于业务流程清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。

一、等价类划分法

最典型的黑盒测试方法;要对需求说明书中的各项需求,尤其是功能需求进行细致分析;把程序的输入划分成若干个部分,从每个部分中选取少数代表性数据作为测试用例。

根据功能需求中各个输入条件划分为等价类和非等价类。

1.    有效等价类:对程序的规格说明有意义,合理的输入数据所构成的集合

2.    无效等价类:对程序的规格说明无意义或不合理的输入数据所构成的集合

等价类的假设和核心要点:

     假设1:如果一个测试用例能够捕获(发现)缺陷,那么选择该等价类中的其他测试用例也能够捕获(发现)该缺陷。

     假设2:如果一个测试用例不能捕获(发现)缺陷,那么选择该等价类中的其他测试用例也不能捕获(发现)该缺陷。(这就是为什么可以选择典型)

等价类划分典型参考:

1.输入条件是必须成立的情况,可以划分为一个有效,一个无效。(标识符首字符必须为字母。是或不是)
2.输入条件是取值范围,可以划分为一个有效,二个无效等价类。(输入值必须在-99~99之间)
3.输入条件是布尔量,确认一个有效,一个无效等价类。(穷举测试了)
4.若已划分的某等价类中的各个元素在程序中的处理方式不同,则应该将此等价类进一步分为更小等价类。(正数、负数处理方式不同)
5.规定了输入数据必须遵守的规则,可以划分一个有效,若干无效等价类。(二位正数加法中,小数、字母、特殊字符等输入为无效等价类)
6.规定了输入值的集合,而且程序对每个值进行不同处理。为每个值确认一个有效等价类,其他为无效等价类。(交通工具类型公交车、出租车)

二、 边界值方法

选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据,重点测试最后一个肯定合法的数据和刚刚超过边界的非法数据。

通常和等价类一起使用,产生一套完整的测试用例;等价类划分是从等价区间中选取代表性的值,而边界值的重点是等价区间的边界值,正好边界值是等价区间中最具代表性的值。

 三、因果图

形式化的语言,不仅描述了原因和结果之间的关系,也描述了各个原因之间、各个结果之间复杂关系的组合。因是程序的输入条件,而果则是程序的输出。

使用因果图设计测试用例:

1)        分析被测应用,确认原因(输入)和结果(输出)。

2)        确定因果逻辑关系。找出输入和输出之间的逻辑关系。

3)        确定约束关系。原因与原因之间,结果之间约束限制。

4)        把因果图转换为判定表。

5)        根据约束条件简化判定表,并给出结果。

6)        设计测试用例

四、正交试验法

研究多因素、多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,是一种高效率、快速、经济的设计方法。

为什么使用正交试验法

对于单因素或两因素试验,因其因素少,试验的设计、实施与分析都比较简单。但在实际工作中,常常需要同时考察3个或3个以上的试验因素,若进行全面试验,试验的规模很大,由于时间和成本的限制我们不可能进行全面试验,但是具体挑出其中的哪些测试用例进行测试我们心里拿不准,总担心不做不挑选的那些测试用例会遗漏一些严重缺陷,为了有效的、合理地减少测试的工作时间与费用,我们利用正交试验法来设计测试用例。正交试验法就是安排多因素试验,寻求最优水平组合的一种高效率的试验设计方法。

五、状态图:(Statechart Diagram)

描述一个实体基于事件反应的动态行为;描述的是一种动态说明,它由输入条件当前状态共同决定输出数据后续状态;关注程序所处的不同状态,以及状态之间的转换。

使用状态图法主要是对系统的较高层次状态进行分析,而不是细节状态。

设计用例的步骤:

1.分析需求后列出被测系统所有输入事件;

2.找出一个初始状态,这个基础上加上所有可能的输入事件,会产生一些新的状态;

3.先分析上一个状态完成后再分析下一状态,直到所有状态都分析完。

4.把测试用例表转换为测试用例(根据实际情况补充一些测试用例)

六、场景法

首先要列出基本流和备选流。(事件触发来控制流程,事件触发形成场景,事件触发的顺序和处理结果形成事件流。)

关注的是程序所执行的流程,也就是触发状态变化的事件顺序

1)  基本流:指的是基本流程,主要的流程,关键的流程。

2)  备选流:指的是程序中其它的分支流程。

3)  场景法设计用例:

1.根据需求说明书,描述出程序的基本流及各项备选流;

2.根据基本流和各项备选流生成不同的场景。

3.对每个场景生成相应的测试用例。

4.对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每个测试用例确定测试数据。

七、错误推测法

在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对地编写检查这些错误的测试用例的方法。(对程序的流程非常熟悉,测试经验丰富,工作时间长)。

基本思路:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如:在单元测试时曾列出的许多在模块中常见的错误,以前产品测试中曾经发现的错误等,这些都是经验的总结。还有输入数据和输出数据为0的情况,输入表格为空格或输入表格只有一行,这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。

总之,就是进行错误的操作,说白了就是根据经验补充一些特殊的测试用例。

八、判定表法

分析和表达多逻辑条件下执行不同操作的情况的工具。

 1) 四个部分:

1.条件桩(condition Stub):列出了问题的所有条件,通常认为列出的条件的次序无关紧要;

2.动作桩(Action Stub):列出了问题可能采取的操作,这些操作的排列顺序没有约束;

3.条件项(Condition entry):列出针对它左列条件的取值,在所有可能情况下的真假值;

4.动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

 2)  建立步骤:

1.确定规则的个数,假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则;

2.列出所有的条件桩和动作桩;

3.填入条件项;

4.填入动作项,得到初始判定表;

5.简化,合并相似规则(相同动作)

3) 优点:能够将复杂的问题按照各种可能的情况全部列出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作,判定表很适合处理此类问题。

这篇文章主要介绍了设计测试用例的黑盒八大法,后面会陆续给一些案例详细介绍其用法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js实战代码系列—周杰伦给你报时间+网页页签制作模板+jQuery初体验

等到下次需要用的时候,可以回来找模板用哈哈哈哈! 刚碰jQuery,今天是个好日子,明天继续学jQuery,明天也是个好日子。 https://blog.csdn.net/hanhanwanghaha一个超级无敌可爱的人鸭 欢迎您的关注! 欢迎关注…

【资讯】2017年最好的25大发明,你最钟爱哪个?

引言《时代周刊》每年都会评出一份有趣的发明榜单,悉数一年间世界范围内的重大发明。今年的榜单出来后,「得到」作者马徐骏抢先进行了解读。带你一起看看,2017年有哪些发明正在悄然改变我们的生活。1. 阿迪达斯的4D跑鞋——Futurecraft这款鞋…

js实战代码系列—带你玩jQuery带你飞

https://blog.csdn.net/hanhanwanghaha一个超级无敌可爱的人鸭 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录前言引入库一个简单的自定义动画模板弹…

【资讯】这10大科技,将彻底改变你的生活

引言 每一次大的科技突破,都会引发人们生活方式的变革。未来,有哪些科技将改变你我的生活? 著名高科技投资人王煜全,筛选出即将改变未来的10大科技,带你提前看看未来的生活。 1. 人工智能 人工智能的风口已过&…

软工学子与你一起了解资金时间价值 之 复利(利滚利)+ 贷款的基本常识 + 现金流量图 ——《工程经济学》

研究经济学的理由就是【为了避免被经济学家欺骗】——琼罗宾逊 前段时间学校在整治校园贷的事情,这让我想到高利贷,刚好最近在《工程经济学》中讲到复利的知识,花时间用通俗易懂的话来讲解一下 先来看看重点概况 一、现金流量图:…

【商业】10个经济学概念,让你看清复杂世界

引言 「得到」作者薛兆丰老师和你分享10个经济学入门概念,带你走近经济学。 1. 成本 释义:成本是你做选择时,放弃的最高代价。 案例:你有两个小时的休息时间,你可以选择打游戏、看电影或者看书。当你选择了打游戏时…

连接真机开发安卓(Android)移动app MUI框架——混合式开发(一) (敲详细)

从接触安卓开发的第一天起,我想我已经爱上了开发,哈哈哈,愿你我坚持下去的理由都是热爱,共勉!这几天没有更新博客,是因为我学习去了(没有相见的日子,我在努力哈哈哈)。有…

【商业】向阿里巴巴学习11个挣大钱的小心机

引言 在刚过去的双十一,天猫单日交易达1682亿元,创造了全球零售史上的纪录。阿里巴巴销售神话的秘诀何在?很重要的一个原因,正是看似不起眼的商业“套路”的叠加使用。 具体有哪些套路呢?中国著名商业顾问刘润老师的…

软件测试基础:MantisBT的安装配置及使用——BUG管理工具

这学期学习的移动app测试,真的晕,一门无聊且枯燥的课,但是还是得学,越是无聊,越要当成男朋友来看待,共勉!以前用过一个工具禅道还不错,老师还没讲测试的时候就已经用到过一些了&…

【测试】提交BUG的标准规范

我们在软件测试过程中,发现了BUG后,如何提交一个高质量的BUG, 其实我们可以总结一下规范的,文章主要从以下几方面讨论: Bug有效性 提交的Bug必须是有效的,就要求我们在提交Bug时,确认: 1、…

连接真机开发安卓(Android)移动app MUI框架——混合式开发(二) 带你项目开发(最新版)

今天是很丧的一天,做什么都提不起兴趣,不知道何时才能做到道家的“无为,而无所不为”,也无法理解范仲淹的“不以物喜不以己悲”。可是再没兴趣,学习还是要继续!!!为了让自己放松&…

【Excel】设置数据有效性以及COUNTIF用法

日常工作中,我们经常会用到办公软件Excel,然而实际使用中,我们只是用了很小一部分的功能。下面我想介绍的是如何设置数据有效性,以及对某个数据进行个数统计,具体我们通过以下两个例子详细说明一下。 设置数据有效性 …

Apache默认端口80被占用无法启动服务问题

在实际工作中,有时运行Apache服务,会发现Apache默认端口80被占用无法启动服务,然后查找时却发现无法具体哪个进程被占用,这个时候我们应该怎样去解决问题呢? 1)首先通过cmd 的netstat -ano命令查看具体哪个…

monkey自动化测试移动app 操作指南——真机 安卓(Android)app测试

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 前言 Monkey是Android中的一个命令行工具,可以…

解决Word、Excel启动时提示向程序发送命令出现问题

还记得突然有一天,打开Excel或者word后,总是提示“向程序发送命令出现问题”,那时候很郁闷,不知道什么问题,重启电脑等方法都没用,然后度娘查找,最后才发现是因为按照额外程序导致的&#xff0c…

抠图把你头发都抠没了?真的爱了这在线免费抠图,带你又快又简单地抠图!

哈哈哈哈 一个超级无敌可爱的人鸭 在线教你怎么偷懒哈哈哈 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究&#xff09…

【资讯】全球瞩目!无人驾驶真的来了!

所有人都知道,这一天会来! 但谁也没想到,来得这么快! 出发! 2017年12月2日,一声令下,深圳的无人驾驶公交车正式上路了! 一辆辆不需要驾驶员的公交车,从深圳福田穿梭驶…

连接真机开发安卓(Android)移动app MUI框架——混合式开发(三) (连接后端)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 分享今天看到的两句文案:我们必须全力以赴&…

【资讯】辉煌十载!BDTC 2017 中国大数据技术大会在京盛大召开

12 月 7 - 9 日,由中国计算机学会主办,CCF 大数据专家委员会承办,中国科学院计算技术研究所、中科天玑数据科技股份有限公司、CSDN 协办的 2017 中国大数据技术大会(BDTC 2017)在北京新云南皇冠假日酒店盛大召开。 作为…

SWT folder ‘..\framework\x86_64‘ does not exist. Please set ANDROID_SWT to point to the folder conta

前言 这报错整了我几个小时,说实话,搜索出来很多都是改monkeyrunner.bat(大部分解决办法都是一字不差,一模一样,这就很明显了),我试了根本没用,看了一位大佬的文章才有所启发。 报…