软件测试工程师目前正在成为IT行业中的一个新亮点,因其从业人员薪水高、人员需求增加快而广受关注,该行业未来良好的发展前景也受到肯定。据国家权威部门统计,中国软件人才缺口中30%为软件测试人才。
软件产业是国家鼓励发展的朝阳产业,软件产业要发展,提高软件质量势所必然,这样就产生了对软件测试工程师的大量需求。在IT业处于发展的初级阶段时,由于大多数软件比较简单,测试工作也不复杂,往往是软件开发企业在开发完成后进行一下简单的检测就可以了。但在IT业发展到一个高级阶段后,系统越来越精密,软件也越来越复杂,影响的范围也不断扩大。因此,该阶段开发的软件必须进行十分严格的测试。否则,不仅会引发企业销售收入下降和运营成本的增加,甚至会让企业承担法律责任。尤其是金融、电信、银行等系统趋于全国集中,风险波及面大,业务影响广泛的行业,其产生的后果更是不堪设想。
为什么要写这本书
自己学习很好,为什么找不到好的工作?为什么我精心准备了面试,又屡屡失败?为什么我天天熬夜学习,还是没有成效,依然找不到喜欢的工作?很多五花八门的各种疑问,笔者经过深入了解后发现,大部分是“纸上谈兵”式的学习与不善于总结、不善于分析问题所造成的。本书总结了软件测试技术的核心知识与企业面试真题,以及面试技巧,对于求职者是一本宝典。
本书特色
本书根据软件测试工程师所应具备的职业素质与企业面试真题展开。
专业技能
计算机领域的专业技能是测试工程师必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是要想成为一名获得更大发展空间或者持久竞争力的测试工程师,计算机专业技能是必不可少的。
专业技能主要包含3个方面: 测试专业技能,软件编程技能,操作系统、数据库、自动化测试、手机测试、性能测试、常用工具的使用。
行业知识
行业主要指测试人员所在企业涉及的行业领域,大部分IT企业从事银行、互联网、电子商务等行业领域的产品测试。行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。行业知识与工作经验有一定关系,需要通过时间进行积累。一个优秀的软件测试工程师除了具备“专业技能、行业知识”外,还必须具备相应的交流技巧、组织技能、实践技能和态度(除了技术水平,需要理解和采取适当的态度去做软件测试)。
个人素养
一名优秀的测试工程师,首先要对测试工作有兴趣。测试工作很多时候显得有些枯燥,因此热爱测试工作,才更容易做好测试工作。除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。
专心: 测试人员在执行测试任务的时候要专心,不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。
细心: 执行测试工作时要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。
耐心: 很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不能做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。
责任心: 责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,把测试工作“交给”用户来完成,很可能造成非常严重的后果。
自信心: 自信心是现在多数测试工程师缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。要想获得更好的职业发展,测试工程师们应该努力学习,建立“能解决一切测试问题”的信心。
“五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多,例如测试人员不但要具有团队合作精神,而且应该学会宽容待人,学会去理解开发人员,同时也要尊重开发人员的劳动成果——开发出来的产品。软件测试工程师作为软件质量的把关者,其职能在于保证交付到客户手中的软件可靠好用,运行畅通无阻。从产品定义到产品开发再到产品维护,都离不开软件测试。由于软件测试的重要性是近两年才被充分认识到的,很多高校教育和企业培养还没有跟上,致使软件测试人才严重供不应求,出现跑步上岗、快速提升的状态,薪资也逐步走高。
本书由笔者与于晶教育讲师团队合力编著,倾注了编者的努力。由于笔者水平有限,书中难免存在疏漏,敬请读者批评指正。
于晶张丹
2020年3月