• 0
  • 0
分享

作为一个在测试一线奋斗多年的老捉虫达人,经常会被人问道这样一个问题,「转行人员应该如何进入测试领域?」

今天,我就这个问题做一个完整的回答,顺便说一下进入软件测试这个行业后持续努力的方向,供各位想转行做测试还没转的、已经转行做测试但时间不久的、刚刚进入测试领域的,这几类的小伙伴都可以参考下。对于其中有疑问的,也欢迎持续探讨。

软件测试的门槛

软件测试,作为软件研发流程中的一环,是软件研发质量的重要保证,而随着互联网产业、软件等需求持续增加,这样的人才需求也持续旺盛,因此,有越来越多的人看准这个机会想进入这个行业。一方面,这一行作为信息基础行业,有着相比于其他行业更高的薪酬待遇;另一方面,随着信息技术更多的进入我们的生活,这方面的发展前景也得到了大家的认可。所以,这一切也都不难理解。

那么,想从事这一行业,都需要做哪些准备呢?在我看来,首先要了解的就是软件测试的基本概念和思想。软件测试在软件研发流程中处于怎样的过程,软件研发的基本原理,软件测试的基本方法,这些都是需要了解和掌握的。只有清楚了这些,才能很好的认识到软件测试是怎么一回事,才能够更好的参与到软件测试工作中,进而为软件的研发质量保证贡献出自己的一份力量。

软件测试的基本概念和思想,在这里我就不展开讲了。我想讲的是,在我多年的测试管理工作中,面试了不少候选人,有很多候选人对软件测试的概念和方法都不清楚,觉得软件测试就是将需求文档中的内容点点点,确定都实现了就算测试完成,这个回答是很糟糕的。

作为软件测试行业的从业人员,我们必须清楚,软件测试是需要用基本的测试方法来保障软件的质量的。还有很多面试者,谈起测试的基本方法来是头头是道,但真的给了一个需求文档让他去设计测试用例时,就完全不管测试方法中交给我们的东西了,而是天马行空的发散起来。这种理论与实际脱钩的情况,就会让面试官觉得还是没有很好的掌握测试方法,经过他测试的软件产品的质量是不可控的,因此也会存在很大的质量风险。

只有将软件测试的基本概念、方法进行很好的应用到日常工作中,只有能将我们在候选人简历中经常看到的「熟练掌握软件测试方法」转换成真正的掌握,那在我看来才是迈过了从事软件测试行业最基本的门槛。而要达到这一点,日常工作中积极的思考测试方法与被测试软件的测试用例的对照关系,在日常使用软件的过程中培养测试用例设计的意识,都能够很好的提高自己在这方面的能力。

测试的基本技能

在迈过软件测试的门槛后,接下来就是要掌握做测试的基本技能了。这个技能,包括对被测试软件的进一步了解和掌握,对测试工作中使用的测试工具的熟悉。

在面试中,我们看到候选人的简历中提到自己测试项目的基本介绍,包括使用的语言、框架,但真正问起来,对这些都没有基本的了解,那在我们看来就是不合适的。还有候选人对自己测试的项目所在平台的一些基本常识的缺乏,在面试中也是很致命的。比如,在面试中我经历过这样的候选人,做的是移动端的APP测试,但不清楚APP测试的基本特点,需要关注哪些方面,兼容性测试怎么做等,这都是日常测试中很基础的东西,如果都不能很好的讲出来,那就会说很糟糕的。

在我们日常的软件测试中,首先要关注的就是被测试软件所在平台的基本特点,是Web的还是APP?Web类的产品有哪些特点,实现的原理是怎样的,测试过程中需要考虑哪些东西,承载Web类产品的浏览器是怎样的工作原理,做兼容性测试的时候需要关注哪些方面。APP类的产品有哪些特点,所在的系统有哪些特点,与终端系统有哪些交互,需要考虑哪些方面的指标等。再此基础上,再去结合被测试软件的需求和功能特性去进行测试用例的设计,功能特性有哪些,边界值法怎么用,等价类怎么划分,异常场景有哪些,等等。

另外,我们在很多候选人的简历中看到「熟练使用XXXX测试工具」,但真的问起来,这个工具的原理是怎么样的,都有哪些基本操作,可以辅助我们做哪些测试等,他们就不知道了。更有甚者,只是知道点哪个按钮可以产生什么东西,多问一句产生的这些东西是怎么得到的,都包括哪些信息,就不知道了。这些就比较不应该了。这样的「熟练」更多的是对最常规、最基本使用的「重复性熟练」,而非真的对这个测试工具有更深层次的了解和掌握。

在我看来,使用一个测试工具,这个工具实现的基本原理是怎样的,这个工具能做什么,不能做什么,为什么能做这些,使用过程中能给我们提供哪些数据,我们可以用这些数据做什么,如何辅助我们进行测试,都是我们在拿到一个工具时首先可以去了解的。只有对一个工具有了这些了解,我们才能在日常的测试工作中更好的、更熟练的使用,最大化的辅助我们的测试工作。

测试的能力提升

当我们对基本技能有了一定的掌握后,我们就需要进一步的提升自己的软件测试能力。

这时候对测试能力的定义和范围就可以进一步的扩大化,当我们测试一个软件时,这个软件更底层的东西就需要我们去开始接触,使用的语言、框架的特点,软件的技术架构等。这些对我们更好的了解被测试软件,发现其中存在的问题,都有很大的帮助。

对于较大型的软件,我们还需要了解整个系统的模块划分是怎样的,模块与模块间的调用关系是怎样的,调用过程中是否困难存在异常,这里的用例该如何设计,对错误处理的用例该怎么构造,软件发布上线后,对应的数据是否有上报,上报的问题反应了怎样的问题,等等,都是我们需要去了解的。

在测试工具的使用上,也对我们有更高的要求,比如能实现类似功能的同类工具还有哪些,为什么我们要用当前工具,这个工具能得到哪些信息,这些数据是怎么得到的,准确率是多少,误差是否在我们可接受范围内,我们是否需要再此基础上去做优化,如此等等。

另外,随着我们对软件测试的要求越来越高,测试的粒度越来越细,一些基本的测试、常规的工具不能满足时,我们是否能够开发出一些脚本、工具来满足我们的测试需要,我们是否能够持续用工具来解决测试中的问题,用工具实现测试效率的提升,测试深度的加强,等等。

测试的职业发展

最后,简单谈下软件测试这个行业的职业发展。软件测试作为一个技术岗,不断的提升自己的技术能力是最核心的发展要素。在这个大前提的指引下,不断的沉淀自己技术领域的积累,扩充自己在技术解决测试问题上的知识面和能力,是关键。

从这个意义上讲,软件测试工程师的发展会从解决独立需求测试的初级工程师,向能独立负责较大系统测试的中级工程师,到能完成测试体系的建设的高级工程师一步步实现前进,在这个过程中,自己的技术能力也从对被测软件的基本实现,到掌握系统架构,针对系统架构进行完整测试,从用小工具实现测试效率的改进,到用测试平台、测试体系实现一整套测试架构的实现。

测试管理也是软件测试工程师发展的一个选项,从独立跟进需求测试,到带领小团队共同完成某个项目的测试,进而到带领更大的测试团队完成包括功能测试、工具建设等多领域的提升。

总之,软件测试是一个需要不断理解行业,不断提升自我,不断思考测试对于项目团队意义的工作。只有不断的前进,自己的职业生涯才会有更好的前途和更大的发展。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言随着测试技术的发展,接口自动化测试逐渐成为各大公司投入产出比最高的测试技术。介入时间早,执行效率高,稳定性高的优点,让越来越多的公司引入接口自动化测试。框架简介APIAutoTest是处理API接口的轻量级自动化测试框架,Java语言实现,基于TestNG测试框架,支持持续集成,自动构建与测试。框架介绍数据驱动设计,使用TestNG中的@DataProvider读取Excel中存储的自动化测试用例;基于TestNG测试框架;使用HttpClient发送Http请求,并统一接口response返回值为String;使用fastJson和Jsoup进行数据解析,由于请求返回值的统一,解析数据异...
            12 13 2240
            分享
          • 接口测试用例是目前软件开发中不可或缺的一个重要部分,因此编写接口测试用例同样重要。接口测试用例的作用非常明显,它能够帮助我们了解产品正在考验、调整它如何表现在特定情境之下、产品是否存在可改善的问题以及对其他流程执行有影响的因素。通过编写清晰准确的接口测试用例,能够有效避免很多无法预料的问题出现。在开始编写接口测试用例之前,需要注意几件事:确保你理解并准确衡量期望系统行为充分考虑使用者会怎么使用你的产品要将你所理解的客户端/后端对象明显列出来在运行之前应当充分测试所有代码在此过程中要定期总结编写接口测试用例的步骤包括:明确测试目标: 根据客观要求和最终需求来明确测试目标。确定用例场景: 根据业务...
            0 0 1010
            分享
          • 注意:本标题的“自动化测试”包括性能测试与UI级的自动化测试经常会被问到如何解决验证码的问题,在此记录一下我所知道的几种方式。对于web应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性。但对于测试人员来说,不管是进行性能测试还是自动化测试都是一个棘手的问题。下面来谈一下处理验证码的几种方法。去掉验证码这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可,如果是在测试环境,这样做可省去了测试人员不少麻烦...
            15 15 1898
            分享
          •   IT行业薪资待遇普遍很高,一名优秀的技术工程师的工资是传统行业普通员工的几倍之多,这已经是不争的事实。所以,每年转行IT的人不在少数。大家都希望靠学一技之长,改变命运,其想法和勇气可嘉。尤其是在近几年,越来越多的人将软件测试作为转行IT的首要选择,这是为何?  1、行业趋势使然  在互联网+时代,大数据、云计算等技术的应用,使得未来互联网化是必不可挡的趋势,因此IT行业的市场需求空缺会越来越大,对人才综合技术能力的要求也会越来越高。在互联网行业同类产品众多,企业要想站稳市场,只能以“质”取胜,所以作为软件质量的把关者——软件测试,在企业中占据着非常重要的位置。  2、薪资待遇高,发展好  ...
            0 0 1276
            分享
          • 如果想尝试着用python做一款简单好玩的小游戏"飞行的小鸟",那就得用到pygame这个模块,让我们先简单了解一下pygame吧。pygame是一个利用SDL库(全名Simple DirectMedia Layer)写就的游戏库。安装好python3环境以后,可以用pip3 install pygame命令来安装pygame。pygame有很多的模块,我们这个游戏会用到以下模块:pygame:主模块,一些通用的控制pygame.display:用来访问显示设备pygame.draw:绘制形状,线和点pygame.rect:管理矩形区域pygame.init:初始化的一些定...
            0 0 2052
            分享
      • 51testing软件测试圈微信