需求在变,还要写自动化测试吗?
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
老邓聊开发
扫码关注公众号
扫码阅读
手机扫码阅读
在询问团队为何不编写自动化测试时,通常有两种答案:系统稳定无变化,或系统变化频繁。对于后者,文章讨论了为何即便需求经常变化,编写自动化测试依然有意义。
软件生命周期中的不断变化是开发者的一大顾虑,因为改动可能造成其他问题。自动化测试是当前最佳实践,它能在代码变更时迅速运行所有测试,增加发布的信心。然而,团队常有误解认为需求变化频繁不适合写自动化测试。
这种认识不足主要有三方面原因。首先,对自动化测试的认识不足,错误地将测试与软件实现紧密耦合,导致测试过时。正确的做法是测试软件行为,这一行为的稳定性较高,除非需求改变。
其次,对需求变化的认识不足。实际上,需求变化常是原需求的补充或改进,而非完全废弃,因此原测试用例通常仍然有效,仅需增加新的测试用例。
最后,对测试的认识存在偏差。测试的目的不是证明系统无Bug,而是揭示系统存在的Bug。自动化测试在回归时能够提醒我们问题,而失败的测试可以驱动我们编写满足需求的代码。
Bob大叔提出测试的FIRST原则中的T代表Timely(及时),即在业务代码实现前编写测试。Test First和测试驱动开发(TDD)基于这一原则,利用测试证明特性未实现,并通过编写业务代码满足需求。
老邓聊开发
老邓聊开发
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
老邓聊开发的其他文章
代码Review,Review些什么?如何Review?
从我个人面试经历来看,执行代码Review的公司要比执行了TDD的公司稍微多一点
产品和开发是对头吗?
这两天平安公司产品经理和开发因为变态需求互殴刷屏了(且不论真假,我不大相信)。这里折射一个IT行业的普遍问题
业务模型驱动需求编写
王大锤老师在上BA课的时候,经常会用一个俄罗斯方块的例子:请描述俄罗斯方块旋转的逻辑。由于俄罗斯方块有好几种
软件项目中几大幻觉
幻觉一:需求分析完成了产品辛辛苦苦花了很长时间对用户需求进行分析,画了原型图、出了PRD文档,长出一口气,总
成本效率还是业务响应
在一次敏捷的活动中,有个小伙伴提了一个问题想让大家帮他参考:为什么他的团队里都不愿意听他的。经过详细
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线