写给软件测试新人和转行测试的同学

第一部分 软件测试现状剖析

1.任何人都可以做测试

掌握了测试基础的理论知识后,任何人都可以做黑盒测试,但只能拿到该行业内最底层的薪水。对于安全测试、自动化测试、性能测试等等是需要有综合性的专业知识才能胜任,薪水的多少也取决于个人能力的。

2.测试人员的职责

一个新的项目上线后出问题了,可能多数情况下会指责为测试的不到位,而并不分析这个问题的出现是平台、系统级、业务层还是其他方面。管理完善的项目团队会有很好的分工协作,且能发挥出每个人最擅长的,而非相互推卸责任。

3.测试时间压缩

项目从立项开始定了上线时间后,把各个环节的排期都计算好,因测试为最后一个阶段,会被动地把剩下的时间简单粗暴的给测试,而并未考虑到会造成的潜在风险。(对于不完善的敏捷团队、初创企业更多存在这种问题)

4.测试介入时期

多数公司均是后期进入测试。理论上测试应该是贯穿于项目的整个生命周期中。

5.测试人员前途渺茫

相比国外,国内企业整体上对测试的重视程度不是很高,但这是一个必然的过程,随着市场对产品质量要求的提高,且用户对产品体验度增高,测试行业会越来越重要。

6.测试行业发展方向

再次提到门槛问题,软件测试行业入门门槛确实低,其实相对于其他行业也是,每个行业的底层都容易入行,但付出与回报是成正比的。要想得到更大的发展,需要我们不断地努力,也要为自己的做好清晰的职业规划。而不是做了一段时间遇到瓶颈,又开始迷茫。

第二部分测试新人如何提升测试技术

1.一般来说,测试新人的话首先需要把基础打好,测试理论基础可以通过看一些经典书籍或网上也有很多免费的资源。

2.刚开始不太建议加入过多技术群或其他论坛提问,初期遇到问题可以自己搜索自己尝试解决,当然需要控制一个止损点,不要为一个问题耗费太长时间。

3.学习的同时一定要做好笔记,且一定是通过自己的理解后做的。可以使用思维导图把前后学到的东西给关联起来。之后学习到的新东西也是。

4.读完一本书或一个阶段结束后,可以自测一下,通过找一些经典的笔试题或一些istqb中的题目,来巩固或查漏补缺,有针对性的再次巩固学过的东西

5.接下来可以找一些项目来做或去众测平台看一些基本的项目测试流程,包括基本测试文档的书写规范等等。

6.目前有好多平台会开设一些免费的公开课,通过技术讨论组可以接收消息推送,设定好时间听一些专业领域的测试方法,可以快速了解到大体的流程。(一定要经过严格筛选,选择质量高的,否则会浪费一大部分时间)。

7.以上都是基于从整体的方向来考虑,当然很多细节问题都需要在学习过程中记录下来。

8.给自己的学习过程制订一个详细的计划,量化到天,排好每天要学习的东西。同时最重要的是,一定要养成总结的习惯 ,每天总结 ,每个项目总结 ,总结测试方法,总结Bug原因,奇葩Bug等等,这些将会成为你日后工作的宝贵财富。

第三部分:软件测试工程师在整个项目过程中不同的阶段应该做的事

1.项目开始之初,也可以是一次迭代开始之初

这个时候每天都是以熟悉本次项目或本次迭代功能模块需求为主。

方式:一般就是看文档,有时就是看一天文档,或参加不同的评审会,根据不同人理解需求方式的不同,梳理测试点需求。

这时阶段主要是理解需求,分析功能模块的业务流程,尽可能将测试点梳理得更细,在梳理过程中如果遇到不理解,或需要做的需求与以前的需求逻辑不符时,可以先找产品经理讨论,并确定,方式可以是当面讨论,也可以以邮件的方式确定,推荐以邮件的方式确定。

在这个阶段与团队配合的事情:如果项目流程完善的团队,这时一般会由产品经理开始组织需求评审,也可以用通俗的话讲就是过需求,以前公司是由SE组织需求评审,然后开发人员组织评审Story,目前公司是由开发人员组织过,由于不同人组织关注的重点不同。

2.项目中前期

这时阶段软件测试人员主是写文档。

因为前期已经将需求的范围和测试点整理OK 了,那这个时候基本就是输出这些东西为主,输出的文档测试人员称之为测试用例。

方式:一般是用excel写,有可能一连会写上几天的测试用例。

如果测试用例写完之后,这个时候测试人员会组织测试用例评审,可以用正式的会议形式组织,也可以以邮件的形式发给开发和产品评审,如果是以邮件的形式,那一定要跟踪,因为大部分开发人员都不喜欢看邮件,所以可以用即时通讯提醒开发人员和产品经理去评审测试用例。

这个阶段开发人员一般都在编码,也是非常忙的时候。

测试用例并不是一定要用excel写,像我们现在项目测试用例大部分都是用XMIND写,用XMIND写更能发散测试人员的思维。

发现现在很多公司都不喜欢写测试用例,觉得太花费时间了,也可能是由于项目紧的原因,虽然花费时间,但是在执行测试时只需要根据前面梳理的测试点去执行就OK了,同时不容易造成漏测,就算公司不要求,一定要做这样的事,无论项目时间是否紧迫,这也算是成为习惯了。

3.项目中期

这个阶段是软件测试人员最辛苦的阶段,那就是测试执行阶段。

方式:根据测试类型的不同,执行测试也有所不同

以前做功能测试时,那天天就是前端页面测试软件的功能,界面以及软件体验性测试,现在做接口测试,执行阶段就是天天通过工具调用各种接口,测试各类接口传值、取参、返回等等测试点。

这个阶段不仅要测试,还有一件非常重要的事情那就是提交bug。

在缺陷管理工具上编写BUG,和开发人员讨论BUG,复现BUG,跟踪BUG的处理流程。这个时期需要做的事情很多,不断地测试,不断地与开人员沟通,复现BUG。

测试到了后期就对前期提交的BUG,进行回归测试。

软件测试人员不仅要有发现BUG的能力,也需要有分析BUG,定位BUG的能力。

定位BUG可以通过查询数据库、后台日志或者查看源代码等不同的方式去分析和定位。

4.项目后期

这个阶段测试人员主要做的事有写测试报告和总结。

执行测试完成之后,测试人员需要对本次测试下一个结论,到底是测试通过还是不通过,这时软件测试人员需要给测试结论,但不能就简单的一句话给开发说本次项目测试通过了,可以上线,或者说本次项目测试不通过,BUG还有很多,软件质量有风险。

现在所有事情都讲究依据,那么软件测试也需要,测试人员需要给项目其它成员提供测试结果的依据。

测试报告中一般包括测试用例的执行情况、从各种维度分析缺陷、遗留缺陷等方面分析测试情况。

一般项目测试完之后,软件测试人员可以利用项目间隔总结项目,一般是输出业务需求为主,方便其他测试人员查阅。

以上就是在不同阶段软件测试人员大致所做的事情,但这些不是绝对的。

你可能感兴趣的:(软件测试,软件测试)