我认为测试需要掌握的技能
功能测试流程:
1、首先通过自动化或者手动的方式进行测试,发现问题。
2、通过查看tomcat的报错、页面审查元素的报错、看工程log、Nginx_log,等方式查看错误的情况,尽可能的掌握更多的错误信息。通过错误信息进行初步的分析,如果开发报出来的错误信息过于简略,也应该保留错误信息给开发自己去看,并建议他报错的内容尽可能的写的详细些。
3、通过报错信息,以查看代码等方式找到对应的表,再加上对业务逻辑的考虑,查看相应的表,看表中的数据是否正确,状态是否正常。
4、通过对以上三步的信息进行分析,定位错误的原因,比如:发布一个产品,结果前台页面不能展示,那么通过查看产品表,查看产品是否写入表中、相关状态是否正常,由此就可以判断出产品是在写入表之前出的问题,还是在写入表之后出的问题。如果对于开发的代码有一定了解,甚至可以判断出是写入表之前的哪一步出了问题,或是之后查询时出了问题。
5、最后把自己的分析以及tomcat等地方的报错信息一起发给对应的开发,开发就能在最短的时间内定位问题,将bug修复。
对于一个从无到有的软件产品来说,测试技术的顺序为:功能测试以及白盒测试、性能测试、自动化测试。刚开始通过手工测试、白盒测试保证功能是第一步,然后提高性能,等到软件成熟稳定之后,才可以开始开发自动化测试脚本,如果软件项目功能变动比较大,自动化的脚本维护成本会很大,反而不如手工测试,应此自动化测试在软件项目稳定后才开始。
要做到以上的事情,需要具备以下的能力:
1、对业务要熟识,作为测试,应该是对业务最为熟悉的岗位,所以对于业务的熟识是必须的。勤思考,对于业务在实际行业中的意义要有所思考,多问几个为什么,善于换位思考,站在客户、投资人、融资方、管理员等多角度去考虑。勤做笔记。对于业务知识、自己的思考所得、关键字段的含义、与数字有关的所有字段等都要做笔记。一来防止日久忘记,二来可以给新人培训,三来,多做笔记,多分享是提升自己的最好的途径。
2、对于数据库要基本熟悉,基本的增删改查要熟练。如果公司不能提供整理好的表来,我们自己要平时多问、多记,将常用的表格全部整理出来,这样在测试时我们就可以随意对我们造出来的数据进行更改、对生成的数据进行查询、利用代码或者工具制造测试数据。
3、对于公司项目架构要尽可能的熟悉一些,对于公司用到的技术要有所了解。当我们在前端页面点击一个按钮,程序是怎么去调动,最终怎么样去数据库里面修改或查询到数据的,这个对于我们分析问题来说是非常重要的。
4、如果了解过mybatis、spring、ajax、等常见的服务端框架、还有见的前端框架,那在使用各种工具、各种测试手段时都会觉得非常容易!
测试技能学习:
一级:用例、测试报告、计划、用户手册、需求分析、设计文档、熟悉业务
二级:缺陷管理工具QC、版本管理工具SVN、截图工具FScapture、原型图工具Axure、文本编辑器Note++、beyondCompare......
三级:Linux、Oracle、Mysql、Nginx、Redis、tomcat、rabbitmq、durid、网络
四级:Jmeter、selenium、monkey、jinkens......
五级:Java、Python、html、cs、js、struts、spring、mybatis、hibernate......
测试水平等级:
一级:执行用例、熟悉业务、抓bug、提QC
二级:设计用例、相关文档、简单操作数据库、简单操作操作系统、部署工程搭建好测试环境
三级:熟悉项目架构、熟悉项目几乎所有的技术、能够做自动化、性能测试
四级:测试架构师、项目经理、产品经理
......
不懂代码的测试不是好医生!