目录
设计测试用例的万能公式
测试用例的概念
测试用例( Test Case )是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环 境、操作步骤、测试数据、预期结果等要素评价测试用例的标准: 对比好坏用例的评价标准
- 用例表达清楚,无二义性。。
- 用例可操作性强。
- 用例的输入与输出明确。一条用例只有一个预期结果。
- 用例的可维护性好。
- 用例对需求的覆盖率高。
设计测试用例的万能公式
功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试
例子 比如水杯的测试用例设计
- 功能测试:注册场景=注册+登录
- 界面测试:非软件的东西=颜色+材质+大小+形状+整体,软件的东西,能见到的都需要测试:文字/输入框/图片/下拉框.....,颜色,大小,形状,布局都需要测试,文字是否有错别字,病句,折行,折叠,重叠
- 性能测试:比如是否支持千万人同时登录或者响应时间
- 兼容性测试:比如一个软件在不同的系统,不同的软件版本,不同浏览器下功能是否正常,不同的终端
- 易用性测试:我们从没使用过这个产品,我们首次使用是否能快速上手,是否有用户引导,符合用户的使用习惯
- 安全测试:针对一个软件。比如SQL注入,XSS漏洞,越权(不同层级的越权,同层级之间的越权)
- 测试用例不是越多越好,只有能够提高系统测试的覆盖率才是好的测试用例,但是面试中肯定是越多越好
设计测试用例的方法
基于需求进行测试用例的设计(大概设计)
- 需求设计——需求有那些功能——设计测试点——设计测试用例
- 我们中加入给定的软件需求就是:提示姓名长度为6~15位,这时候我们设计测试用例可以通过穷举法来设计测试用例,若测试用例通过,则认为符合需求要求
- 但是如果姓名长度是6~5000,我们可能不能用穷举法设计测试用例,我们就需要等价类
等价类
概念
针对需求输入范围划分成若干个等价类,从其中一个等价类里取出一个用例,若测试用例通过,就认为该测试用例所在的等价类就通过
等价类的分类
- 针对需求来说有效且有意义的数据构成的集合
- 针对需求来说是无效且没有意义的数据构成的集合
根据等价类划分测试用例的步骤
- 确认有效等价类和无效等价类
- 编写测试用例
例子
边界值
概念
- 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等 价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
- 设计边界值的测试用例要加上边界值+此边界值
判断表法
概念
是一种表达逻辑判断的工具,适用于考虑输入之间的组合关系,不同的组合关系对应的输出结果不一样(适用场景:针对不同的输入的组合对应着不同的输出结果)
判断表设计测试用例的步骤
- 确认输入和输出条件
- 找出输入条件和输出条件之间的关系
- 画判定表
- 根据判断表编写测试用例
例子
正交法
判断表设计用例太多怎么办?正交试验设计 (Orthogonal experimentaldesign)是研究多因素多水平的一种设计方法,它是根据正交 性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了 解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的 试验,正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。正交表的元素
- 因素数:输入的条件,正交表中列的个数
- 水平数:输入条件对应的结果(不是输出条件)
行数 (Runs) : 正交表中的行的个数,即试验的次数 , 用 N 代表。 正交表的表示形式: L= 行数 ( 水平数 * 因素数 ) L=N(TC)正交表的性质
- 每一列中,不同数字出现的次数相同
- 任意两列中的数字排列方式齐全而且均衡
如何设计正交表
因为正交表的设计非常困难,所以使用allpairs设计正交表
通过正交法设计测试用例的步骤
- 找到因素数和水平数
- 用allpairs工具生成正交表
- 根据正交表编写测试用例
- 补充测试用例
例子
场景设计法
- 主要分为基本事件流和多个备用事件流
ATM机取款的例子
基本事件流
插入银行卡,输入正确的密码,选择取款业务,选择小于五万的且金额是100的倍数的金额
等待出钞,最终出卡
备用事件流
- 第一次插入银行卡,第一次密码输入错误,第二次输入密码正确选择取款业务,选择小于五万的且金额是100的倍数的金额 等待出钞,最终出卡
插入银行卡,三次都输入密码错误,吞卡
等等
错误猜测法
错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法 依赖测试人员的个人工作经验和积累