29 | 如何在 iOS 中进行面向测试驱动开发和面向行为驱动开发?
戴铭
该思维导图由 AI 生成,仅供参考
你好,我是戴铭。今天,我要和你分享的话题是,如何在 iOS 中进行面向测试驱动开发和面向行为驱动开发。
每当你编写完代码后,都会编译看看运行结果是否符合预期。如果这段代码的影响范围小,你很容易就能看出结果是否符合预期,而如果验证的结果是不符合预期,那么你就会检查刚才编写的代码是否有问题。
但是,如果这段代码的影响范围比较大,这时需要检查的地方就会非常多,相应地,人工检查的时间成本也会非常大。特别是团队成员多、工程代码量大时,判断这段代码的影响面都需要耗费很多时间。那么,每次编写完代码,先判断它的影响面,然后再手动编译进行检查的开发方式,效率就非常低了,会浪费大量时间。
虽说一般公司都会有专门的测试团队对产品进行大量测试,但是如果不能在开发阶段及时发现问题,当各团队代码集成到一起,把所有问题都堆积到测试阶段去发现、解决,就会浪费大量的沟通时间,不光是开发同学和测试同学之间的沟通时间,还有开发团队之间的沟通时间也会呈指数级增加。
那么,有没有什么好的开发方式,能够提高在编写代码后及时检验结果的效率呢?
所谓好的开发方式,就是开发、测试同步进行,尽早发现问题。从测试范围和开发模式的角度,我们还可以把这种开发模式细分出更多类型。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
iOS开发中的TDD和BDD开发方式能够帮助开发者更快地发现问题,提高代码质量和开发效率。TDD注重快速迭代,先编写测试用例再编写功能实现代码;而BDD更关注行为方式的设计,通过描述行为来验证功能的可用性。在iOS开发中,Kiwi框架是一个优秀的BDD框架。这两种开发方式有助于模块化设计、代码维护和优化,以及提高代码的可读性。在团队中推行TDD和BDD的最大困难是业务迭代太快时,没有时间去写测试用例。建议优先对基础能力的功能开发使用TDD和BDD,保证基础能力的稳定,再考虑在核心业务上采用BDD。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《iOS 开发高手课》,新⼈⾸单¥59
《iOS 开发高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(12)
- 最新
- 精选
- xilie看到这个 “正在手淘推动BDD😄” 就放心了,原来大家都不做单元测试的哈2019-05-2917
- Trust me ҉҉҉҉҉҉҉❀正在手淘推动BDD😄2019-05-16315
- 故胤道长戴老师讲得非常全面。我个人认为TDD最大的问题是只关注单个功能的正确性,却无法保证设计上的性能。从整体设计角度来看TDD并没有促进作用。2020-02-287
- 小万叔叔没有采用TDD或BDD的原因: 一来很多业务迭代的比较快,没有时间是一个原因。 二来,能够TDD是建立在编写TDD的场景足够,也就是能模拟细粒度模块的外围环境,对于小项目而言想要的往往就是快速出产品,一开始就关注细粒度模块化的很少,对于大项目,受历史原因业务之间的强耦合导致很难去构建Mock场景。 挺赞同从基础模块和对外的 SDK 结合业务的发展去编写TDD可能更合适。2019-05-167
- 赶紧学起来大都不用TDD/BDD,觉得原因有三 1、 流程不够规范 2、迭代快时间紧 3、开发完给测试2019-05-284
- 不知名的iOS网友课程一些笔记:https://github.com/CrusherWu/iOSRoadMap2019-05-164
- 时间都去哪了TDD,OC有什么好用的推荐框架吗?2019-05-1613
- 文培定一直在小公司待,发现我这TDD都是相反的,一般都是先开发,后写测试用例。而对于BDD,一般涉及到纯逻辑的东西,例如某种算法的实现,才会去写测试code,因为有时候也不确定自己的算法是否写对了。2021-05-201
- Geek感觉内容高大上,和我们小公司不沾边,不过作为了解内容,还是不错的,感谢大神2019-05-271
- 程序员讲道理无论是 TDD、TDD,测试逻辑还是有办法可以做,但是可能需要做好分层,mock数据啥的。但是测试视图目前比较困难,比较好的实践就是 FB 的 iOSSnapshotTest2022-04-10
收起评论