博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

新模块的需求如何快速上手测试

Posted on 2020-06-10 17:57  YouxiYouxi  阅读(495)  评论(0编辑  收藏  举报

###新模块的需求如何快速上手测试
* 为什么要写这篇文章
不管你是功能测试、自动化测试、性能测试或者是测试开发,每次出去面试时都会问到一个问题,给你们一个你未知的模块让你快速说出它的测试点。
可能是一个水杯,一支笔,电梯或者是她们公司的业务场景,如果刚好他说的模块你测试过,那无疑是挺好的,但如果是没有过,让一个人快速的找
出从来没有了解过模块的测试点,这是一个比较考验人的事情,很多有多年测试经验的人都有可能在这个点挂掉。
以上就是为什么要写这篇文章的原因。

* 如何快速找出模块测试点
拿到新模块的那一刻,不要捉急回答,如果是面试,最好让面试官给你一支笔和纸,用纸能更好的帮助记录思路,当然在工作中,你可以用自己觉得合适
的方式来记录自己的思路。
我们来假设,这个新模块是app的登录模块功能,如果让你来测试,你会关注那些测试点?
1. 先把脑海里杂乱到要爆炸的想法暂停,从用户角度来思考这个问题,这里可以用到5W分析法来分析
2. 这个模块能做什么?
3. 这个模块想要做什么?
4. 这个模块还能做什么?
5. 这个模块需要哪些东西来支持才能做到
6. 这个模块最后能实现什么?

发现5W法则,并不适用于模块测试点分析,但是也可以用来思考一个产品的自身价值,测试点还是老老实实的按照面试经验和这几年的测试经验来分析
1. 从用户的角度来描述这个模块的主要功能
用户从网页登录获取到对于权限和数据
用户在页面上输入用户名、密码,点击登录按钮后跳转页面
用户在页面上输入用户名、密码,点击登录按钮后跳转页面看到和操作对应数据
正向的描述建议自己多写几遍,一点点的去发现细节,最重要的一点是,不要只关注这个功能点,更要明白这个功能用户能用户做什么,为用户能提供什么。

2. 把模块的正向流场景补全,登录只有一个正向场景,但其他模块时记得要考虑分支正向场景

3. 从正向描述中去提取一个个细节点
把最详细的正向流程的数据一个个提取出来
用户-->已注册用户、未注册用户、以前老版本用户、已注销用户
在页面上-->页面元素显示是否正常
输入-->删除、清空
用户名-->错误用户名、正确用户名、非法用户名(长度(0、正常、很长),特殊字符)
密码-->错误密码,正确密码,非法密码(长度(0、正常、很长),特殊字符)
点击登录按钮-->一次点击、多次点击
后跳转页面-->跳转时间,跳转页面元素检查
操作对应数据-->操作有权限数据,操作无权限数据

4. 根据提取的测试点,然后从边界、数据增删改、组合形成测试用例
* 这是组合
已注册用户输入正确用户名和密码登录正常操作查看对应数据
已注册用户输入用户名、密码不对应,无法登录
未注册用户输入用户名和密码无法登录
已注销用户输入正确用户名和密码无法登录
用户名密码输入超长、特殊字符显示正常且有对应判断
用户名或者密码为空登录有对应判断
页面元素显示正常,与ui一致
输入用户名、密码清空删除显示正常
多次点击登录按钮有做对应判断不会造成多次登录
登录检查页面ui元素是否正确
登录后操作无权限模块是否有正确处理
* 这是边界
用户名的

* 这是数据增删改


5. 逆向流程考虑
不管是做什么逆向流程一定是要进行考虑,以登录为例:
正向case反向操作过程
1. 登录后点击返回(物理返回或者页面自己的返回)能正确返回登录页面
2. 不输入任何数据点击登录按钮有对应判断提示
6. 异常场景考虑
无网络、弱网
多次点击
操作中断
兼容性

操作中断这里,我认为只要是带有动词或者有操作行为的点,都要进行中断操作测试,来分析一下登录中操作动词
用户在页面上输入用户名、密码,点击登录按钮后跳转页面看到和操作对应数据
输入-->输入中刷新页面,返回,点击其他地方
点击->点击中刷新页面,返回,点击其他地方
登录跳转中>点击中刷新页面,返回,点击其他地方


写到一半的时候,发现一个问题,那就是正常的测试中,ui与业务测试究竟要不要分开。
从个人的角度来说,ui与业务流程分开是很有必要的,让专注业务和ui,能让自己测试过程中进行更多的探索性测试,同时在不同的测试过程中也能更发现问题
好像终于写完了这篇文章,但总感觉自己还有很多考虑不到的地方,如果有请大家指出补充,后续自己也会去更新这一块。