零基础快速入行入职软件测试工程师

978-7-115-51937-5
作者: 江楚
译者:
编辑: 李莎

图书目录:

详情

本书专为想成为软件测试工程师的零基础读者量身打造,紧紧围绕目前软件公司招聘初级软件测试工程师的基本要求开展内容设计。本书第1章~第9章介绍软件测试的基础概念和方法,第10章介绍Web自动化测试入门的基础,第11章介绍HTTP接口测试入门基础,第12章介绍Linux命令行入门基础,第13章介绍数据库SQL语句入门基础。本书附录以面向初级软件测试工程师岗位的求职简历为基础模拟面试考场,指导读者如何正确应对面试,以更好地帮助读者顺利地入行入职。 本书尽量避免使用晦涩的专业术语、复杂的编程语言和高深的技术框架,而是采用通俗易懂的表达方式将复杂问题简单化,多用图解的方式将抽象问题形象化,以便读者能又快又好地学懂弄通,轻松上手。本书适合想进入软件测试行业的零基础或者非计算机专业的读者学习,同时对有志于从事软件测试行业的应届毕业生亦有指导意义。

图书摘要

内容提要

本书专为想成为软件测试工程师的零基础读者量身打造,紧紧围绕目前软件公司招聘初级软件测试工程师的基本要求开展内容设计。本书第1章~第9章介绍软件测试的基础概念和方法,第10章介绍Web自动化测试入门的基础,第11章介绍HTTP接口测试入门基础,第12章介绍Linux命令行入门基础,第13章介绍数据库SQL语句入门基础。本书附录以面向初级软件测试工程师岗位的求职简历为基础模拟面试考场,指导读者如何正确应对面试,以更好地帮助读者顺利地入行入职。

本书尽量避免使用晦涩的专业术语、复杂的编程语言和高深的技术框架,而是采用通俗易懂的表达方式将复杂问题简单化,多用图解的方式将抽象问题形象化,以便读者能又快又好地学懂弄通,轻松上手。本书适合想进入软件测试行业的零基础或者非计算机专业的读者学习,同时对有志于从事软件测试行业的应届毕业生亦有指导意义。

前言

几乎每一个互联网产品都需要一个软件作为其服务和沟通的平台,为了保证其产品质量,就需要软件测试人员对其进行测试。以深圳为例,中小企业几乎每天都在招聘软件测试人员。而软件测试行业每年都会有大量的非计算机专业的人员进入,其主要原因是这个行业的起薪高、上手快。新手可通过参加培训或者购买相关图书自学的方式进行学习和转行,但培训的费用过于昂贵,并非是每个人都能接受的,而市面上大多数相关图书的内容过于专业,使自学者难以在短时间内深入理解。

在我工作的十年里,我和我的团队培养出了几百名软件测试工程师,并将他们成功输送至深圳的各大软件公司,他们的平均月薪在7 000元以上。这个过程让我积累了大量的培训素材、教学经验以及学员应试入职的技巧。我写这本书的目的就是希望帮助零基础的读者快速进入软件测试行业。

在我培训的这么多学员中,来自计算机专业的学员只占20%,其他大部分学员是非计算机专业的,其中甚至有30%的学员是文科专业的,但他们经过培训后都成功转型进入了软件测试行业。分析其原因,主要有几个方面:一是人格品质,二是心态,三是沟通,最后才是专业技能。软件被开发出来以后,用户是直接跟软件的界面和功能打交道,而不是和代码打交道,所以最后一道测试是由测试人员针对软件的界面和功能进行测试,而不是进行代码测试,这也就是非理工科专业的毕业生也可以快速转行从事软件测试工作的主要原因。

那么,软件测试工作到底难不难?到底要掌握哪些知识?对学历有要求吗?对英语有要求吗?本书将一一解答此类问题。坦诚地讲,这本书涉及的内容已帮助我曾经教过的学员全部上岗。我之所以把这本书写出来,是因为我觉得仅仅将知识和经验传授给我的学员还是不够的,我想分享给更多零基础但想进入软件测试行业的人。

由于本人水平有限,书中难免会存在不妥之处,读者如果在学习中发现了错误,可直接发邮件至zhangtianyi@ptpress.com.cn,我们将真诚地接受并加以改进。

借此机会,我想感谢一些人。

感谢汪志新先生将我带入软件测试领域,这份工作对我今后的职业生涯产生了深远的影响。

非常感谢魏远先生,他不仅教会了我做人的态度,还帮助我提高了自由演讲的能力。

我还想提到两位小朋友,他们是我的儿子—江博舰和江博艇,想告诉他们:“每次你们邀请爸爸玩游戏的时候都会失望而归,每次爸爸踏上去往深圳的火车时都会选择不辞而别,因为爸爸不想看到你们失望的眼神,不想看到你们哭泣,这些爸爸一直记得……只是爸爸还想奋斗,等你们长大能看懂爸爸写的这段文字时,希望你们能拥有独立的人格和良好的品行,希望你们能奋斗出自己的人生,因为自己奋斗出来的人生才是最甜蜜的,爸爸永远爱你们。”

江楚
2019年8月

第1章 初识软件测试

1.1 软件测试的职业前景和规划

不管从事哪个行业,都需要了解该行业的发展历程,并制定属于自己的职业规划。软件测试行业也不例外,从事软件测试行业的第一步就是要了解其职业前景和规划。

1.1.1 软件测试的现状与前景

由于软件测试行业起步晚,从业人员少,在过去很长的一段时间里,项目组中并没有专门的软件测试人员,而是由开发人员兼任测试工作,因而存在的问题是,对测试的投入少,测试工作介入晚,对软件质量不够重视等。

最近几年随着互联网和软件行业的蓬勃发展,各行各业的应用都离不开相应的软件作为其支撑和沟通的平台,其软件质量是不可忽视的,如果用户使用的软件产品出现了质量问题,那么很可能会造成一些不可预知的后果和重大的损失。因此,软件测试也越来越被软件企业所重视,市场对软件测试人员的需求也与日俱增。

据前程无忧的相关招聘数据统计,目前我国每年的软件测试人才需求缺口超过30万人。相关企业也开始加强和注重软件测试人员的选拔和培训工作,但为何有如此大的缺口呢?主要有以下3点原因。

第一,高校少有软件测试这个独立的专业,即使有也是近一两年的事情,所以软件公司很难招聘到专业人员。部分通过校园招聘入职的测试人员,进入公司后也要经过公司系统的专业培训后才能上岗。

第二,通过社会招聘入职的大部分测试人员都是来自软件测试培训机构,在此之前他们是没有相关软件测试工作经验的。这些培训机构培训出来的软件测试人员构成了测试行业的中坚力量,其所占比例也是最大的。

第三,相较于起步较早的软件开发行业,软件测试是最近几年才兴起的,因此造成开发人员和测试人员的比例失调,一些企业很难实现其开发人员和测试人员比例为1∶1的人才结构配比,即一个开发人员就有一个测试人员与之对应。

人才的稀缺自然带来更多的机会和更好的待遇。在一线城市,初级软件测试人员的薪资大多在6 000元或6 000元以上,中高级的软件测试人员薪资更高,大多在10 000元以上。随着我国软件产业化进程加快,市场的需求在不断扩大,软件测试将成为更具挑战性和创造性的职业。

1.1.2 软件测试人员的职业规划

软件测试人员的职业前景不仅仅体现在薪资上,更体现在其职业生涯中。入职不久的初级软件测试人员可以先掌握好测试的基础知识,随着工作经验的积累,以后可以从事自动化测试、性能测试或者软件测试的管理岗位等。接下来主要介绍软件测试人员的4条职业规划路线。

第一,技术型路线。从软件功能测试工程师开始,积累了一两年的工作经验后可以根据自己的兴趣分别向自动化测试工程师、性能测试工程师、安全测试工程师等专项技术方向发展,这是目前大部分软件测试工程师的发展方向。

第二,管理型路线。如果你对团队管理的工作比较感兴趣,可以考虑向测试主管、测试经理、测试总监的方向发展。这里需要注意的是,作为一名团队的管理者,在测试技术的某一方面必须是比较精通的,只有管理经验而没有技术经验是管理不好团队的。正常情况下,工作两三年后,大部分的软件测试人员都可以做到测试主管或者测试经理的职位,如果想要做到测试总监的职位,可能稍难一点儿,因为其对人的综合考量和技术要求更为全面。

第三,产品和市场路线。由于软件测试人员长期测试产品,所以软件测试人员对产品的各项功能、用户体验、产品性能等方面是非常了解的,此时可以考虑转向产品策划和需求制定的相关工作(即产品策划类工作),同时也可考虑转到市场培训、技术支持、售后服务等相关工作中。

第四,开发路线。也有少部分的软件测试人员以软件测试起步,积累了一定的编程能力后再转到软件开发的队伍中。

当然,软件测试人员的发展并不局限于以上4类,其职业发展的空间非常大,呈多元化趋势。但无论走哪条路线,软件测试人员都应该做好职业规划,原因有3点:①职业生涯规划可以发掘自我潜能,增强个人实力;②职业生涯规划可以增强发展的目的性与计划性,提升成功的概率;③职业生涯规划可以提升应对竞争的能力,从而也会大大增加个人所得的收入。

对于初学者而言,应根据自己的兴趣与爱好做好未来三到五年的职业规划,并逐步实施,以便为未来一生的职业发展打下坚实的基础。

1.2 初级软件测试人员学习路线图

初级软件测试人员在学习软件测试知识点的时候,要学习两大部分的知识点,一部分是软件测试领域的专业知识点,另一部分是软件测试领域的非专业知识点。

1.2.1 初级软件测试人员的专业知识点

就当前的市场需求来讲,初级软件测试人员的专业知识点分三大方面:一是软件功能测试技术,二是Web自动化测试的初级应用能力,三是接口测试的初级应用能力。下面就这3点进行简要说明。

第一,软件功能测试技术。软件功能测试技术通常来说就是手工测试技术,手工测试听起来似乎有些“老套”,但它是最基础的,也是不可替代的测试之一。软件功能测试技术主要包括软件需求规格说明书的评审、测试计划、测试用例设计技术、环境搭建、测试执行(缺陷提交、回归测试)、测试报告等;软件功能测试主要体现在两个方面,一个是用例设计,另一个是缺陷提交。本书的前9章将主要讲解软件功能测试技术。

第二,Web自动化测试的初级应用能力。目前,Web自动化测试是软件测试行业中最高端的测试技术之一,也是未来测试领域的发展趋势。所以对于初级软件测试人员而言,对Web自动化测试技术应有一个初步的认识和应用。本书的第10章将会以Selenium自动化工具为例讲解Web自动化测试技术的初步应用。

第三,接口测试的初级应用能力。越来越多的企业意识到接口测试的重要性,进行接口测试意味着软件测试人员从单纯的界面测试转向底层测试,这一过程意义重大,它在一定程度上降低了开发成本,缩短了软件开发周期,所以对初级软件测试人员而言,很有必要了解一下接口测试的基本过程。

以上3点的专业知识,初级软件测试人员都应当认真掌握,当然,软件测试领域的专业知识并非只局限于以上3点,还有其他的方方面面,但对于初级软件测试人员来说,暂不求多,但求精。

1.2.2 初级软件测试人员的“非专业”知识点

初级软件测试人员“非专业”知识点也有两大方面:一是操作系统方面的知识,二是数据库方面的知识。为什么要学习这两方面的知识呢?原因很简单:大多数软件都离不开操作系统和数据库。下面针对这两个方面进行说明。

第一,Linux操作系统。越来越多的软件应用开始基于Linux操作系统运行。对初级软件测试人员而言,应当熟悉Linux操作系统中的常用命令行,本书的第12章将以Linux操作系统为例讲解常用的Linux命令行。

第二,Oracle数据库方面。现在的软件应用系统几乎离不开数据库,常用的数据库有MySQL、SQL Server、Oracle等,初级软件测试人员应当掌握数据库的基本SQL语法(操作数据库的语言),本书的第13章将以Oracle数据库为例讲解SQL语句的基本使用方法。

当然,软件测试领域的“非专业”知识点并非只局限于以上两个方面,对于初学者而言建议先从这两个重要的常用知识点开始学习。

1.3 初级软件测试人员的核心素质

初级软件测试人员在面试的过程中,面试官通常会关注面试者的两大核心素质—人格品质和沟通能力。

1.3.1 人格品质

几乎所有的软件公司在招聘测试人员时都把会人格品质放在第一位。

第一,为人诚实。要正确地认识自己,在面试或者工作的过程中,应如实表达自己的情况,比如学历和工作经验等,不应隐瞒和欺骗。端正工作态度,工作上不明白的地方应多向其他同事请教,听从领导的安排,把本职工作做好、做细。

第二,为人自信。如果对自己都没有信心又如何让别人对你建立信心呢?大多数第一次面试的应聘者,将近一半是自信心不足的,他们的表现往往是不敢说、怕说错、不敢问、怕问错、说话卡顿、犹豫、越到后面声音越小、眼睛不知道往哪看、手不知道往哪里放等,还有本来一段话的内容,结果一句话就说完了;本来一句话的内容,结果断断继续说了几分钟,说完之后也不知道自己到底说了些什么等。

之所以没有信心是因为应聘者对即将要进行的事情不熟悉。面试的时候,说一句话的比不说话的要强;能说出一段话的比只说一两句话的要强;你越是不敢说,怕说错,越是没有机会。反之,要大胆地说出你的观点,终归是要回答的,为什么不大大方方地说出来呢?即便是错的,通过面试交流,也能够了解到错在哪里,你才能从中汲取教训,一次面试不行,可以面试两次。当然在面试之前还是要做充分的准备。

解决自信心不足的办法其实很简单,对于面试中会被问到的问题包括专业问题,可以提前准备好,多练习几次,并且把答案读出来,千万不要默读。读出来的原因是让你不断地强化巩固,等到觉得自己熟悉了便可以找朋友模拟面试。最后真正面试的时候就可以熟练应对了,先不管面试能否成功,至少让面试官看到了你对这份工作的渴望和自信,这也是一个加分项。

1.3.2 沟通能力

沟通能力是软件测试人员综合素质的重要体现,在开发和测试软件的过程中,测试人员需要对遇到的各种问题同开发人员或产品人员进行持续有效的沟通,然后再去解决问题。在面试过程中,沟通能力是面试成功的关键因素之一,面试官尤其看重这一点。在我的职业生涯里,就见到很多因沟通能力欠缺而被淘汰的测试人员,所以在这里分享几点心得。

第一,轻松自信的交谈。在工作当中要学会聆听,不要表现出冷淡或不耐烦;站在对方立场上考虑问题,不随意插话或打断别人的谈话,不随意争抢话语权;当回答面试官提出的问题时,要自信地表达自己的观点,大胆地说出自己的看法,注意保持言行一致,坚定自己的信念,要让对方看到你的思维方式和进取的行为。

第二,沟通的细节。沟通的细节包括声调、语气、节奏、面部表情、身体姿势和轻微动作等。建议面试时要抬头挺胸、身体自然放松、声音洪亮,对人多微笑,给人感觉要有精神。

第三,建议少用“你必须、你一定要、你应该、只有你、我才会、本来就是你”等开头词。多用“我希望、如果你、我会非常高兴、你看是不是可以、不知道这个想法是否合理”等礼貌语。

无论是面试,还是工作当中,沟通无处不在,良好的沟通能力将会使你的工作更加顺畅,人际关系更为和谐。

1.4 软件测试对学历的要求

在软件测试行业,另一个引起更多关注的话题是学历问题,就我目前接触到的软件开发和软件测试从业人员,接近有30%是没有大专或以上学历的。记得在2010年之前,IT行业对学历要求还不是很高,基本上只要掌握了相应的技术就可以应聘到相应的岗位;2010年之后,随着经济的发展,各行各业对学历的要求也越来越高,软件行业自然也不例外。2018年初,通过与一些大型软件企业,如软通动力、中软国际、文思海辉、华为外包、腾讯外包、移动外包的沟通了解到,他们对软件测试人员的要求是拥有大专或大专以上的学历。

虽然技术能力很重要,招聘方也青睐动手能力强的,但学历也不得不引起重视。在同等条件下,学历高或技术占优的应聘者更容易胜出。

1.5 软件测试对英语的要求

在大多数的软件测试工程师招聘中,对英语并没有特别的要求,也就是说软件测试人员的英语水平并不会影响其对软件进行测试工作。但英语好的软件测试人员有以下优势。

第一,可以进入外企,也可以进入对英语有要求的国际项目组。

第二,可以提高自身的测试技术。现在大部分测试工具和文献是英文版本的,英文阅读能力强的人自然可以更容易掌握最前沿的测试技术。

第三,更容易与开发人员沟通。测试人员测试软件的过程中难免会遇到英文单词和英文提示,如果能够理解这些英文提示,与开发人员沟通起来则会更方便。

相关图书

Python金融量化实战固定收益类产品分析
Python金融量化实战固定收益类产品分析
专利写作:从创意到变现
专利写作:从创意到变现
程序员的README
程序员的README
开发者关系实践指南
开发者关系实践指南
Word/Excel/PPT  AI办公从新手到高手
Word/Excel/PPT AI办公从新手到高手
走好学术路 科研萌新的自我修养
走好学术路 科研萌新的自我修养

相关文章

相关课程