有句话说:代码的字里行间流淌的是产品的血液。那么测试工程师的职责就是,剔除“血液”里的杂质,使产品更加的健康。
作为产品的“好伙伴”,开发的“好基友”,测试工程师一直是把好产品上线最后一关的项目守护神。
测试工程师是传统软件行业必要的职业,但在新兴起的互联网行业,大多还是以QA来命名这个职位,也就是质量保证员。
产品的质量是企业的生命线,对于互联网公司而言更是如此。测试工程师作为软件质量的把关者,因此这个职位的重要性自然也是不言而喻。
因此本次黑塔职业分享课,将向大家分享介绍让所有开发都非常“喜爱的”——QA测试工程师
经过不懈的努力,练就了测试机能和F12技能,和上千个BUG打过交道。
本次由有着顽强抗揍能力的小栋栋同学为大家分享QA如何问懵产品,如何成为产品、开发、UI(不再)值得信赖的好伙伴,并成为项目的守护神。
什么是测试工程师?
1. QA是什么?
经常有人开玩笑说QA就是给开发找茬的,但是正经来说,QA又称测试工程师。
测试工程师根据产品设计情况理解产品的功能要求,确定设计什么测试计划,如何执行测试计划、编写测试的自动测试脚本等。并推动从找到的问题得到解决,他还要根据产品测试结束后得出测试报告,协调研发、产品、运营等,提出对产品的进一步改进的建议,并评估改进方案是否合理;对测试结果进行总结与统计分析,对测试进行跟踪,并提出反馈意见。总结起来,我们主要的工作任务是发现项目问题并督促更正,确保项目的正常运行,是项目的守护神。
2. 测试工程师的工作内容
先介绍了测试工程师工作流程 ,接下来我们跟着一个项目的周期进一步说明。
1.了解产品需求;
2.对功能点进行分析;
3.编写测试用例;
4.执行测试用例;
5.使用bug工具;
6.追踪bug状态;
7.产品交付上线 ;
8.客户反馈跟进。
一个项目的周期进一步说明。
比如说,一家大型超市想要做一个小程序,可以让用户线上购物。项目由产品经理打头,他们负责设计原型讲解功能,然后开发再做出成品进行功能演示,
功能演示的时候,我们需要对成品把关, 是否所有的功能都是按照产品经理写的验收标准来做的,如果是 开发将代码发入测试环境完成后,进度就到测试阶段。
测试阶段中 我们的工作就开始了,比如:线上购物用户是不是从下单到收到商品每一步逻辑都可以走通,如果用户选择了商品但是不能付款,是操作按钮不能点击,还是用户本身环境有问题?那这个用户碰到的环境问题其他用户会不会碰到? 里面有些问题老板有答案,有些他也不知道怎么办。
这就需要我们去做不同的测试,看产品核心业务逻辑如何顺利走好,思考业务逻辑会碰到什么样的情况会引发问题,不同的情况如何设计测试用例来进行模拟,考虑用例的合理性和必要性,从而快速完成核心逻辑测试。
确定了核心逻辑完成测试,测试工程师需要把所有测试出来的问题都记录下来,一般用excel表格或者禅道等。
根据找到的问题 确定好什么级别 在记录中写明白如何复现的 以及什么样的环境下复现的等等,写清楚复现的细节和操作。然后找到开发告知开发问题情况,如有必要 进行屏幕分享演示,来确定问题是否存在,并索要修复时间,根据修复时间来找开发根据修复进度。
产品问题缺陷修复全部完成后,进行一遍回归测试 看看开发修改的地方有没有影响到其他的功能设计,有影响的的地方提出bug,回归测试后 如果测试结果中 没有比较严重的问题,就可以准备上线供用户使用。
上线之后在进行一边测试,看看换了新的环境会不会影响到功能操作,跟开发人员及时沟通,如有问题回滚到上一个版本 保证用户用的功能不受影响,
最后根据用户使用反馈结果,和产品经理 开发等 共同沟通,如何提升用户体验。
3.QA需要的技能?
1. 测试工程师的基本技能
上面提到了不少测试工程师的工作内容,那相对应的,测试工程师需要具备什么技能能完成一个项目呢?
1.1 Bug修复流程
产品从测试到发现问题说明,开发解决问题,懂得bug修复流程是非常关键的要素。一般修复流程由三个环境组成:开发环境,测试环境;线上环境。
当找到bug时,我们需要多问几个为什么。要去考虑针为什么bug会在这样的情况下出现、是操作问题、还是数据问题、或者是逻辑问题。
作为一个初级测试工程师,我们不要盲目的从功能上找到尽可能多的bug,要明白核心逻辑的问题才是最有意义的,并且经过分析 找到bug背后的原因,开发可以快速定位bug减少排查时间,为项目能够按期完成交付做工作
1.2版本发布流程
版本发布流程因bug修复而产生的,之前我们说过会有三个环境,最早出现的环境是开发环境,其次是测试环境,最后是线上环境。
当我们测试环境发现问题时,不是直接在测试环境中完成问题修复,而是程序猿在开发环境修复好bug,会打一个新版本发布到测试环境,然后我们在验证问题是否被修复。
而版本发布流程中最重要的一环在发布线上环境中,我们要找到发测试的最新版 和最后发布线上环境的版本,最新版是来替换现在线上环境的版本,最后版本是为了发布失败,进行回滚的版本。
1.3问题记录追踪
工具:禅道、BugZilla缺陷追踪,Jira问题追踪
当发现问题后,我们就要把问题详细记录下来给开发看,并告知开发,然后确定问题是否解决,如果解决了就不用管了,但是面对多人多项目就不行了,效率会很低,沟通次数变多。
不过借助bug管理工具我们可以对多个项目的bug进行管理,并且能完成多个人员的协同工作,使得工作效率大幅提高!
1.4性能测试
jmeter(杰梅特)压力测试、loadrunner(漏得软呢)性能测试
在进行功能测试前,都会来一场性能测试确保产品能满足基本的性能要求,比如打开速度不会超过三秒,能在多人使用的情况下没有出现卡顿情况等的
一般使用压测工具来完成测试。
1.5自动化测试
自动化测试,顾名思义,不用人工来完成测试,通过工具来测试产品的基本功能逻辑,一般用在发布线上后,进行回归测试时哪怕只有一部分自动化的测试,做回归测试就很容易了。有的时候,只是需要跑一下脚本就好了。有问题再详细测一下
1.6客户沟通
客户沟通,顾名思义,项目上线交付后,如果客户碰到什么问题第一个找的就是你,谁让你是守护神呢。
比如 听客户反馈的问题判断是什么问题,是否需要走商务流程,如果客户反悔怎么办?
问题改好了客户不见了怎么办?
多数初期的测试工程师测试完毕,交给客户就不管了,或者客户反馈却不积极进行处理,出来的产品不符合预期,或者处理客户问题流程错误,让商务很难办,以及整个项目也没有办法顺利结束。
其次 不关注上线后的用户数据和各种反馈,测试产品虽然从0到1了,但是到1也就结束了。实际上项目上线后才是真正的开始
4.QA就业前景如何
前景说明
随着IT行业的发展,产品的质量监控与质量管理逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型互联网企业的产品都需要大量的质量控
制、测试和文档工作,而这些工作必须依靠专业的软件测试人才来完成。软件测试的人才需求量大,就业前景十分不错。
根据一个招聘网站的统计表可以大致分析一下测试工程师的行业现状及就业前景
测试工程师学历
测试工程师招大专生占比最多,达到了 41.62%,而不限学历的占到了19.36%,高中学历的也占到了3.93%。可以清楚地了解到,测试工程师对学历的要求并不是非常严格。
测试工程师工作经验方面。
测试工程师不限工作经验的占30.83%,招聘1-3年工作经验的占33.59%,3-5年的占20.01%。招聘一年以下工作需求的占到了1.08%。所以工作经验虽然越多越好,但也不是入行的硬性条件。
测试工程师薪资
4k以上占到了总数据的近80%,可以算是妥妥的高薪行业了
路线:测试工程师-测试组Leader-PM 半年到一年左右就开始转。
什么样的人适合做QA?
严谨细心的性格 ,能沉得住气 、不厌倦重复的工作、责任心 ~
讲了这么多,肯定有人想知道自己是否适合这个职业,那我们再聊聊什么样的人适合做测试工程师。首先,要有严谨细心能力,开发做好的功能由于赶工期,在大的方向和功能上不会有什么问题,但是在小的细节和分支逻辑上会有问题,但是开发自测的时候难免会有盲点,所以不严谨细心设计对页面和功能验证,那上线的产品肯定不会被用户所接受。
另外,是沉得住气的能力,由于三个环境的原因 以及做的项目逻辑复杂程度,每一次发布环境 都要进行回归测试将主要功能测试一遍,如果沉不住气,很快就会厌烦这种工作,进行辞职。
最后,是责任心,最开始我们说过,测试工程师其实就是一个产品的守护神,如果没有对这个产品尽职尽责完成守护的职责,保证产品的质量 ,不关注用户体验,那这个产品也就到此为止了,之前所有人的努力工作都是白费心血。
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
------------------------------------------------------------------------------------------------------------
“我们相信人人都可以成为一个工程师