发表于: 2018-05-28 02:45:16
4 741
今天完成的事:
根据师兄的建议从新学习了一些黑盒测试的方法,除了边界值测试之外还有等价类划分、因果图、决策表、错误推测法、应景法等。
一、等价类划分
要做到穷尽的测试是不可能的事情,因此在设计测试用例的时候往往要先划分等价类再选取代表因素。而划分的子集要满足以下的因素:
1)、每个子集内部所有的数据都是等价的
2)、子集之间互不相交
3)、所有子集的并集是整个输入域或输出域
PS:
【有效等价类】是相对于规格说明合理性、正确性、有意义的输入数据构成的集合
【无效等价类】是相对于规格说明不合理的、错误的、无意义的输入数据构成的集合
例如:每个学生可以选修1~3门课程
【有效等价类】:可以划分一个有效等价类:选修1~3门课程
【无效等价类】:可以划分两个无效等价类:未选修课程;选修课程超过3门
针对缺陷相关性假设,可以将等价类测试分为【弱等价类测试】和【强等价类测试】。而在现实情况中,由于缺陷的可能非常多,一个子集中的数据对某种缺陷是等价的,但是对另一种缺陷可能是不等价的。
【弱一般等价类WN】测试:考虑单缺陷假设,测试用例使用每一个等价类中的一个值
【强一般等价类SN】测试:考虑多缺陷假设,测试用例集合为等价类迪卡儿积
二、因果图
1)、规格说明书有哪些问题?
2)、规格说明是有那些结果?
3)、规格说明书中各种原因之间的关系怎么样?
4)、规格说明书中各种结果之间的关系怎么样?
5)、规格说明书中原因和结果之间的约束条件怎么样?
6)、如何从规格说明书中的原因和结果设计测试用例?
因果图
【a】恒等:若c1为1,则e1也为1;若c1为0,则e1也为0
【b】非:若c1为1,则e1为0;若c1为0,则c1为1
【c】或:若c1与c2中有一个为1或者两个都为1,则e1为1,若c1和c2为0,则e1为0
【d】与:若c1和c2都为1,则e1为1,否则e1为0
PS:因果图可以用于描述输入与输出的相互关系,但是其绘制过程比较繁琐。因果图可以转化成决策表,建议直接绘制决策表
三、决策表
决策表可以使人逻辑更加严谨,决策表的建立步骤:
1)、列出所有的条件桩和动作桩
2)、填入条件项
3)、填入动作项,制定初始判定表
4)、简化,合并相似规则或者相同动作
条件桩:列出了问题的所有条件
动作桩:列出了问题规定可能采取的操作
条件项:列出针对它所有条件的取值,在所有可能的情况下的真价值
动作项:列出了条件项的各种取值请情况下应采取的动作
规则:由动作项和条件项组成
PS:决策表测试仅适合对输入域展开分析,不适合对输出域展开测试
四、错误推测法
错误推测法凭借的是测试人员的直觉和经验来推测系统中可能出现的各种缺陷,常常是列举出系统中所有(可能发生的缺陷和容易发生缺陷的特殊情况),并根据它们来设计测试用例
PS:
优点:充分发挥个人的经验和潜能,命中率高
缺点:覆盖率难以保证,过多的依赖于个人的经验
五、场景法
软件的工作流程往往对应着现实生活的场景,我们应该从更高的视角来把握系统的业务流程,了解功能模块。在熟悉流程的基础上才能讨论局部细节的测试用例。场景法的核心是事件流和场景。
场景法的基本设计步骤如下:
1)、根据说明,描述程序的基本流及个各项备选流
2)、根据基本流和备选流生成不同的场景
3)、对每一个场景生成相应的测试用例
4)、对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对于一个测试用例确定测试数据值。
PS:一个场景法的示意图
从图中我们可以了解“场景”=:基本流+备选流
基本流:一般采用直黑线表示,是经过用例的最简单的路劲(无任何差错,程序可以从开始直接执行到结束)
备选流:采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中;也可以去源于另一个备选流或终止用例,不再加入到基本流中。
明天计划的事:重新提交下任务二,深入理解下黑盒测试的方法
遇到的问题:一下接触这么多方法,还有很多么有弄清楚,实战的话就不行了
收获:对于黑盒测试的方法了解很多,不同的情况下要运用不同的测试方法,要对症下药。
评论