软件测试中什么最重要
这不是关于勤奋。 这是因为我们忘记了所知道的。
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
软件测试中什么最重要
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92065 人正在系统学习中 相关资源:番茄助手2017破解版_vs2017番茄助手-C++工具类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!