什么是功能测试?
功能测试又称黑盒测试,就是不知道代码,专注于产品能不能正常使用其功能的测试。
怎么做好功能测试
其实所有的功能测试都有一定规律套路可循,下面我总结了一些做好功能测试的方法和要点,都利用好足以覆盖日常功能测试百分之80的情况,也可以根据下面方法直接进行测试用例编写
首先提出一个问题,也是面试常见问题,XXX怎么测,比如淘宝购物车怎么测?一个自行车怎么测?给你一个登录怎么测? 虽然测得对象是不同的,但是其实功能测试的方法百分之60都是相同的,下面我逐一介绍,我所总结的公式和套路
注意事项
1.明确需求
首先需要明确,要测得这个产品或者模块具体是做什么的,比如说一个登录,是简单的账号密码登录,还是支持验证码,QQ,微信?一个自行车,是扫码骑行?还是钥匙开锁,总之功能测试,功能测试,一定要先把功能搞明白,才能进行下一步。在工作的时候,也会先拿到一个叫需求文档的东西
2.模块划分
首先看测试对象的大小,如果测试的是登录这个小模块,那大可不必在继续划分模块了,如果测的是自行车,这个测试对象整体比较大,而且是很多模块共同完成运作的,这个时候就需要做一下模块划分,比如有车龙头,车身,踏板,链条,,,等等,在拿到一个较大的测试对象时需要做好模块划分
3.注意异常和错误情况
在对测试对象进行测试时,不应该只观察其正常使用的情况,还有异常和错误 的情况,比如说在登录时,输入错误的账号和密码,或者登录超时的情况会出现什么反馈,等等
测试方法
1.UI对比
首先在验证功能前,可以先对比需求文档,查看测试对象的UI是否正确,是否符合规范
2.场景法
模拟用户操作的场景,把所有用户能进行的每一次的操作都提取出来,这里可以使用到思维导图工具。
单一场景-单一功能点测试
就是对每一个按钮,输入框,光标等,每一个用户可操作的控件,进行测试
复合场景-功能流程测试
由单一场景组合起来的情况,比如登录,需要输入账号密码再点登录按钮,对登录这个功能流程测试,在或者购物车,添加商品,到结算订单付钱,这一购物流程进行测试
3.边界值法
在测试的时候需要考虑到最大最小极端的情况,比如对测试点进行输入的时候,输入一些极端的数值,输入最大位账号,最小位,不输入,还有下拉框,直接拉到最底层等等,如果程序员在写输入数值的时候没做好数值的大小限制这是很容易出错的
4.等价类
意思是功能和逻辑差不多的情况,可以抽样测试几条,而不必全部测试,比如在测试输入10位账号时,可以先用边界值测极端的情况,比如不输入或者输入1位,输入10位,那么其余的2~9就属于等价类
5.其他方面
兼容性
就是在不同的使用,运行环境看看功能是否正常,比如APP要注意不同品牌手机机型,系统,分辨率适配,web应用要注意浏览器适配,硬件设施是否在任何场景都能使用
性能
APP可以关注耗电量,流量之类的,网络请求的响应速度,在比如一个网页最多能被多少个用户访问,一个按钮被连续点击会不会出现问题,而硬件可以关注其硬件的性能
安全性
是否对一些用户信息以及和经济利益相关的功能做了加密和安全校验,硬件设施是否可能对用户造成伤害
易用性,可维护方面,,,
还有一些零零碎碎的主观方面就不一一总结了,到这里读到这篇文章的应该已经对什么东西怎么测有了个大概的思路。
总结
其实到这里就已经覆盖了大部分功能测试的场景了,利用上面说的公式往任何测试对象上套,都能覆盖百分之70以上的测试场景了。
补充
功能测试为的是产品质量,而不是找出所有BUG, 如果读到这篇文章的人,对功能测试还有何看法或者见解,也欢迎评论补充。
|