TDD测试驱动开发(TDD测试驱动开发步骤)

TDD测试驱动开发(TDD测试驱动开发步骤)以下内容为方便复习而整理的相关博文的笔记 如有侵权请马上联系删除 参考文章来源 1 https blog csdn net u0 article details 参考文章来源 2 https www yuque com u gn7vz8 lg8q42 可以帮助我们 日常开发通常涉及到 业务代码的开发 以及 函数 组件库的开发

大家好,我是讯享网,很高兴认识大家。



以下内容为方便复习而整理的相关博文的笔记,如有侵权请马上联系删除

参考文章来源2:https://www.yuque.com/u/gn7vz8/lg8q42

    

        可以帮助我们。

    日常开发通常涉及到 业务代码的开发 以及 函数、组件库的开发

    针对两方面的自动化测试,在模式和流程上也有各自的要求与侧重。

    这就衍生出了单元测试集成测试两种测试方法,以及TDDBDD的测试开发流程。

    概念

        可以理解为对系统的某个单元进行测试,而这个,对于这种测试形式来说,我们。。

    ,重点关注各个单元串联起来之后的系统整体功能是否正常。。

以上是两种测试方法,但有时测试的细化程度与系统复杂的操作流程难以平衡,这就需要做出取舍,针对不同的开发主体以及业务场景采用不同的 测试+开发 的流程。

● TDD: 测试驱动开发(Test-Driven Development)

    1. 步骤

        1. 先编写测试用例,在测试用例的指导下去完善功能,

        2. 当测试用例编写完并且都通过测试之后,相应的功能也就做完了。

        但通常在代码发生变化的时候,测试用例也要进行相应的调整。

    3. 思想


讯享网

    4. 本质:分离关注点,一次只戴一顶帽子

        需求

        实现

        设计

    5. how

    6. 案例

        火星车

        Element3 Button 测试用例

    7. TDD 测试模型三部曲

        given  准备测试数据

        when  触发测试动作

        then   验证

    8. jest 关键字

        • describe 描述, decribe会形成一个作用域

        • it 断言

        • expect 期望,expect(sum(1, 2)).toBe(3) 的意思是 预计sum(1,2)的值严格等于3。

        • test 测试,类似于 it

●  BDD: 行为驱动开发(Behavior Driven Development)

    测试用例模拟用户的操作行为,通常在完成业务代码开发之后,以用户的操作为指导编写测试代码。

    当测试用例跑通之后,就可以认为系统的整体流程已经流畅。

因为业务的需求有可能变更频繁,但操作流程有可能不会变化,当业务代码发生变化的时候,可以使用原来的测试用例继续跑代码,节省了开发时间。

● 注意

    TDD需要在测试的指导下写代码,关注点稍微偏重于测试。

    使用单元测试结合测试驱动开发的流程,应该逐一梳理功能,。

    针对功能点和组件各自的职责,先写测试代码,然后写业务代码,让业务最后通过测试,完成开发

    同时采用单元测试的方式,要保证所编写的测试用例,只针对组件本身的功能

    TDD由于是先写测试用例再进行开发,所以会保证每个功能的代码都是经过测试的,bug自然就少了很多

    同时在编写测试代码的时候,很自然地要去思考这个功能的代码如何组织,也在一定程度上提高了代码的可维护性。

● 问题(单元测试会保证测试覆盖率非常高,但在业务开发的场景下,带来了几个问题)

    1. ,demo中为了测试功能编写了很多的测试用例,有时单元测试代码甚至会比业务代码多。

    2. ,测试用例中使用了业务中一些模拟的数据,当业务代码变更的时候,要去重新组织测试用例。

    3. ,由于单元测试只关注这一个单元的健康状况,无法保证多个单元组成的整体是否正常。

    以上问题说明,下面就介绍一种适合业务场景的测试方法。

● 注意

    BDD实际上是模拟用户的行为,在业务代码完成后,用测试用例模拟用户的操作行为,,。

    由于是先完成业务代码,再做测试。

● 优点

    通过上面这个demo可以明白集成测试相对于单元测试,更多,假如一个组件本身没有问题,但与其他组件配合的时候出问题了,那整个流程是不会通过测试的

    。而且只要操作流程不会变,那测试用例也基本不用动,。

    自动化测试确实会在一定程度上增加开发的工作量,但经过测试的系统,稳定性的提升会让我们更有信心。

    以上两种开发+自动化测试的组合模式(TDD+单元测试 / BDD+集成测试)可以,希望大家可以针对自己的场景,选择合适的方式来引入自动化测试,无论是对提升系统健壮程度还是深化前端工程化,都非常有帮助。

小讯
上一篇 2025-05-31 18:40
下一篇 2025-05-05 10:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/139194.html