2018-07-10

2018-07-10  本文已影响0人  cashsong58

在敏捷开发中测试可能遇到的问题

快速验证系统的能力

快速向开发提供反馈的能力

缺少可以依赖的文档

缺乏“足够”的时间

需要更主动地寻求改进

需要更多的自动化测试


敏捷开发中测试的任务

记录和追踪每个迭代需要被验证的任务

在每个迭代中验证迭代产出符合预期

搭建验证环境

记录和追踪缺陷


关注外部质量与内部质量


外部质量与内部质量

外部质量:

用户为之“买单”的质量

功能、性能、安全性等

内部质量:

决定了软件在长期发展中保持高质量的可能性

决定了软件维护的成本

可测试性、可移植性等


敏捷开发中测试的任务

产品迭代测试

验收测试

与客户沟通(确定验收测试准则)

创建自动化测试框架等


敏捷开发各个阶段的测试任务

1.计划阶段:Sprint周期、用户故事、优先级

测试相关任务:

确定Done的标准

确定Sprint的产出

2.执行阶段:设计与开发、完成Backlog条目、使用燃尽图跟踪

测试相关任务:

准备测试环境

验收用户故事

跟踪和管理缺陷

自动化测试

3.演示阶段:演示成果

测试相关任务:

准备演示环境

记录演示反馈

4.回顾阶段:分析本sprint得失

测试相关任务:

测试结果分析


敏捷测试特点:

以生产率为目标

全员测试

密切沟通

采用大规模的自动化测试

建立快速反馈的工具体系

促进内建质量


验收测试

用于确认User Story已经实现

验收测试需要用户认可


测试层次

1.底层测试

2.接口测试

3.系统功能测试

4.UI测试


底层测试

面向代码的测试:

以类和方法为测试对象

主要由开发工程师完成

将底层测试包含在持续集成中

面向代码的测试需要:

关注代码的可测试性

使用合适的工具支持:单元测试工具/持续集成工具


在一个迭代中开展测试:

标准”的软件测试过程

测试需求

获取本迭代的目标(新增功能,变动的内容)

测试计划

“一页纸”测试计划

测试设计

设计验收测试

测试执行

回归测试

对新功能的测试

探索式测试

测试评估总结:复用已有的测试等


测试需求

使用简单管理方式

Excel或是其他一目了然的列表类方法

为每个迭代保留一个独立文档

与每个迭代的Backlog条目关联

维持合理的粒度


测试计划

限定测试计划在“一页纸”的长度

仅列出测试的关键因素

测试范围

验收测试通过准则

简单的时间计划


测试设计

设计验收测试

寻找值得测试的地方

以自动化测试的方式固定已有的测试

发现不便测试的地方并与开发工程师合作

解决测试性不好的地方

建立更好的自动测试框架

使用探索式测试帮助设计测试


测试执行

自动化测试执行

持续集成环境:底层测试,一部分接口测试与系统测试

日构建环境:接口测试,系统测试

冒烟测试:一部分系统测试与一部分接口测试

完全回归测试:所有系统测试用例

非功能类型的测试

手工测试

探索式测试

对新功能的验证

上一篇 下一篇

猜你喜欢

热点阅读