{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

软件测试员必须编写代码吗?掌握多少编程能力才够?

calxcalx 回答10 收藏1
收藏问题

10条回答

Hancock_Xu

Hancock_Xu

回答于2022-06-22 18:25

首先,对于基础软件测试人员来说,不是必须掌握编程的,但是具备编程能力会更好。随着测试岗位的不断提升,掌握编程能力会进一步提升测试人员的工作能力。

要想了解测试人员的知识结构,首先要知道测试人员的工作流程以及工作职责。做软件测试,首先要了解软件的生命周期,周期内各个流程都需要不同的能力(各个周期内要做的参考CSTQB),比如说:在需求设计阶段,测试需要理解需求和业务知识,在用例设计阶段,测试人员需要根据需求识别业务场景,进行用例大纲设计、用例设计、用例评审等,在测试执行阶段,需要执行测试用例加探索测试,在测试总结阶段,则需要收集测试数据,总结测试报告等。

通常情况下,测试人员一个重要的内容就是编写测试用例,测试用例需要根据不同的需求来编写,在实际操作的过程中,不少测试用例是可以在某种程度上进行复用的。测试通常分为自动化测试和手工测试,自动化测试需要掌握工具的使用,比如RobotFramework,当然自动化测试工具很多,功能上也都大同小异,测试人员可以根据自己的知识结构和测试需求来选择。

测试需要掌握的知识结构是比较丰富的,简单的说,不同的项目需要了解不同的技术体系,比如通常需要掌握数据库知识、操作系统知识(Linux)等。测试工程师需要测试的另一个内容就是代码覆盖率,通常情况下代码覆盖率的测试需要开发人员配合完成,开发人员提供代码,测试人员进行代码部署之后,跑相应的报文,然后把结果记录在log中,然后计算代码覆盖率,测试的主要任务就是考虑使用哪些请求报文。

随着软件行业的不断发展,对于测试人员的知识结构有了更多的要求,掌握编程能力会在一定程度上提升测试人员的岗位竞争力,对于测试人员来说,可以从学习Python编程开始,然后在工作中不断提升。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,也可以咨询我,谢谢!

评论0 赞同0
  •  加载中...
elisa.yang

elisa.yang

回答于2022-06-22 18:25

软件测试员不一定非要掌握代码,这点是可以肯定,如果你是软件测试从业人员,掌握一门编程语言对你来说是非常好的,因为你的升职机会要多一些!

来看一下这个职业规划,如果你懂编程,会写代码,你相对于其他只会测试的工程师要早一步到主管、经理的位置。软件测试人员是需要和开发人员沟通的, 你自己懂代码,沟通起来就比较简单!

当然,不懂代码也是可以做测试人员的,下面来看这张图,你可以看看自己学习到了哪个阶段,然后可以做什么哦!

这个软件测试学习路线呢,有你所需要了解的知识点,然后能做什么工作。最后附带一张超高清的学习路线图,希望能帮到你的学习!

如果想要软件测试学习视频,可以后台直接回复 软件测试 即可。

评论0 赞同0
  •  加载中...
tuomao

tuomao

回答于2022-06-22 18:25

传统的手工测试人员可能并不需要掌握代码能力,但随着产品功能的日渐复杂,企业要想占领市场,必须重视软件的质量,所以对于测试工程师的能力要求也越来越高。

代码是测试人员必须具备的能力,只有这样才能够编写测试脚本、搭建测试框架,能够独立完整地测试整个项目,产品的质量相对来说更有保障,更安全可靠。

但是与开发相比,软件测试对于编程要求不是很高,只是要求要懂一些基础的编程语言,所以完全不用担心。

评论0 赞同0
  •  加载中...
jsbintask

jsbintask

回答于2022-06-22 18:25

本人曾经任职于各阶级的公司,上到BAT,下到创业公司,说实话,遇到过会写代码的测试工程师还是比较少的。我这里从一个前端工程师的角度说一下一个合格的测试工程师需要具备怎样的代码能力吧。


1. 首先,你要具备正常的甚至超凡的阅读理解能力。为什么?因为在测试开始之前,你需要理解需求,那么你就需要去阅读PRD(产品需求文档)。大部分情况下,具备正常的阅读理解能力就足够了的,当然也有部分很low的产品写的PRD跟屎一样,甚至都没有一句通顺的话,这时候你非但需要相对优秀的理解能力,以及我即将说的下一点。


2. 具备较高的沟通技巧。PRD写的跟屎一样,导致你无法理解需求,你总需要去找产品对一遍吧?怎么在最短的时间内搞清楚自己的疑惑?————这时候就需要相对较好的总结问题的能力以及沟通的技巧(毕竟还是要忍住心中的怒火不去骂产品,或者用更委婉的方式骂?)

测出bug了,你就要去找前端/后端沟通了吧,这是不是一个bug?是前后端谁的职责(直接影响你的bug要提给谁,虽然大多数测试人员都是提给前端,再由前端去“分发”bug,但如果作为一个测试工程师的你能精确的把bug提给正确的责任人,那么升职加薪就离你不远了)


3. 学习能力。这一点就不作过多解释了,现在已经进入终身学习的时代了。


4. 编程能力。其实这个,真的不重要,但却是一个锦上添花的技能。大多数在工作中需要用到的编程技巧可以通过学习快速掌握(往往只是写sql层面?),这里的编程能力,不是说能写代码写算法实现各种功能,而是一个编程界的大局观,最主要的一个体现就是:前后端的能力边界在哪里。这个可以直接影响到一个测试工程师和前后端工程师交流时是否足够通畅,是否能引起共鸣,这就又直接导致了双方是否会出现英雄之间惺惺相惜的情愫,再往以后就会影响到测试人员和开发之间的关系是否融洽,是否能够愉快的在一起工作(咳咳,貌似扯远了)。



总之,不要因为不会编程就在面试工作的时候缺少信心。一个优秀的测试工程师,具备我这里所说的前三点就够了,至于编程能力这一点,没有也行,有了更好

评论0 赞同0
  •  加载中...
BaronZhang

BaronZhang

回答于2022-06-22 18:25

自动化测试和压力测试脚本

评论0 赞同0
  •  加载中...
el09xccxy

el09xccxy

回答于2022-06-22 18:25

有编码能力更好,没有也可以做黑盒测试,也就是简单的功能测试,也包括安全测试。

对于高级一些的白盒测试要求懂代码,性能测试更是要求高。至于自动化测试需要懂代码脚本,否则全靠UI级别的 拖动,很难写出流畅的自动化脚本

评论0 赞同0
  •  加载中...
oujie

oujie

回答于2022-06-22 18:25

软件测试掌握多少编程能力才够?

先说这个编程能力,一方面是计算机相关的通用知识,也就是操作系统、网络、linux、数据库、shell脚本;另一方面需要学习测试的基础知识,一些测试流程,测试用例的设计方法、缺陷的管理等等。基本上就可以胜任在企业中的测试工作。

但是,现在软件测试发展比较好的,都是技术型的测试工程师。大概掌握的是:自动化测试、接口性能测试、安全测试等等,掌握这些计算机技术的前提还有就是掌握一门计算机编程语言。

如果自学,推荐去传智播客社区,比较高端的社区了,内容是从线路图--->基础入门--->进阶--->工具经验--->面试大全

软件测试员必须编写代码吗?

在软件测试的初级阶段,不需要编程能力,这个也是肯定的。可任何职业发展路径,都要考虑的是追求长期更长远的发展。想要可持续发展,编程能力实际上是必要的。所以,结论是前期入门是不用的,后期你想不被淘汰是一定要回写代码的。

下面我们来分析一下原因:

  • 做自动化测试的时候,我们需要写代码;

  • 白盒测试的时候,我们需要读懂代码和写代码;

  • 做数据库操作的时候,我们需要会sql的增删改查这类操作

  • 在敏捷测试的过程中,我们需要会写自动化测试

  • 做性能测试的时候,我们需要写代码

  • 做安全测试的时候,我们需要写代码

  • 做数据测试的时候,我们需要写代码

软件测试的基本测试策略分为:手工测试和自动化测试。有可能进一步划为黑盒测试以及白盒测试还有灰盒测试。不同的测试策略也有不同的测试技术:

  • 黑盒测试,我们不需要编程能力,测试人员只是需要通过输入数据来测试软件,然后检查输出。

  • 白盒测试,即或是测试或者代码检测的时候,我们需要足够好的编程能力,因为我们需要关注代码覆盖、语句覆盖。开发自动化测试框架等等,同样的我们是需要具备前端、数据库等等的一些技术。

  • sql,我们需要掌握上面说过的数据库的增删改查操作,一边验证一些数据。甚至实现自动验证。

  • sql-注入,这里指的是通过插入不必要的命令来进行数据库黑客攻击的技术之一,其中可以使我们很好的了解JavaScript和SQL使用命令可以避免这种软件安全威胁。

  • 敏捷测试,在这个过程中间,测试人员一起编写测试,所以为此创建一个自动测试,测试人员必须要知道代码。

一个优秀的测试人员应该具备什么:

  1. 较好的领域知识
  2. 良好的逻辑思维
  3. 优异的编程知识
  4. 测试人员在进行自动化测试的时候需要良好的编码知识

详细学习路径可参考黑马程序员中的学习线路图,关注加私信也可以领取配套视频~

评论0 赞同0
  •  加载中...
acrazing

acrazing

回答于2022-06-22 18:25

首先定义一下代码。这个代码不是指将要进行测试的应用所使用的代码,而是作为一个软件测试人员使用测试工具需要编写的脚本代码,或者自己编写的(半)自动化测试程序的代码。

所以作为软件测试员代码编写能力是一定需要的。

至于多少,个人认为2种就好,一种你正在使用的测试工具的脚本语言,一种真正的编程语言。

评论0 赞同0
  •  加载中...
ormsf

ormsf

回答于2022-06-22 18:25

必须会,要学习的

评论0 赞同0
  •  加载中...
you_De

you_De

回答于2022-06-22 18:25

我们公司不叫测试部,而是叫软件品控部,不仅包括测试,还包括检查代码是不是遵循编码规范,有没有后门代码,甚至还需要参与编写代码规范,所以高级的测试员都是需要会编写或看懂代码的。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<