• 0
  • 0
分享
  • 面试经历:我是因为不喜欢开发才选择的测试——软件测试圈
  • 曼倩诙谐 2023-03-03 10:35:26 字数 2448 阅读 1223 收藏 0

  见过不少软件测试岗位,在面试时,问到选择软件测试作为职业的原因时,有不少测试工程师会回答:因为不擅长或不喜欢开发的工作。

  这个想法,这个回答,就已经在面试官眼里打低分了。

  现在网上也有不少类似观点:

  ·“不喜欢开发,那就来选测试吧”

  · “测试不需要多少开发知识的”

  · “开发太难了,还是测试容易入门”

  · “我就是因为不喜欢开发,而选择的测试”

  这样的说法已然是割裂了测试和开发的紧密联系,通常反映了开发能力的缺乏(也或许是对开发工作的厌倦)。

  实际工作中,测试和开发是“你中有我,我中有你”。

  诚然,对于黑盒测试中有些浅显的测试,并不需要多少开发知识,可是薪水也是测试中最低级的。

  残酷的经验告诉我们,拥有出色的开发能力并努力将之应用于测试中的测试工程师,才会有个人的核心竞争力,薪资也会位于软件测试业的顶级。

  判定缺陷间的重复及依赖关系需要开发能力

  很多时候,两个软件缺陷表现形式不同,但是根源相同,这样就形成了重复缺陷;或者有时,一个缺陷基于另一个缺陷,当另一个缺陷被解决了,这个缺陷就会消失,这属于缺陷间的依赖。

  我们知道,有效缺陷的数量会用于统计项目的情况,重复或依赖性的缺陷数量达到一定程度时,势必影响领导对于整个项目进展的判断,进而带来很多的风险,因此各个测试部门都要求尽量减少这种无效缺陷的提交。

  Bug1:当在日期控件中选择一个日期后,在该日期后可写入任意字符,如“KKK",单击OK按钮生成报告,报告中的日期含有“KKK",是不合法的日期。

  Bug2:当在日期控件中选择一个日期后,在该日期后输入3000个字符后,单击OK按钮,程序崩溃。

  这里有两个bug,乍的一看,这似乎是两个不同的缺陷。

  可是有开发能力的人会知道,这二者的解法实则相同。只要限制日期文本框即只从日期控件中选择而不可手工填入,这两个缺陷就都被解决了。

  由于解决方法相同,因此这两个缺陷应当被判定为重复。

  有一定开发经验的测试人员,对于缺陷间的重复或依赖,在从前的开发实践中可能就遇到过类似情况,而更可以举一反三,进行更精确的判断。而这种判断,对于无开发能力和经验不足的人来说,是很难达到的。

  使用自动化测试工具需要开发能力

  无论是著名的性能测试工具LoadRunner、Jmeter,还是UI自动化测试工具selenium、appium,很多工具的使用都需要编写脚本程序。

  脚本程序既没有C++或Java语言那么难,也不是面向对象的,只是简单的解释性语言。

  拥有C++或Java等复杂语言的开发能力能帮助你更好的理解脚本语言,出问题时能够更快速、更准确的定位问题出在哪里。

  丰富的开发经验能使你事半功倍,得心应手。

  欠缺开发经验的人,即使在编写脚本语言中的简单语言时,也不免错误百出。因为缺少那种开发的思维,既不能规划好全局,也不能照顾到细节,这样的项目,失败的风险大大增加。

  黑盒测试偏爱开发能力

  在黑盒测试中虽然看不到代码,但是如果有开发能力,则测试人员将可以更容易贴近开发人员的思路,从而更好的设计和执行测试。

  说明

  测试人员经常会琢磨:“如果我是开发人员,在开发这个模块时可能会犯什么错误?”

  测试人员经常会琢磨:“如果我是开发人员,在开发这个模块时会犯什么错误“

  按照需求逐条测试,只能保证需求上写的部分是正确的,而其他很多部分是覆盖不到的。

  而且根据80-20原则,80%的测试要用于20%高风险的的方。

  同样,每个人被分配的任务中,也有80%与20%之分。如何来判断哪些是80%的呢?

  事实证明,拥有一定的开发能力将帮助我们更准确的判断,从而使我们更聪明、更积极、更有效的完成工作。

  具有开发能力完全可以代替数年经验的“老师傅”那数年的经验。

  白盒测试需要开发能力

  在某应用中,有个生成网站统计报告的新项目进入了系统测试阶段,这个项目的核心部分是在数据库里运用SQL查询结果。

  领导布置了一个任务,要求你来重写一遍所有的SQL查询,来对比一下报告数据。

  首先你需要看懂代码,如果粘贴到Word文档上,每个查询语句平均有80行,这条的报告一共有约40种。

  当看懂代码且理解了逻辑之后,能开始试图找出其中的 Bug。

  一些典性的Bug有:

  (1)边界值错误。通常发生于“between, and”语句。

  (2〉限定条件错误。例如在 where子句中少写了一个and条件。

  (3)有的表无用。例如left join了个表,发现这个表没有用到或一些字段与另一表中的字段重复。

  (4)函数使用错误。

  (5)字段或表的混淆。例如应使用terminated_id字段的的方误用了end_id字段。

  这就说明通常意义上的白盒测试不需要重写开发人员的代码,只需要理解并测试其逻辑即可,最后参照开发人员的代码来重写我的查询,并用其在数据库中运行的结果来对比软件生成的报告。

  安全测试需要开发能力

  在进行安全测试时,作为测试人员,经常需要模拟攻击系统。

  没有开发能力,就不知道可能的薄弱环节在哪里。

  以一些简单的命令来攻击,这个层次比较浅,无法模拟出真正的高手来攻击的态势,也就是说,漏洞可能很严重,但是我们的测试水平达不到,根本测试不出来。

  安全测试是一个计算机学科中很深的领域,很多高手不但精通多门开门语言,而且精通反汇编,对计算机运行原理了如指掌。

  开发测试工具

  为了实现对某些项目的测试,部门中经常会要求开发一些小测试工具。

  例如摩托罗拉公司的手机部门,需要开发一个工具,来自动化集成所有代码生成软件的一个版本,然后自动分发给相关部分,并进行一些基本的通过性测试(冒烟测试)。

  这需要很强的开发能力。如果你有这种能力,显然就可以超越其他同事,成为部门的技术骨干。


作者:程序员威子    

来源:http://www.51testing.com/html/80/n-7792880.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   随着国产商用密码算法领域的发展,国密协议在各行业的应用也愈发广泛。国密算法在TLS协议中的应用是目前国密算法普及度最高的场景,目前市面已有多种国密浏览器,支持国密算法的TLS协议。国密SSL协议以SM3算法作为哈希算法,SM2算法作为密钥协商以及加解密算法,具备极高的安全性。本文主要利用开源的gmssl,构建国密CA,签发国密证书,以及使用签发的证书进行简单的国密SSL通信测试。  在进行证书签发之前,首先准备配置好gmssl的配置文件,由于gmssl是openssl的一个国产化的分支,因此配置文件与openssl的配置规则基本相同。图1为本文使用的配置文件示例,主要是指定了证书及密钥生成...
            12 12 2021
            分享
          • 为什么我们应该从手动测试转向自动化测试测试自动化可以克服很多手动测试挑战,尤其是在敏捷项目中。1)测试可重用性自动化测试用例和测试套件可以在不同的测试周期和测试环境中多次重复使用。因此,每次应用程序更改时,您都可以运行自动化回归测试套件来检查回归错误,避免重复手动进行回归测试。这是自动化降低操作失败风险的最重要优势之一。2)更高的测试覆盖率由于测试是自动执行的,因此您有更多时间专注于新场景并编写更多自动化测试用例来验证和验证被测应用程序(AUT)。您和您的团队可以自由地进行更多探索性测试,以确保产品质量。自动化测试也可以在不同的平台和设备上同时或并行执行。更多执行的测试意味着可能会发现更多的回...
            0 1 1787
            分享
          •   应用场景:Allure Report报表以收集测试运行信息翔实、分类完整、显示美观受到了很多自动化测试朋友的青睐。有些企业可能没有完全集成到CICD上,也有的企业用的是Python, 这就要求我们测试人员要能灵活地根据实际状况配置Allure Report。今天介绍一下如何与pytest 结合快速生成一份报告在测试本机,期望能够为正在烦恼的自动化测试朋友提供一份帮助。(如果想配置Allure Report 在Jenkins, 您可以下载 Allure Plugin)  温馨提示:如果阅读者想按示例进行操作,您一定要具备以下的配置。   ·自动化框架: Selenium&...
            1 1 1362
            分享
          • pytest是python自带的单元测试框架,是unitest的升级版本。使用框架的目的是“提高效率”,可以实现:环境初始化和数据清除定制化执行测试用例配置--分布式执行自带html报告(可根据需要使用allure报告)安装:pip install pytestpip install pytest-html    原生态报告模版查看安装结果:pip show pytest注意事项:使用pytest框架,默认识别“test”,所以:1.测试用例必须以test开头,例如:test_A2.测试类必须以Test开头(第一个字母大写)3.对应的py文件必须以test_开头,或者_te...
            0 0 1784
            分享
          •   据报道,美国白宫上周五表示,使用特斯拉充电接口的电动汽车充电站有资格获得数十亿美元的美国联邦补贴,只要这些充电站也支持美国的标准充电接口CCS。  此前,美国汽车巨头福特和通用汽车分别宣布,将采用特斯拉的充电标准,即北美充电标准(NACS)。而白宫最新宣布的举措意味着,美国政府希望通过联邦补贴,推动行业转向有竞争关系的另一大充电标准CCS。  美国政府正在投资最多75亿美元,在美国最繁忙的高速公路上建设新的快速充电设备。这也是特斯拉首次与这个政府投资项目联系在一起。  受此消息影响,特斯拉股价上涨4.1%。分析师表示,福特和通用汽车宣布的决定是特斯拉的重大胜利,可能会使特斯拉的超级充电站成...
            0 0 817
            分享
      • 51testing软件测试圈微信