软件测试中什么最重要

这不是关于勤奋。 这是因为我们忘记了所知道的。

Bizarro世界软件开发

任何阅读有关软件开发的公开讨论的人都可能甚至不知道主要目标是生成可执行文件。 人们可能会以为软件开发的唯一目标是单元测试的印象是可以原谅的。

关于编码实践的文章很少,偶尔也有。 有关测试策略的文章不胜枚举。 而且他们要么要么异常兴旺(一个快乐的团队坐在彼此的膝盖上并进行测试)要么被责骂(除了100%的代码覆盖率之外,其他事情都是毫无根据和无纪律的)。

以前不是这样的。 我们过去一直专注于开发 ,虽然我们对自己的工作进行了足够的测试,但我们知道并且清楚地知道,这仅仅是开始,一个专门的SDET团队将基于功能规范和不受偏见的情况进行真正的测试。通过了解代码。

命名法

黑匣子测试(BlackBox Testing) :基于行为并以功能规范为指导来测试可执行文件,而无需了解代码或实现设计,并在用户界面(EXE)或测试工具(DLL)中进行了测试。

WhiteBox测试 :与BlackBox相同,但具有代码知识,因此有偏见。 通常由开发人员完成,敷衍了事,不建议进行结论性测试

单元测试 :直接测试代码功能,并将其传递给示例数据集,这些数据集通常由开发人员完成,并被误认为是决定性的,通常被认为具有神奇的功能 ,并被许多人视为定义入口点文档。 参见测试驱动开发

传统测试

传统软件测试是BlackBox。 开发人员可以编写或获得功能说明,对其进行实施,对其进行足够的测试,以了解基本功能是否正常,并可能在边缘情况下工作,然后将其交付给专门从事测试工作的一个或多个BlackBox测试人员。 在理想情况下,开发人员和SDET紧密合作,并尽可能绕过bug数据库和分类乏味。

诚然,在过去的时代,许多公司做得还不够。 由于我的工作通常会在发现错误后的数小时内在服务器上发布,因此进行彻底的测试非常重要,有时我会花一半时间在测试人员的办公室里。 我们一起工作得很好。

但是有些公司将测试视为检查的框,仅此而已。

测试驱动开发

在2008年与我的经理争辩说,为我的准备发布的应用程序编写单元测试时,由于规模太小而无法分解成单元,这种对话变得越来越疯狂,当他提到一种称为“测试驱动的开发”的新事物时,对话变得疯狂起来。 ”

我想到的第一件事是,尽管任何人都做过最认真的计划,但我们在开发过程中仍学习了设计中未曾预料到的东西,因此在此之前编写的测试要么是不完整的,要么是需要不断回顾的。与完成后编写它们相比,这浪费了时间。 不是灾难性的,而是倒退。

但是尽管如此,TDD仍占据着整个行业的主导地位,现在测试已取代开发本身成为…软件开发的核心。 我已经在其他地方写过关于此的内容,这里不再赘述:

https://hackernoon.com/software-development-is-not-about-unit-tests-r77132y7

但是在对本文和其他文章的讨论中,我了解到事情比我想的要糟很多。

为什么约翰尼不能编码

早在个人计算机革命之前,少数开发软件的公司就已经注意到,一些程序员的生产力要比其他程序员高得多,并且产生了出色的代码。 它在智能上没有任何区别,不是更快的打字,不是更长的时间。 研究表明,获得优异性能的关键是能够进入长时间不间断的集中力,这就是所谓的流量。 有关更多信息,请参见参考资料,或者阅读我的其他文章:

https://medium.com/swlh/the-magnificence-of-flow-c5fad8da35a1

直到成长如此之多,微软之所以成为如此出色的工作场所,是因为这种认可已融入他们的企业文化中。 我们有私人办公室,中断很少。

它没有持续。 股东价值最大化意味着办公室占用率翻倍或翻两番,我们被要求召开越来越多的会议。

这里的重点是,集中精力对做好工作至关重要。

因为约翰尼不能专心

我喜欢一个人工作。 我喜欢关上我不共用的办公室的门,关掉灯,戴上耳机播放沉思的环境音乐,集中注意力并编码几个小时。 我可以做几周的工作,完成所有工作后几乎没有错误,也没有错误。 我可以集中精神。

软件的集中度已过时。

您如此沉迷于测试的原因是因为您无法集中精力,因此无法编写好的代码。

您可以从毫无意义的每日Scrum(状态更新的新词;我们曾经在电子邮件中进行这些更新)开始新的一天,该活动计划在8:30或9 AM进行,因此您的一天始于令人发指的仓促-一小时的通勤让您从一开始就感到疲倦。

您的一天经常被“团队”互动和定期会议打断。

要求您及时回复电子邮件,以便使弹出窗口保持启用状态,并中断工作以回复电子邮件。

您需要经常休息以参加“团队”活动和在线游戏。

最糟糕的是,您从来没有学会集中精力。 您看电视并且每隔几秒钟切换频道,在社交网络上花费了数小时,其中280个字符使您的注意力分散,如果您根本不读书,则要花几个月的时间才能读懂小说;在响应时间很短的情况下玩游戏,所以必须等待更长的东西比微波通心粉和即使如此,你从脚跳舞脚去“ 来吧来吧 。”

你从来没有机会,你可怜的汁液。 因此,您编写了大量的测试。

专心的人有毒

我已经被告知很多次了。 说真的

在一家自由职业者的博客上,一位经理(他急于吹嘘自己的聘用权)告诉我,他不会雇用像我这样的人,因为“个性化”程序员给“团队”带来了毒性,最终被降职并被解雇。 。

在Twitter上,一个据称的开发人员告诉我,“沉迷于焦点”的人在心理上不稳定,并且“人际交往能力”比生产力更重要。

嗯是的

对独自工作的开发人员存在明显的敌意,而曾经是软件生产力最高峰的现在却被轻视和怀疑。 “不是团队合作者。” 团队运动。

好吧,然后我很自豪地成为一个团队合作者,成为一个孤独的狼,我没有和其他人站在一起,也没有被邀请参加以酒精为燃料的团队士气事件。 我都可以。

但是我写的代码很扎实,我可以处理大量的责任,可以管理大量的细节,因为我可以长时间集中精力。

而且我永远不会在任何他们不允许我这样做的地方工作。

我们的行业一团糟。

资源资源

流:最佳体验心理学

翻译自: https://hackernoon.com/why-software-testing-is-so-important-yp5932mm

软件测试中什么最重要

软件测试中什么最重要_为什么软件测试如此重要相关推荐

  1. 软件测试中怎么分析性能的好坏,软件测试中性能测试结果分析

    分析原则:51Testing软件测试网At(fnE`6e+|3e\| 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)51Testing软件测试网AIdb1YLb1n e ...

  2. 软件测试工程师自我介绍范文_高级软件测试工程师自我介绍

    测试工程自我介绍是敲响成功之门的关键,那要如何进行自我介绍呢?下面小编为你带来的内容,希望你们喜欢.关于篇一我是通信工程专业的学生,专业知识扎实,学习能力很强,人际关系很好,已取得三级网络证书及程序员 ...

  3. 软件测试中的需求管理及评审,软件测试需求管理办法

    在项目进行过程中,软件测试需求不是保持不变的,随着项目的进行,项目的"业务需求规格"."软件需求规格"."接口规范"."设计规格& ...

  4. 软件测试中条件覆盖例子,判定覆盖条件覆盖软件测试.ppt

    判定覆盖条件覆盖软件测试 白盒方法 * 路径分析 基路径测试:基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法. 循环测试是一种着重 ...

  5. 软件测试中什么是正交分析法,软件测试中正交法设计测试用例实例分析

    说明:首先分析第一个要素"用户权限",其取值只有2个,即"用户权限"的值只有可能是1或2,这样3和4的取值所在的情况就可以删除,之后在考虑"用户权限& ...

  6. 软件测试中的杀虫剂效应与金字塔模型

                                        软件测试中的杀虫剂效应与金字塔模型 今天包括后面的文章,我们除了聊自动化以外,也来聊一下软件测试中的一些基础知识. 基础知识也非 ...

  7. 软件测试中的白盒测试分析

    伴随着软件测试技术的迅速发展,白盒和黑盒测试在测试行业中运用的越来越多.白盒测试相对于黑盒测试在很多地方是不同的,白盒趋向于对软件结构和代码进行测试,可以设计出测试用例. 可靠的软件白盒测试工程师可以 ...

  8. 软件测试mysql存储过程的用处实例_软件测试中实际应用:MySQL5存储过程编写

    软件测试中实际应用:MySQL5存储过程编写 MySql5.0以后均支持存储过程,最近有空,研究了一把这个. 格式: CREATE PROCEDURE 过程名 ([过程参数[,...]]) [特性 . ...

  9. 软件测试中最复杂的业务_复杂软件开发项目中的有效测试

    软件测试中最复杂的业务 手动还是自动测试? 该软件总是由人创建,经过人测试并且在大多数情况下是由人使用的. 任何负责任的测试人员最糟糕的梦想是错过一个严重的错误. 测试人员尝试仔细检查需求并编写测试用 ...

最新文章

  1. 马斯克不仅承包NASA火箭发射,现在连火箭“摆渡车”都换成特斯拉了
  2. python编写一个软件-使用python制作一个解压缩软件
  3. 免费学python的软件-此贴告诉你:为啥shell脚本人,不建议学python
  4. tableau必知必会之妙用 Lookup 函数同时跨行跨列取数
  5. [Unity优化]overdraw01:不可见遮罩
  6. G - Caesar Cipher Gym - 102798G
  7. 用c语言程序编写电池管理系统,基于Freescale单片机的电池管理系统设计.doc
  8. TOJ 4008 The Leaf Eaters
  9. 数据库JDBCUtil 工具类 增加连接池操作
  10. 实战flex:模拟实现静态知乎首页
  11. PHP中的session分析与使用
  12. QML入门教程(1): Qt Quick与QML介绍
  13. 54张扑克牌,除去两张大小王剩下52张扑克牌。问红桃A和黑桃A同时被一个人拿到的概率是多少?
  14. win7计算机广告更改,win7电脑弹窗广告怎么彻底关闭_win7去除弹窗广告的步骤
  15. monkey命令——压力测试——转载参考01
  16. 如何禁用计算机的服务,怎么关闭掉电脑中的哪些无用服务
  17. 王家卫入股的“导演合伙人制”,会给中国电影制造惊喜吗?
  18. LINUX远程连接关闭后进程退出的解决方案
  19. android sim 卡7816,采用SO7816标准规范的SIM卡读卡器的研究
  20. Python学习笔记(一):编程和Python

热门文章

  1. python 毫秒时间戳转日期
  2. 解决IDEA代码智能提示消失的各类方法
  3. latex三线表_SAST Weekly | 什么?在实验报告中制作SCI级别的三线表?
  4. 【Python】Pandas的创建、查找、修改
  5. 中国大型锻件行业发展格局及前景规划分析报告2022-2028年
  6. Allegro快捷键(env)位置和快捷键设置
  7. Mysql 命令行导出sql文件
  8. 均线颜色怎么区分_怎么看均线,股市均线颜色区分
  9. GitChat · 人工智能 | 用语音和自然语言控制智能家居——实例分享
  10. 【游戏开发问题】Unity打包apk提审应用宝渠道提示【暂不支持APK Signature Scheme v2】的解决办法