软件测试工程师是做什么的?
近年来,由于IT行业的人才稀缺,越来越多人转向了IT相关职业。
由于IT软件业的薪资较高,吸引了不少人选择了IT软件专业,IT软件专业*括软件开发、Java工程师、软件测试工程师等。
软件测试工程师主要是负责理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。
简单的说,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。
那么要成为一个软件测试工程师应具备哪些职业素质呢?
1、分析能力。
软件测试的核心其实应该就是设计测试用例了,而设计测试用例,就是依赖与分析能力了。这里我们不说那些常用的设计方法,从一个稍高的层面上来讲,就是怎么将一个复杂的系统进行抽象,分析拆成几个不同的维度,结合维度可能出现的情况进行有选择的组合,以最小成本获取*的收益。无法将一个复杂系统拆解成简单的维度,是没法做好用例设计的。
2、编程语言。
语言其实就像说话一样,只不过我们常说的英语日语之类是与人沟通,计算机语言就是与计算机进行沟通的。对于测试工程师来说,精通一门语言,熟悉其它几门语言是有必要的。对于不同语言编写的被测程序,是有不同特点的,如果对实现的语言不了解,无法进行白盒测试,没法看代码diff(结合代码diff做测试)来提高效率。对于特点不了解,可能也会导致自己漏掉部分内容。
3、设计能力。
不要认为设计能力就是开发工程师的事情,拥有好的设计能力,就可以在设计评审的时候多提意见,促进开发工程师使用好的设计,不仅对开发有好处,对测试也是很有好处的。这样才能防患于未然,不仅自己的劳动力,也节省团队的劳动力。
4、对业务的理解。
对业务的理解越充分,就越能够理解最终用户的需求,促进产品设计使用好的方式,促进产品成功。难道你想做一大堆不成功的项目么,那样是多么没有成就感的一件事啊。
5、自动化相关的考虑。
随着项目越来越多,系统的测试项目也会积累的越来越多,每次有新功能了,难道要用手工来回归一下原有的case么。自动化测试是提高回归测试效率的唯一解决方案(如果你说还有解决方案就是不回归,我…),以高效率促进高质量,才是一个良性循环的发展方式啊。
在很多企业的开发团队中,测试人员的地位越来越重要,测试人员把控着产品的质量,驱动着开发的流程。
国际标准开发团队的开发人员和测试人员的比例为1:1,而我们国内却是8:1,一个测试人员要对方8个开发人员。巨大的测试人才缺口期待我们的选择。
软件测试课程立足培养通用型测试人才,可以广泛的适用于PC软件测试、互联网软件测试、手机APP测试、嵌入式软件测试、甚至是硬件测试等各种测试领域。