有些工作了一两年的童鞋会有这样的疑问,现在每天的工作就是测测功能,跑跑用例,工作上需要的技能也不太多,甚至连测试报告都不需要自己写,特别是做项目外包,做完一个立刻做下一个,无论是业务还是技术,积累的深度都不够,那我业余时间该学点什么去提升自己?
在互联网这个行业,最害怕的就是与外界隔绝,不知道现在大家都在做什么,我们有很多途径去获取外界的信息,与测试同事交流,参加测试行业的交流会,加入一些qq群,微信群,随时去了解行业新动向,也能了解自己当前处于一个什么的水平。
做测试不仅是积累测试技术,也需要业务知识的积累,要选定一个行业,去积累行业的业务知识,例如说:金融,医疗,游戏,电商,教育等等,对于熟悉某个行业业务的测试人员,会比不熟悉的更有优势,尤其是金融互联网公司。
数据库知识也是不可或缺的,至少要熟练SQL的增删改查语句;再就是自动化测试:接口自动化,web的UI自动化,App的UI自动化,这当中,我认为接口自动化是性价比最高的,应该先学起来,建议是用jmeter工具来做,容易上手,基本一周时间就能学会使用了,如果需要写beanshell脚本,可能要多花点时间,在这里想强调一下,学工具不要只去学学录制就认为自己会了,实际工作上不会去用录制来做自动化的,学习的时候要考虑用例的结构,可维护性。要做UI自动化写代码是必不可少的,建议学一下python语言,或者java也可以,web的UI自动化就用selenium,App的就用appium,这两种的思想是类似的,学会了一种,另一种就不难了,还想再说一遍,不能只学录制,学UI自动化至少要懂PageObject模式是什么吧。
以上都觉得差不多之后,我觉得可以去学习一下单元测试,TDD,个人是觉得以后TDD是发展趋势。
很多人在业余学习时都有一个问题,就是学得太浅,如果工作中要独立去做,完全不能上手,所以当选择学一个技术的时候,最好是能在公司的项目上实践起来,能去实际的提高工作效率,即使是在业余时间去做,心态也要放平,不要觉得自己是在加班,其实是在帮助自己成长和进步。收获是会在未来体现的。
除了这些技术上面的学习,建议大家也要关注自己的软技能,沟通,表达,总结问题的能力,在工作中,要有大局观,常常去思考怎么才能提高软件质量,怎么做bug预防,怎么才能提高工作效率,怎么去与其他团队配合的更好等等,在思考的同时,就会逐渐的去完善流程,做过程上的改进,这比硬技术的学习来说,更有价值。
所以总结起来,我推荐要学的就是,业务知识,SQL语句,接口自动化,UI自动化,单元测试,TDD,前三个优先级更高。学自动化不要停留在录制。要随时去关注行业动态。多提高软技能。
以上都是发自肺腑的个人建议,欢迎拍砖~