需求在变,还要写自动化测试吗?
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
老邓聊开发
扫码关注公众号
扫码阅读
手机扫码阅读
在询问团队为何不编写自动化测试时,通常有两种答案:系统稳定无变化,或系统变化频繁。对于后者,文章讨论了为何即便需求经常变化,编写自动化测试依然有意义。
软件生命周期中的不断变化是开发者的一大顾虑,因为改动可能造成其他问题。自动化测试是当前最佳实践,它能在代码变更时迅速运行所有测试,增加发布的信心。然而,团队常有误解认为需求变化频繁不适合写自动化测试。
这种认识不足主要有三方面原因。首先,对自动化测试的认识不足,错误地将测试与软件实现紧密耦合,导致测试过时。正确的做法是测试软件行为,这一行为的稳定性较高,除非需求改变。
其次,对需求变化的认识不足。实际上,需求变化常是原需求的补充或改进,而非完全废弃,因此原测试用例通常仍然有效,仅需增加新的测试用例。
最后,对测试的认识存在偏差。测试的目的不是证明系统无Bug,而是揭示系统存在的Bug。自动化测试在回归时能够提醒我们问题,而失败的测试可以驱动我们编写满足需求的代码。
Bob大叔提出测试的FIRST原则中的T代表Timely(及时),即在业务代码实现前编写测试。Test First和测试驱动开发(TDD)基于这一原则,利用测试证明特性未实现,并通过编写业务代码满足需求。
老邓聊开发
老邓聊开发
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
老邓聊开发的其他文章
DRY原则下区分重复还是巧合
DRY原则(Don\x26#39;t Repeat Yourself)已经深入人心。重复的代码在不同地方出现,是程序隐患之
测试左移,如何移?
Google曾经公布过一组数据,Bug在不同阶段被发现后修复的成本。从需求、编码、测试、上线,每晚发现一个阶
如何提升代码质量
好的代码都有一些共同的特征,如可读性、较少的方法行数、高内聚低耦合、职责单一。但这只是一个结果,作为一个工程
检查项驱动开发CheckList Drive Development
我找一个木匠订做一个饭桌。几天后,木匠做好了找我验收,我一斧子劈上去,桌子开了个口。我说这测试没通过,你这不
解决产品经理和开发团队撕逼
有个问题很有趣:有一块蛋糕两个人分,如何保证公平?很简单的答案是,让切的人后选。那么,在开发团队中,产品经理
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线