谈谈有几种测试用例设计方法呢?
这是一篇测试工程师投稿的,对于测试岗位,很有帮助!
等价类划分法
适用场景:
有数据输入的地方,就可以使用等价类划分法。如:输入框
测试思想:
从大量数据中划分范围(等价类),然后从每个范围中挑选代表数据,这些代表数据要能反应这个范围内数据的测试结果。
概念:
有效等价类:对程序来说,有意义的、合理的数据(正确的、有效的数据)。
无效等价类:对程序来说,没有意义、不合理的数据(错误的、无效的数据)。
例:
需求:
a、手机号输入框:只允许输入数字。(只拿手机号做示范Lo)
无效等价类:汉字、表情、符号、空格等
有效等价类:数字
边界值
适用场景:
有数据输入的地方,在实际工作中,一般和等价类划分一起适用。
测试思想:
边界值是程序员在编程时是最容易出错的位置,所以要测试边界。
概念:
是有效等价类和无效等价类之间的分界点,叫边界值(最小值,最大值)。还要测试次边界,也就是边界值两边的数据。
例:
b、密码输入框:8-20位字符(只允许输入:字母、英文符号、数字)
边界值:8位字符、20位字符
次边界:7位字符、9位字符、19位字符、21位字符
因果图/判定表
适用场景:
在一个界面中有多个控件,如果控件之间存在组合关系或者限制关系,不同的控件组合会产生不同的输出结果,为了弄清楚不同的输入组合会产生怎样的输出结果,可以使用因果图或判定表。
概念:
因:输入条件
果:输出结果
就是通过画图的方式表达输入条件和输出结果之间的关系
因果图/判定表测试的步骤:
步骤:
步骤1:找出所有的输入条件
步骤2:找出所有的输出结果
步骤3:分析,列出输入条件之间所有的组合和限制条件
步骤4:确定每组输入条件的组合会产生怎样的输出结果,画因果图,填写判定表
步骤5:编写测试用例 每一列代表一种组合,编写一条测试用例
因果图/判定表的特点:
1) 输入条件的排列顺序无关紧要
2) 输出结果的排列顺序无关紧要
3) 先测哪种组合后测哪种组合无关紧要
4) 每种组合是独立的
判定表格式如下:
判定表 名词术语
条件桩:问题的所有条件
动作桩:问题的所有输出
条件项:针对条件桩的取值
动作项:条件项的各种取值情况下的输出结果
正交排列法
适用场合:
在一个界面中有多个控件,每个控件有多个取值,要考虑不同控件不同取值之间的组合 ,且组合数量较大的话,我们就可以使用正交排列法。
思想:
使用最少的抽样数据达到最广的,覆盖率最高的统计结果。
正交表公式如下:
l:line 行
n:表示正交表有几行,需要测试的组合的个数
n值是固定的,一旦正交表确定n值就是固定的,不需要测试人员自己计算。
m:表示正交表中允许出现的最大值
根据每个控件的取值个数来确定m值
k:表示正交表有几列
根据组合的控件个数进行确定,选择合适的正交表(百度搜)
方法总结:
a、 如果有多余的列,可以删除掉
b、 能映射的值先映射好(替换)
c、 把每一列多出的机会,尽量均匀分配给该列的各个取值
d、 要检查是否有完全一样的组合,如果有要适当处理(建议修改,也可以删除)
e、 选择正交表时正好能应用正交表示首选,如果不合适呢么选择最接近的。
实际工作中,属性设置测试,兼容性测试常用正交排列法,而且兼容性测试可以不编写测试用例,直接用正交排列表测试各种兼容组合。
测试大纲法
适用场景:
软件中有多个窗口,窗口中有若干操作(功能点),为了理清窗口之间的关系(结果),可以使用测试大纲法。
样例如下:
场景法
适用场景:
业务比较复杂的软件系统都适合使用场景法,场景法是基于软件业务的测试方法,测试人员把自己当成最终用户,尽可能真实的模拟用户在使用此软件的操作情形:
重点模拟两类操作:
用户正确操作的业务过程—验证软件的业务功能是否正确实现
模拟用户错误操作的情形—验证软件的异常处理能力(健壮性)
测试思路:
场景法是模拟用户操作软件时的各种情景,主要用于测试软件的业务逻辑和流程。当拿到一个测试任务是,我们并不先关注某个文本框的等价类等是否满足要求,而是先关注它的主要功能和业务流程是否正确实现,这就需要场景法来完成测试。当业务流程测试没有问题,也就是软件的主要功能没有问题时,我们再去关注控件的等价类、边界值等细节测试。
场景划分:
1)基本流(有效流、正确流)
模拟用户正确的业务操作流程就是基本流
2)备选流(无效流、错误流)
模拟用户错误的操作流程就是备选流
样例如下:
然后根据不同的场景去编写测试用例,一个场景可以是一条测试用例,也可以是多条测试用例。
链接:https://www.cnblogs.com/fuxinxin/p/8991703.html
—————END—————
推荐阅读:
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡