前端单元测试
2025-10-27 15:55:46
我寻思单元测试的必要性!能实现什么价值?怎么评估两种常见开发模式?
瀑布开发跟敏捷开发
那么他们有什么区别呢?为什么提到它?🤔
瀑布模型
在传统的瀑布流开发模式中,通常要经历以下几个阶段:
1 | 分析 -> 设计 -> 开发 -> 测试 |
可以发现其工作流程是线性的,它将项目划分成一系列严格的阶段,每个阶段要审查验证完前一个阶段才会开始下一个阶段!这种模式有一个很大的缺陷,如果需求经常变动,或者交付完之后发现市场需求又有了变化,往往又要从新开始。
优点:流程清晰、易于管理,适合需求明确、技术成熟的产品。
缺点:灵活性差,如果后期需求变更或设计有问题,修改成本高昂;且客户往往需要在项目后期才能看到实际产品。
强调前期详细的文档和规划
敏捷开发
这是迭代的、基于团队的开发方法!将项目开发划分为多个小的迭代周期,每个迭代周期内,团队专注于完成一部分功能并交付可工作的的软件原型。通过持续的反馈以确保项目按照预期的方向去前进,且能够及时调整开发方向以满足变化的需求。
1 | 迭代周期一: |
项目团队和客户可以通过每个 loop 种对产品进行审查和评估,这样当我们产生变化的时候,我们推翻的工作量也是少量的,可以很快的去完成新的需求变更。通过这样的不断地变更、重构,我们可以获得一个相对客户满意的产品。
优点:快速适应需求变化,客户能在早期持续看到产品降低风险,在需求变化时团队能够迅速做出调整而无需改变项目计划。
缺点:对团队协作要求高,项目范围与成本难以预测,不适合需要大量前期设计的复杂系统
强调客户的反馈、可工作的软件