测试用例设计基本方法优秀PPT.ppt
《测试用例设计基本方法优秀PPT.ppt》由会员分享,可在线阅读,更多相关《测试用例设计基本方法优秀PPT.ppt(117页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、测试用例设计基本方法1你现在浏览的是第一页,共117页测试用例设计基本思想场景分析法3测试用例设计概述12分类推理法42你现在浏览的是第二页,共117页等价类分法边界值法7元素分析法56随机数据法83你现在浏览的是第三页,共117页因果图法其他一些测试用例设计方法判定表法910小结11124你现在浏览的是第四页,共117页测试用例设计概述15你现在浏览的是第五页,共117页为什么需要测试用例(为什么需要测试用例(1)p如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。p测试用例是测试工作的指导,是软件测试的必须遵守的准则,
2、更是软件测试质量稳定的根本保障。p软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例6你现在浏览的是第六页,共117页测试用例的作用测试用例的作用v 重要参考依据v 提高测试质量v 有效性v 复用性v 客观性v 可评估性和可管理性v 知识传递7你现在浏览的是第七页,共117页测试用例设计方法的重要意义软件质量的好坏很大程度上取决于测试用例的质量和数量测试用例设计方法也可以用于非软件领域的测试测试用例设计方法是一种分析问题的方法测试驱动开发对开发人员也是一种挑战,不懂测试用例设计就不能算懂开发。8你现在浏览的是第八页,共117页测试
3、用例数和软件规模的关系测试用例数软件规模测试用例数与被测软件的质量通常有一定的比例关系,测试用例数与被测软件大小有关,与测试级别有关(单元、集成、系统),与要求有关(一般、高可靠)。9你现在浏览的是第九页,共117页缺陷空间测试空间上所有可能发生的缺陷构成的集合就是缺陷空间。if(a=b)/a、b为布尔变量 DoSomething();elsereturn ErrorMsg();测试空间=(0,0),(0,1),(1,0),(1,1)缺陷空间可以接近无限大10你现在浏览的是第十页,共117页测试用例设计基本思想211你现在浏览的是第十一页,共117页测试空间寻找原则以测试数据的表现形式为线索寻
4、找测试空间。寻找所有的可变数据外部输入层在需求中找接口层在高层设计中找内部实现层在详细设计和代码中找寻找单个可变数据的测试空间场景分析法、元素分析法和分类推理法分析可变数据的组合关系因果图、判定表法12你现在浏览的是第十二页,共117页缺陷空间反向设计原则先找缺陷空间,据此构造测试数据,设计出测试用例。只寻找缺陷空间中那些发生概率较高的缺陷。设计方法:分类推理元素分析边界值状态图错误猜测13你现在浏览的是第十三页,共117页测试空间划分原则找全测试空间和设计空间后,开始测试用例设计,也就是从测试空间中选取若干个可测数据。以可测数据揭示缺陷的概率为依据选取的测试数据通过测试后其他测试数据也通过测
5、试有一个概率,这个概率越大表明选取的测试数据越有效。这个概率称为可测数据子集的选取概率,也是测试数据揭示缺陷的概率。14你现在浏览的是第十四页,共117页数据划分的例子给定一个概率0.95,从可测数据中划分出一个数据子集1,2,3,4,5,如果5通过测试,则1,2,3,4通过测试的概率大于等于0.95。注意:使用测试空间划分原则的前提需要知道有哪些可能的缺陷,如果对可能发生的缺陷一无所知,是无法对测试空间进行划分的。实际往往只知道一些发生概率比较大的缺陷,因此测试用例设计往往是建立在对测试缺陷集合的一个子集上的测试空间划分。15你现在浏览的是第十五页,共117页测试用例的优化问题如何划分测试空
6、间才能以尽量少的子集覆盖整个测试空间属于测试用例的优化问题。(参考)16你现在浏览的是第十六页,共117页测试用例的评价指标可测数据通过测试:测试结果与期望的结果一致。假设某个可测数据有可能因为n个可能的缺陷而不能通过测试,而这n个缺陷中每个缺陷发生的概率为P(i),那么可测数据不能通过测试的概率=可测数据通过测试的概率=1-当可测数据通过测试的概率大于选取概率时,就认为可以通过测试当可测数据通过测试的概率大于选取概率时,就认为可以通过测试17你现在浏览的是第十七页,共117页测试空间覆盖率18你现在浏览的是第十八页,共117页场景分析法319你现在浏览的是第十九页,共117页分析软件应用的场
7、景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。关心用户做什么,而不是关心产品做什么优点:实用性强,有效,设计出来的用例有价值缺点:可能使用的场景不一定能对事件系列进行全面的分析,设计出来的用例不完整。20你现在浏览的是第二十页,共117页基本概念1.找出所有会影响结果的环境因素2.找出场景中可能发生的事件序列3.将环境因素和事件序列进行组合并进行分析推导,得到不同的场景。意会知识(参见文献阅读)21你现在浏览的是第二十一页,共117页显性场景猎人、树、鸟参见文献阅读(场景分析法)22你现在浏览的是第二十二页,共117页过桥问题4个人在晚上过一座小桥,过桥时
8、必须要用到手电筒,只有一枚手电筒,每次最多只可以有两人通过(人多了桥支撑不住就塌了),4个人的过桥速度分别为1分钟、2分钟、5分钟、10分钟,试问最少需要多长时间4人才可以全部通过小桥?23你现在浏览的是第二十三页,共117页过桥问题-可能的事件序列先过去2个人,其中一个拿手电筒(1分钟和2分钟)1个人拿手电筒返回(1分钟)再过去2个人,其中一个拿手电筒(5分钟和10分钟)1个人拿手电筒返回(2分钟)拿手电筒返回的人和剩下的那个人一起过桥(1分钟和2分钟)24你现在浏览的是第二十四页,共117页过桥问题-可能的事件序列先过去2个人,其中一个拿手电筒(1分钟和2分钟)已过桥的人站在桥头拿手电筒照
9、亮桥。剩下2个人一起过去(5分钟和10分钟)25你现在浏览的是第二十五页,共117页过桥问题环境因素4个人,桥、手电筒、夜晚人:过桥的速度是一定的,所以只有他们的过桥行为会对总的过桥时间有影响。人:有力学知识人:4人的情况有所不同(年龄、身体)桥:长度和承重手电筒:照射距离和时间夜晚:光线26你现在浏览的是第二十六页,共117页场景分析过程由显性的环境因素分析出对结果有影响的因素后,就可以设计具体的过桥时的显性场景了。27你现在浏览的是第二十七页,共117页过桥具体场景环境4个人为一家人,一对夫妻、一个老人和小孩,丈夫过桥1分钟,妻子过桥2分钟,小孩10分钟,老人5分钟。当时天上一片漆黑,在过
10、桥的过程中没有手电筒无法看清桥面。手电筒照10米远,维持1小时左右。桥的长度60米,最多可以让2个人同时通过。28你现在浏览的是第二十八页,共117页过桥具体事件序列1.丈夫和妻子先过到桥那边去(2分钟);2.丈夫拿手电筒回来(1分钟);3.丈夫背小孩一起过去(2分钟);4.丈夫拿手电筒再回来(1分钟);5.丈夫回来扶老人一起过去(5分钟)29你现在浏览的是第二十九页,共117页隐性场景分析手电筒会不会掉到桥下或摔坏?过桥的过程中是否有山洪爆发或水突然涨高将桥淹没?会不会在过桥过程中有野兽嚎叫等因素影响他们的过桥速度?桥下面是什么?是水溪还是无水的沟谷还是很深的悬崖?隐性的环境因素和隐性事件很
11、可能是一个无穷大的集合,在其中找出有用的场景是一个极大的挑战。分析隐性场景的几种方法:影响因素分析法、异常情况分析法、空间分解分析法和时间序列分析法。30你现在浏览的是第三十页,共117页影响因素分析法1.列出场景中的事件的结果;2.分析事件结果产生的原因;3.从原因中找出隐性环境。过桥问题中,事件主要是4个人过桥,结果是过桥花费时间。影响结果的因素主要有:过桥的方式、过桥的速度、过桥的过程。31你现在浏览的是第三十一页,共117页异常情况分析法分析现有场景中的异常情况和异常事件。异常情况包括已有环境中的异常和外部环境中的异常。要点:找出那些概率比较大的异常。32你现在浏览的是第三十二页,共1
12、17页空间分解分析法空间是一个抽象的概念,软件中有许多形式,如数据空间、内存空间、磁盘空间等。将空间分解成一个个更小的空间块,然后分析这些小的空间块中环境和事件。33你现在浏览的是第三十三页,共117页时间序列分析法分析现有场景中事件的发生从之前到之后的各个时间序列的场景。过桥之前、过桥期间、过桥之后34你现在浏览的是第三十四页,共117页分类推理法435你现在浏览的是第三十五页,共117页分类推理法步骤1.找一个可以对软件子功能进行覆盖的集合,这个集合可以是输入域、输出域、场景、内部数据等;2.对找到的集合分类,可按照边界值、等价类、场景、数据特点。元素属性等各种分法进行分类;3.对已有的分
13、类再进行分类直到不需要再分类为止。36你现在浏览的是第三十六页,共117页常见的分类方法场景、边界、等价类、数据特点、元素属性。场景优先考虑。分类推理是一种寻找缺陷空间的方法。37你现在浏览的是第三十七页,共117页猎人开枪打鸟的分类推理(从输出域考虑)由于树上原来有10只鸟,在没有其他鸟飞来的情况下(这是最普遍的正常情况),开枪后,树上的鸟最多不会超过10只,因此最终可能的结果是010只,这就得到一个可以对软件功能进行覆盖的集合。38你现在浏览的是第三十八页,共117页剩0只鸟在树上 1只死鸟掉到地上,其他全部飞走了剩0只鸟在树上鸟全部飞走了剩0只鸟在树上推理:鸟是如何离开树的?一种情况是飞
14、走了,另外也可能是死掉了掉到地上。因此,这种情况下,使用的枪是有声的,鸟被吓飞了,打死的鸟都掉到地上。39你现在浏览的是第三十九页,共117页剩1只鸟在树上剩1只鸟在树上活鸟死鸟被猎人打伤本来有伤未受伤的鸟受伤的鸟不会飞的鸟单发子弹穿过打死的鸟打伤这只鸟霰弹枪会飞的鸟残疾无飞行能力被限制自由的鸟幼鸟病鸟拔了毛的鸟40你现在浏览的是第四十页,共117页命令行程序(从输入着手推理)dir命令,只显示当前目录下的文件,不带参数时将当前目录下的文件全部显示出来,当带一个参数/p执行分页显示。dir和/p都是小写字符。41你现在浏览的是第四十一页,共117页 dir后面有若干个空格或TAB字符dir后面
15、无任何字符dir前面无任何字符dir前面有若干个空格或TAB字符同dir后面有若干个空格或TAB字符及参数/p分类一样参数/p后面无任何字符参数/p后面只有若干个空格或TAB字符dir前面有其他非空格或非TAB字符dir中有大写字符dir后面有非/p字符dir后面有空格或TAB字符及参数/pdir后面直接接参数/p(中间无空格)p-p/p大写/P参数/p后面有若干个空格或TAB字符,再接其他字符参数/p后面直接接其他非空格和TAB的字符和/p完全不同的字符和/p相近的易混淆字符同dir前面有若干个空格或TAB字符的分类一样42你现在浏览的是第四十二页,共117页二分查找的分类推理分类推理法还可
16、以按多种方法进行分类,然后再进行分类组合叠加得到最终分类。43你现在浏览的是第四十三页,共117页二分查找二分查找又称折半查找,它是一种效率较高的查找方法【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。【算法思想】首先,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后
17、一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。【算法复杂度】假设数组长度为n,其算法复杂度为o(log(n)44你现在浏览的是第四十四页,共117页二分查找实现的伪代码(假定升序排列)left=0,right=n-1/t是查找关键字,数组x while(left=right)/保证数组非空 mid=(left+right)/2 case xmid t:right=mid-1;return-1;45你现在浏览的是第四十五页,共117页第一个正确的程序int search(int array,int n,int v)int left,right,m
18、iddle;left=0,right=n-1;while(left v)right=middle;else if(arraymiddle v)left=middle;else return middle;return-1;46你现在浏览的是第四十六页,共117页边界错误造成的问题二分查找算法的边界,一般来说分两种情况,一种是左闭右开区间,类似于left,right),一种是左闭右闭区间,类似于left,right.需要注意的是,循环体外的初始化条件,与循环体内的迭代步骤,都必须遵守一致的区间规则,也就是说,如果循环体初始化时,是以左闭右开区间为边界的,那么循环体内部的迭代也应该如此.如果两者不
19、一致,会造成程序的错误。47你现在浏览的是第四十七页,共117页第一个错误的二分查找算法int search_bad(int array,int n,int v)int left,right,middle;left=0,right=n;while(left v)right=middle-1;else if(arraymiddle v)left=middle+1;else return middle;return-1;48你现在浏览的是第四十八页,共117页第一个正确的程序int search(int array,int n,int v)int left,right,middle;left=0,
20、right=n-1;while(left v)right=middle;else if(arraymiddle v)left=middle;else return middle;return-1;49你现在浏览的是第四十九页,共117页二分查找算法的边界二分查找算法的边界,一般来说分两种情况,一种是左闭右开区间,类似于left,right),一种是左闭右闭区间,类似于left,right.需要注意的是,循环体外的初始化条件,与循环体内的迭代步骤,都必须遵守一致的区间规则,也就是说,如果循环体初始化时,是以左闭右开区间为边界的,那么循环体内部的迭代也应该如此.如果两者不一致,会造成程序的错误.5
21、0你现在浏览的是第五十页,共117页第二个错误的程序(左闭右开)int search_bad(int array,int n,int v)int left,right,middle;left=0,right=n;while(left v)right=middle-1;else if(arraymiddle v的条件是,v如果存在的话应该在left,middle)区间中,但是这里却把right赋值为middle-1了,这样,如果恰巧middle-1就是查找的元素,那么就会找不到这个元素.51你现在浏览的是第五十一页,共117页第二个正确的程序(左闭右闭)int search2(int array
22、,int n,int v)int left,right,middle;left=0,right=n-1;while(left v)right=middle-1;else if(arraymiddle v)left=middle+1;else return middle;return-1;52你现在浏览的是第五十二页,共117页第三个正确的程序(左闭右闭)int search3(int array,int n,int v)int left,right,middle;left=0,right=n;while(left v)right=middle;else if(arraymiddle v)lef
23、t=middle+1;else return middle;return-1;53你现在浏览的是第五十三页,共117页死循环上面的情况还只是把边界的其中一个写错,也就是右边的边界值写错,如果两者同时都写错的话,可能会造成死循环,比如下面的这个程序:54你现在浏览的是第五十四页,共117页死循环int search_bad2(int array,int n,int v)int left,right,middle;left=0,right=n-1;while(left v)right=middle;else if(arraymiddle v的时候,那么下一次查找的区间应该为middle+1,rig
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测试 设计 基本 方法 优秀 PPT
限制150内