过去,开发人员不必了解有关测试的知识。
我们会编写一堆代码并将其“扔到墙上” 给一群测试人员,他们会在我们的代码中发现各种错误,我们会修复错误,就是这样。
不再。
有这么多软件项目采用所谓的敏捷过程(我们将在讨论方法时对此进行更多讨论),软件开发人员和测试人员必须 更紧密地合作。
质量确实成为整个团队的责任 -我认为它一直都是。
话虽如此,您需要了解有关测试的知识。
你应该至少熟悉一些基本术语,比如:
白盒测试
黑盒测试
单元测试(不是真正的测试)
边界条件
测试自动化
验收测试
我假设你至少想要成为一名优秀的开发人员 - 在将自己的代码提供给其他人之前测试它们。
如果你真的想成为一名专业人士,而不仅仅是一个黑客,这是不容 谈判的。
调试啊,许多新手软件开发人员将他的梦想砸在调试器的磐石上。
每个人都想写代码,对吗?
但是,没有人想调试他们的代码吗?你听到了吗?
真相时间。
作为一名软件开发人员,您将花费大约90%的时间来确定 您的代码无法运行的原因。
我知道这不富有魅力。我知道你只想整天编写新的代码,但这个世界并没有这样做。
如果你使用测试驱动开发这样的方法,你可能会花很少的时间在调试器上,但无论你做什么,无论你如何尝试和绕过它, 你将不得不学习如何调试你的代码 或别人的。
所以,不要对自己知道的必须做的事情采取随意的方法,你应该 咬紧牙关,学习如何有效地做到这一点。
方法你需要知道的事情清单还有吗?这么吓人!
如果没有,这里还有一个 - 但我保证这是最后一个。
虽然一些软件开发团队刚刚开始编写代码并在完成后完成工作,但 大多数团队都有一些他们至少假装遵循的方法。
(顺便说一下,请注意: 不要指望任何团队真正遵循他们自称使用的软件开发方法。我不是想在这里玩世不恭或指责。我只是一个现实主义者,而我碰巧知道有很多人说他们正在做像Scrum这样的软件开发方法,因为他们每天都会举行会议。)
因此,至少熟悉最常见的软件开发方法背后的一些基本思想至关重要。
今天,我想说这些是 瀑布式开发 和 敏捷开发。
大多数团队都声称他们正在做敏捷。敏捷本身就是一个非常宽松的概念,但是有一些实践,而且,我敢说,如果你想能够谈论谈话,你可以说,并且适合敏捷团队,你应该注意的仪式。
我们将在关于软件开发方法的章节中更深入地讨论这个问题。
书籍和文章推荐:
不堪重负?不要
我知道这是相当多的东西,而且我在这些主题的大部分内容上几乎都没有深入进去。
现在你可能会感到有些不知所措, 并且你不了解这些技术技能的大部分内容。
没关系。您不应该 - 除非您已经是一名职业软件开发人员,在这种情况下,您会感到羞耻!(开个玩笑。我爱你,但 你最好还是从新了解一下上述技能 - 真的。)