敏捷开发还有以下几个关键概念 (Key Issues):

  1. 迭代过程(Iterative process

  2. 用户故事(User stories

  3. 任务(Tasks)

  4. 站立会议(Stand-up meeting

  5. 持续集成(Continuous integration

  6. 最简方案(Simplest solutions

  7. 重构(Re-factoring

 

测试人员素质要求:

1.编写代码

2.测试分析

3.测试

4.质量控制

 

测试人员的主要职责

在敏捷软件开发中,测试人员的职责有三个主要方面:

  1. 定义质量 (Define Quality):这应该是软件测试人员的基本职责。敏捷方法鼓励测试人员在 Sprint 计划的时候直接与客户交流,从自己的经验出发,共同为产品功能制定质量要求。

  2. 交流缺陷(Communication):敏捷过程强调团队中的交流。开发人员经常会专注于重要而新奇的功能,测试人员应该抓住细节,寻找设计中的“missing door”;另外,开发人员使用单元测试来保证产品的基本质量,测试人员可以使用验收测试(Acceptance Test)来鉴定客户需求与实际成果之间的不一致性。

  3. 及时反馈 (Feedback): 敏捷过程强调简单而高效。测试人员需要及时反馈产品目前的质量问题。这样一来,团队才可以立刻着手解决。如果传统的流程是一周汇总一次状态的话,敏捷流程要求每天汇总质量问题。在我们的项目中,内部的测试报告会以网页的形式显示在内部站点上。每个团队成员能够随时获取。另外,我们的测试框架提供自助测试 (Self-assistant Test):通过点击测试用例列表中的某个具体用例,开发人员不需要中断测试人员的工作就可以重现缺陷。

 

敏捷开发的主要活动测试活动

用户故事设计———>寻找隐藏的假设

发布计划———> 设计概要的验收测试用例

迭代 Sprint———> 估算验收测试时间

编码和单元测试———> 测试框架的搭建

重构———> 详细设计验收测试用例

集成———> 编写验收测试用例

执行验收测试———> 重构验收测试

Sprint 结束———> 执行验收测试

下一个 Sprint 开始———> 执行回归测试,回归之前要做性能测试

发布———> 发布,线上监控