专栏首页开源优测软件测试人员掌握多少代码能力才够

软件测试人员掌握多少代码能力才够

概述

软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗?

在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。

一般而言软件测试大体可以分为两类角色:

  • 业务型测试

通常在系统开发完成或大体完成的情况下参与验证测试系统的功能及其完整性。该角色属于非技术类,一般情况下不需要写代码。

  • 技术型测试

技术型测试所关注的层面不同于业务型测试,要求掌握或是具备数据库、编程能力、系统架构、数据设计和应用接口等技术能力。

通常情况下技术型测试人员在开发阶段便介入测试工作,从代码层面开始进行测试,因此技术型的测试会面临更多的挑战。

技术型测试工作通常涉及两方面的工作,既要做开发,又要做测试。像我们平时所知道的自动化测试、性能测试、安全测试通常被归为该类。

如果从软件测试角色分类来看,似乎这种角色分类可以决定测试工程师是否需要编程能力了?

先别急着下结论,我们继续在看几个相关的问题:

  • 测试工程师应该了解、掌握什么?
  • 一个好的测试工程师应该具备什么样的技能集合?
  • 成为一个好的测试工程师需要掌握多少编程能力?

优秀测试工程师的能力

软件测试的方法会因软件产品的需求、行业的不同而所有不同,而优秀的测试工程师在整个产品的测试过程中扮演着极其重要的角色。

一个优秀的测试工程师应该具备:

  • 丰富的行业知识
  • 优秀的逻辑推理能力
  • 良好的编程技能

多少编程技能才够?

编程和调试是软件开发工程师的工作,然而为什么编程也成为了软件测试工程师必须掌握的能力呢?

下面我们看看软件测试工程师为什么必须掌握编程能力:

  • 做自动化测试时,你需要写代码
  • 做白盒测试时,你需要读懂代码和写代码
  • 做数据库操作时,你需要会sql的增删改查操作
  • 在敏捷测试过程中, 你需要会写自动化测试
  • 做性能测试,你需要写代码
  • 做安全测试时,你需要写代码
  • 做数据测试时,你需要写代码

软件测试的基本测试策略: 手工测试和自动化测试。又可能进一步划为黑盒测试、白盒测试、灰盒测试。不同的测试策略要求不同的测试技术。

你会发现:

  • 从事黑盒测试,你可能不需要编程能力,因为你更多的关注数据的输入和输出
  • 从事白盒测试或基于代码驱动测试模式时,你必须具备编程能力,掌握例如python、java、c++、sql等等各种编程语言
  • 从事自动化测试或代码检测时,你需要足够好的编程能力,因为你需要关注代码覆盖、语句覆盖。开发自动化测试框架等等,同样你也可能需要具备前端、数据库等等一些技术。
  • sql,你需要掌握各种数据库的增删改查操作,以便验证一些数据,甚至实现自动验证
  • sql注入,基本时时的会遭遇这个,所以你应该掌握一些javascript和sql,尤其是关于安全方向的应用
  • 敏捷测试,似乎有些潮流,这个就更要求你具备编程能力了

对业务测试而言

从上述的各种对编程能力的要求,对大部分业务测试人员而言,你最好具备:

  • 深入理解手工测试,行业知识,同时具备点脚本能力,例如掌握javascript,将有助于提升你的综合能力
  • 作为软件测试从业者,你应该建立起自己的技能体系,最好掌握下java、javascript、python、ruby之类的语言,虽然不是一定得掌握,但最好知道。而对于sql,这个基本是必须掌握的了
  • 优秀的沟通表达能力
  • 逻辑分析能力
  • 强大的自学能力

基本上懂编程将会有助于你的软件测试职业生涯。

总结

下面我们做一个基本的总结,软件测试大体可以分为:业务测试和技术测试,业务测试不需要掌握编程,但最好所有了解,而编程对技术测试而言则是必须的。

一个优秀的软件测试工程师应该具备:

  • 深入理解所从事行业的业务
  • 优秀的逻辑推理能力
  • 扎实的编程技能

总而言之,在软件测试职业生涯里,编程能力将会成为你职场的助力,也会伴随你的整个职业生涯。

本文分享自微信公众号 - 开源优测(DeepTest)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 代码 - 软件测试扎心的痛

    概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

    苦叶子
  • 代码 - 软件测试扎心的痛

    概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

    苦叶子
  • 代码 - 软件测试扎心的痛

    概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

    苦叶子
  • 代码 - 软件测试扎心的痛

    概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

    苦叶子
  • 代码 - 软件测试扎心的痛

    概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

    苦叶子
  • 代码 - 软件测试扎心的痛

    概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

    苦叶子
  • 代码 - 软件测试扎心的痛

    概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

    苦叶子
  • 软件测试员一定需要懂编程代码吗?

    软件测试人员需要懂代码吗?如果软件测试人员会代码,那还有软件开发人员的事吗?既能测试又能敲代码的人是不是很牛?

    新梦想IT职业教育
  • 自动化软件测试与人工测试比较

     既然现在有了自动化测试,甚至现在许多团队在使用人工智能的方法,逐渐让机器来取代人的测试。那么作为测试工程师的人未来会不会消失?这是一个摆在许多人面前的一个严肃...

    小老鼠
  • 老板们不知道的秘密:开启自动化测试,让我们一起以逸待劳

    我认为所有的UI自动化测试都分成基本的三个步骤:定位元素,操作元素和执行断言。大家在做UI自动化不同的主要是方案的选型,封装优化的方式不同。目前移动App的更新...

    京东技术

扫码关注云+社区

领取腾讯云代金券