传统开发模式:V模式,瀑布模式,传统开发模式往往循规蹈矩,从需求,概要设计,详细设计,开发,单元测试,集成测试,系统测试,验收测试,上线发布,整个周期往往需要半年到一年,由于周期长,产品在开发过程中会存在需求变化,传统模式不适应需求的变化。为了解决这个问题,当前出现了敏捷模式。
敏捷分为敏捷开发和敏捷测试,特点和特征是:
- 测试驱动开发和行为驱动测试
测试驱动开发是指开发先写单元测试,再写开发的代码,当单元测试跑通的时候,代码开发就完成了
行为驱动测试是通过直接写user story,例如Cucumber框架,说来也很简单,就是在excel里为每个测试用例写好场景对应的步骤,每个步骤又对应有关键字(动作函数), 之后只要对userstory/测试场景 进行补充,就可以扩展一个又一个的测试用例。当然刚开始的函数都需要一个一个去编写实现。
- 小步快跑,拥抱变化
敏捷思想会把一个产品分成多个阶段,每个阶段大约 2~4周, 在这个2~4周里设定的需求是明确的,不接受过大的变化,这样能保证明确的需求的实现和产品的进度, 对下一个周期需求,咱们拥抱变化。
- 不过多强求文档话,强调人与人之间的沟通
不过多强求文档话,不是说拒绝文档,有文档是最好的,但是因为时间原因,不写文档时允许的。
强调人与人之间的沟通,开发测试人员在一个小的空间里(圆桌,没有挡板的办公环境),有问题可进行当面沟通。
- 站会(用小黄贴,展示进度)
每日站会,开发和测试回报进度,把遇到的困难说出来讨论。每个人对项目整理进度也方便了解
- 结对编程
同一段代码由2个人写,一个人写代码,一个人review,或者交换。这个方式是google在用的一种方式
- 持续集成
强调快速构建,快速测试,可以通过持续集成工具jenkins,好处是: 快速发现问题,快速定位问题,节约排查时间成本等。
- 自动化测试
大多数是单元测试
- 重构
因为敏捷开发时,注重的速度,很多代码写的不够好,之后可能需要重写代码,这时,单元测试就特别重要。 单元测试能检验代码重写是否正常。
最后
软件测试交流群,加群qq(**644956177)**群里有技术交流和资源分享。