需求在变,还要写自动化测试吗?
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
老邓聊开发
扫码关注公众号
扫码阅读
手机扫码阅读
在询问团队为何不编写自动化测试时,通常有两种答案:系统稳定无变化,或系统变化频繁。对于后者,文章讨论了为何即便需求经常变化,编写自动化测试依然有意义。
软件生命周期中的不断变化是开发者的一大顾虑,因为改动可能造成其他问题。自动化测试是当前最佳实践,它能在代码变更时迅速运行所有测试,增加发布的信心。然而,团队常有误解认为需求变化频繁不适合写自动化测试。
这种认识不足主要有三方面原因。首先,对自动化测试的认识不足,错误地将测试与软件实现紧密耦合,导致测试过时。正确的做法是测试软件行为,这一行为的稳定性较高,除非需求改变。
其次,对需求变化的认识不足。实际上,需求变化常是原需求的补充或改进,而非完全废弃,因此原测试用例通常仍然有效,仅需增加新的测试用例。
最后,对测试的认识存在偏差。测试的目的不是证明系统无Bug,而是揭示系统存在的Bug。自动化测试在回归时能够提醒我们问题,而失败的测试可以驱动我们编写满足需求的代码。
Bob大叔提出测试的FIRST原则中的T代表Timely(及时),即在业务代码实现前编写测试。Test First和测试驱动开发(TDD)基于这一原则,利用测试证明特性未实现,并通过编写业务代码满足需求。
老邓聊开发
老邓聊开发
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
老邓聊开发的其他文章
九转大肠的组织设计
今天看到微信群里转了一张图片,内容如下:可以看出来作者对多个部门都有洗大肠专员这事儿深恶痛绝,认为是
开放的测试
在大多数公司里面,开发和测试似乎就是天生对头。很多开发和测试也都这么认为,甚至一些公司从制度上就这么设计的。
为什么要单元测试?
今天又和人争论了下什么情况下要单元测试。他的意思是单元测试是锦上添花的,有时间了做一下,没时间了就舍弃,与其
软件开发是设计还是生产?
这个问题就像“谁是我们的朋友,谁是我们的敌人”一样,是这个行业的根本问题。这个问题不能解决,
劝君放弃微服务
最近几年以来,微服务开始大行其道。各种项目都开始采用微服务架构。在此基础上,又诞生了多种服务、框架用来治理
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线