前端单元测试
2025-10-27 15:55:46

我寻思单元测试的必要性!能实现什么价值?怎么评估两种常见开发模式?

瀑布开发跟敏捷开发

那么他们有什么区别呢?为什么提到它?🤔

瀑布模型

在传统的瀑布流开发模式中,通常要经历以下几个阶段:

1
分析 -> 设计 -> 开发 -> 测试

可以发现其工作流程是线性的,它将项目划分成一系列严格的阶段,每个阶段要审查验证完前一个阶段才会开始下一个阶段!这种模式有一个很大的缺陷,如果需求经常变动,或者交付完之后发现市场需求又有了变化,往往又要从新开始。

优点:流程清晰、易于管理,适合需求明确、技术成熟的产品。

缺点:灵活性差,如果后期需求变更或设计有问题,修改成本高昂;且客户往往需要在项目后期才能看到实际产品。

强调前期详细的文档和规划

敏捷开发

这是迭代的、基于团队的开发方法!将项目开发划分为多个小的迭代周期,每个迭代周期内,团队专注于完成一部分功能并交付可工作的的软件原型。通过持续的反馈以确保项目按照预期的方向去前进,且能够及时调整开发方向以满足变化的需求。

1
2
3
4
5
6
7
8
迭代周期一:
需求 -> loop(设计 -> 开发 -> 测试) -> 发布

迭代周期二:
需求 -> loop(设计 -> 开发 -> 测试) -> 发布

迭代周期三:
需求 -> loop(设计 -> 开发 -> 测试) -> 发布

项目团队和客户可以通过每个 loop 种对产品进行审查和评估,这样当我们产生变化的时候,我们推翻的工作量也是少量的,可以很快的去完成新的需求变更。通过这样的不断地变更、重构,我们可以获得一个相对客户满意的产品。

优点:快速适应需求变化,客户能在早期持续看到产品降低风险,在需求变化时团队能够迅速做出调整而无需改变项目计划。

缺点:对团队协作要求高,项目范围与成本难以预测,不适合需要大量前期设计的复杂系统

强调客户的反馈、可工作的软件

Reference

维基百科-瀑布模型

维基百科-敏捷开发

瀑布式开发和敏捷开发的区别

Prev
2025-10-27 15:55:46
Next