敏捷宣言:

  1. “个体和交互”胜过“过程和工具”

  2. “可以工作的软件”胜过“面面俱到的文档”

  3. “客户合作”胜过“合同谈判”

  4. “响应变化”胜过“遵循计划”

敏捷测试是遵循“敏捷宣言”的一种测试行为,强调从客户的角度来测试系统;重点关注持续迭代的测试新开发的功能,不再强调传统测试的严格测试阶段和过程;提倡尽早测试,测试走在前面,一旦系统某个层面可测,便开始测试,随着测试深入,通过持续回归测试保证之前测试功能的完整性。敏捷测试是适应敏捷方法而采用的新的测试流程,方法和实践,对传统的测试流程有所裁剪,有不同的侧重,例如减少测试计划,测试用例设计等工作的比重,增加与产品设计人员,开发人员的交流和协作。简单而言,敏捷测试是持续地对软件质量问题及时地反馈。

与传统的测试比较,敏捷测试具有如下特点

  1. 测试贯穿整个开发过程,尽量把测试工作在编码之前或编码过程中完成。

  2. 注重测试的重要性,关注白盒测试,自动化测试,对单元测试更加细致。

  3. 需要更少的文档,并且不严格依赖于文档。

  4. 敏捷开发的最大优点是高度迭代,有周期性,并且能够及时,持续的响应客户的频繁反馈。

  5. 由于敏捷测试是开发和测试同步进行,因此具有更充裕的测试时间。

  6. 敏捷测试就是持续测试,持续反馈,扮演“用户代表”角色,确保产品满足用户的需求。

  7. 敏捷功能测试=新特性的手工测试(Use Case验证和谈索性测试)+原有功能的自动化测试(回归测试)。

  8. 敏捷测试人员和开发人员的区别越来越小,理想情况下,敏捷方法中,测试人员和开发人员在不同的迭代周期可以互换。

  9. 敏捷测试流程依据不同团队的特点,不同产品的特点而不同,因地制宜,遵循“适合才是最好”的原则。

敏捷测试的任务

  1. 为系统建立不同层次的质量验收准则。

  2. 让开发人员随时可以得到关于代码质量的反馈。

  3. 通过测试驱动开发等方式,不断提高代码质量。

  4. 建立合适的自动化测试框架,已减少测试的时间投入。

  5. 建立可见的质量度量体系,让产品和代码质量反馈持续可见。