满足什么样的技术和经验才算高级软件测试工程师呢?

良好的软件测试基础

至少把一些基本概念、测试理论,测试流程,如何需求分析,怎样写测试用例,熟悉大多数测试用例的设计方法,能根据项目实际需要制定测试方案,这些应该一个工作三年的测试工程师应该掌握的。

快速掌握业务

做好功能测试的前提是熟悉业务。一个新产品如果能够快速高效的理解需求,才能设计出完善的测试用例,发现用户最关系的问题,给产品提出建设性的需求和意见。

熟悉软件测试工具

软件测试用到的相关工具非常多,作为测试应该了解需要相关的工具,如果不能做到每个工具都用过,至少知道现在流行的工具它是做什么的,一旦需要实施的时候知道如何下手,结合公司的要求及项目的需求来权衡引入哪些工具。

  • 管理工具:比如JIRA,Testlink,Wiki,Confluence,都用过吗?
  • 持续集成:Jenkins,Bamboo,Travis CI等,如何选择?
  • DevOps工具:Docker,Artifactory,Chef,Ansible,分别做什么?
  • 自动化测试:Web和Mobile平台分别如何做自动化测试?Selenium,WebDriver,Appium,Robotium该怎么选?Python,Java还是JavaScript 选择哪门语言来开发自动化测试用例,为什么?
  • 性能测试:Jmeter,LoadRunner改如何选择?他们都能做哪些性能测试?

如果上面的这些问题还有不清楚的,你还不是高级测试工程师。

具有丰富的行业测试经验

工作三年或者只工作过一家公司会有丰富的行业测试经验吗?一般来说不会。三年只能算是入行,外面的世界很精彩,没有参与或者交流过永远不知道山外有山。多阅读、多跟同行交流来拓展自己的眼界。

有良好的代码能力

良好的代码能力可以快速掌握自动化测试,甚至可以开发测试平台,可以让你承担更多其他测试工程师无法完成的任务。当你跳槽到任何一家公司都可以快速熟悉Java、Python、JavaScript等任何语言编写的自动化测试用例。

语言能力

包括沟通能力和外语能力。沟通是一个测试人员在工作中必不可少的一项基本技能,良好的沟通会让开发人员了解问题所在,接受你的意见,从产品人员那里更好的了解需求。

虽然只有在外企的时候才会用到英语,随着技术更新越来越快需要学习很多新技术的一手资料全是英文,好的英语能力会让你在学习新知识时的效率是别人的好几倍,如果你还只能看中文文档,别把自己当高级工程师,说实话不称职。