测试工程师不仅是负责发现问题,除了发现问题这种基本功外,定位问题,提出解决方案,提出预防方案也是要掌握的技能。这里先说定位问题的要求,定位问题要向深刻,前提固然是对功能、产品的流程、开发方案、开发人员很是熟悉了,以咱们部门为例,定位bug至少要到下面这种程度。
首先肯定是界面显示问题仍是功能问题html
若是是界面问题,如贴图错误,文字错误,样式错误,则须要截图。
若是是功能问题,控制台的问题至少定位到:www的问题仍是数据库问题,若是是www问题至少要定位到是前端仍是后端问题;若是是数据库问题至少要定位到是服务端接口问题仍是中间件问题。
客户端的问题至少定位到:哪一个dll模块或者逻辑出的问题
服务端的问题至少定位到:什么接口出的问题,致使数据库哪里不对,另外,前端
测试时不要全按照用例走,要多发散思惟
测试时要尽可能考虑得更全面,把一些多用户多终端或其余极端的状况都考虑到。
最后,跟进重点问题的修改进度和方案,询问开发时如何修改的,反思开发的修改方案是否存在漏洞。redis
为什么要学会区分前端和后台BUG?
若是是一个多人开发的系统,不能明肯定位到这个bug是谁形成的,容易提交给错误的开发人员,因而bug会像皮球同样被开发踢来踢去,耽误开发解决bug的时间。
即使提交给对的开发,开发也未必能查到bug产生的缘由和代码有问题的地方,所以不必定能修复bug,每每修改了本身认为可能有问题的地方,而后测试发现还有问题,继续发回给开发,开发继续查,来来回回耽误解决bug的时间。
再退一步来讲,若是开发水平很高,没有1和2的问题,对于测试来讲也很容易提交重复的bug,由于可能不少bug都是因为一个地方引发的,只是表现出问题不同,但本质倒是同样的,这样也是耽误了测试时间。
固然能遇到的远远不止以上3种状况,因此对于测试来讲仅仅提交bug是不够的,不管对于测试自身的提升积累,仍是对于项目进度推动都是很是重要的。
数据库
测试工程师如何区分前端和后台的BUG
前台的bug一般是功能、界面和兼容性等有关;后台的bug与逻辑、性能和安全性有关。与数据相关的错误、排序问题大可能是后台问题,对于APP页面toast提示多是后台给的,多是APP给的
一般状况下,咱们能够经过请求接口、传参和响应三部分来判断Bug,另外,也能够在浏览器的控制台进行代码调试定位。后端
请求接口URL是否正确,若是请求接口URL不正确,为前端Bug
http请求中的参数是否正确,若是http请求中的参数不正确,为前端Bug
若是接口URL和参数都正确,查看响应内容是否正确,若是这种状况下响应内容不正确,则为后端Bug
若是JS基础比较好的话,也能够在浏览器的控制台中输入JS代码进行调试浏览器
根据接口的文件,检查数据是否正确,至于如何分析,这个就看我的的基础了,若是发送的数据是正确的,可是后台反馈的数据是不符合需求的,那就是后台的问题;若是前端没有请求接口,或者请求的时候发送数据与需求不符,那这个时候就是前端的问题了。
前台bug定位:按F12在console中查看报错信息,对于出错的js能够在Sources下查看对应报错的资源文件,写入禅道提交给开发便可。
后端的Bug,如何准确的定位问题在哪里,如何精准的描述Bug?缓存
1 查看报错日志,经过日志分析,须要有必定的经验,而且有必定的代码基础,才能更好地定位问题。
2 查看数据库的数据,了解所测功能的数据表结构,测试过程当中,查看数据库的数据,确认数据的正确性。
3 查看缓存(如Memcache、apc、redis等缓存)是否正确安全
前台bug注意如下三个方面:性能
网站前台的权限控制:没有权限的用户是不能直接输入url的方式来进行访问的,必须进行登陆。之后涉及到权限的测试,必定不能漏掉url的方式也须要验证一下。而在单个页面进行W3C测试时则须要去掉该权限控制。
网站前台的title,对于这个也很容易忽视。进入到不一样的功能页面,title显示应该是有,而且要和你进入的页面一致。title就是在浏览器最左上角看到的那些文字
http和https的注意点:https是一种安全连接,它是须要证书的,而http就是普通连接,因此在你的系统中客户会要求某些关键的地方但愿加上这种安全链接,那么此时你须要注意的是,对于不须要的安全连接的地方千万也要去重点测试,有些开发会很容易忽略这一点。
你要打开HTTPS开头的网站,前提是该网站安装了SSL证书,只有安装了SSL证书的网站,而且开启了443端口,你才能够经过HTTPS加密协议无访问。若是没有则不能访问。测试
你可要测试,好比在某个网站http协议后面加个s去访问,看可否访问成功,能成功,会显示绿色安全小锁,不然就不能访问。给你举几个安装了ssl证书,可要https访问的网站,1号店,天猫,淘宝,支付宝,百度,沃通CA,工信部网站等等
前端bug主要分为3个类别:HTML,CSS,Javascript三类问题
给个最大的区别方式方法:
1 出现样式的问题基本都是CSS的bug2 出现文本的问题基本都是html的bug3 出现交互类的问题基本都是Javascript的bug