场景法:它是针对业务流程进行测试。
场景法主要是针对测试场景类型的,顾也称场景流程分
析法。
流程分析是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到
场景法的运用:对需求的业务流程进行梳理。先梳理一个正常的业务流程,再通过分析这个正常的流程过程可能出现的问题(可能出现的其他分支流程),最终得到测试用例
人事考勤系统的离职流程:
1,登录考勤系统
2,进入离职模块,申请离职(创建离职申请),填写离职原因
3,提交
4,上级领导审核
(1)通过---工作交接--离职成功
(2)不通过--拒绝申请--重新申请
异常的情况:
1,使用其他员工的账号登录
2,进入其他模块
3,填写离职申请后,取消---流程结束
4,填写离职申请后,提交给其他领导--不通过--重新申请
5,填写离职申请后,提交给自己--重新申请
6,上级审批通过后,用户取消离职流程--结束离职流程--重新在职
场景法一般是输出一个基本流(可以通过xmind画流程),分析这个基本流中可能出现的多个备选流程(分支流程或者异常流程),对每个流程进行测试,以覆盖所有可能出现的测试场景,提高测试覆盖率
ATM取款流程
基本流(一个正常流程)
1,插入卡片
2,验证卡片有效
3,输入密码,密码验证通过
4,输入取款金额
5,取款
6,取卡
备选流(分支流程,取款中可能出现的其他各种操作)
1-1,插入无效卡片
1-2,插入被锁卡片
3-1,密码错误(没有超过最大错误次数)
3-2,密码错误(超过最大错误次数)
3-3,不输入密码
4-1,输入金额超过卡内余额
4-2,输入金额超过ATM机余额
4-3,输入金额超过限额
4-4,输入进入不是100的整数倍
5-1,没有取款
5-2,取部分
5-3,取了之后又放进去
6-1,没有取走卡片
结合系统异常分析法:
1,取款过程断电
2,取款过程断网
3,取款过程暴力破坏
------------------------
状态迁移法(和场景法非常像,一般是结合场景法使用)
通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为
验证不同的操作会引起对应的状态转换情况
等价类、边界值测试方法==》对单一功能点的测试
场景法、状态迁移法测试方法==》一般做业务类型的测试,一个业务场景是由多个单一功能点组合而成
----------------------
基于经验的三种测试方法:
错误推测法:根据自己对系统的了解,根据以往出现过的BUG,根据以前的经验,进行设计测试用例
系统异常分析法==》模拟系统可能出现的故障,来确保软件的容错能力
例子:电商的主备切换,模拟主服务器出现异常情况,备用服务器能不能快速进行业务切换,相关的订单数据会不会丢失
随机测试:使用随机的数据,模拟用户的随机操作
------------------------------------
测试点的分析思路?测试用例的分析思路?
面试题:你给我讲一下xxx的测试点?
思路:这种面试题注意是看的你测试思路是否清晰。
一、偏实际应用的思路:
1,从外观页面讲起,检查页面的元素是否美观,信息的描述是否准确,页面的功能按钮是否正常,操作是否简洁友好
2,接着从各个功能进行逐一的展开描述,讲一个正常的后面接多个异常的(购物车加入商品:正常的--商品有库存时是否能加入购物车,异常--商品库存为0时是否可以加入购物车、选择数量大于商品库存量是否能加入购物车等等)
3,接着从性能上思考,多人同时操作(并发)、快递的连续提交的操作
4,从网络状态思考,弱网(网络环境差),无网络(断网)
5,如果涉及安全的,也要考虑安全方面的问题,一般是接口信息篡改的问题,有没有涉及一些敏感信息(有没有做加密处理)
6,考虑兼容性的问题。软件是否适配不同的系统,不同的浏览器,各种不同的网络状态的适配。软件不同版本的兼容
二、偏理论的思路:
面试题:拿到一份需求之后,你会怎样设计测试用例?怎么保证测试的覆盖率?
拿到需求文档之后,我会先分析需求中说明的基本功能,然后对这些基本功能进行业务流程的梳理,进行设计测试用例,包括正常的主体流程和异常的分支流程(涉及场景法、等价类)
如果涉及到状态转换的场景那么也会对这些场景进行设计测试用例,用于提高业务流程的覆盖情况(涉及状态迁移法)
对涉及到边界值的场景会使用边界值分析法涉及测试用例。
然后回根据自己对业务或者系统的了解来设计测试用例(涉及错误推测法)
如果需求里面的功能涉及到系统故障恢复能力、容错能力,那么会使用系统异常法进行设计一些系统异常情况的测试用例
如果需求中功能涉及到性能和安全方面的测试,也会涉及相关的性能测试用例和安全测试用例。
|
|