《软件测试的艺术》精华摘要(八)

上一篇 / 下一篇  2010-12-30 15:50:15 / 个人分类:读书笔记

极限测试

XP模型高度依赖模块的单元和验收测试。总的来说,对每个无论多小的递增的代码变更,都必须进行单元测试,以确保代码库满足其规格说明的要求。

极限测试(XT)需要首先创建单元测试和验收测试,然后才创建代码库。

8.1极限编程基础

    XP采取简单的设计,在开发人员和客户之间建立联系、不断地测试代码库、重构以适应规格说明的变更,以及寻求用户的反馈。

    4概念

1、 聆听客户和其他程序员的谈话

2、 与客户合作,开发应用程序的规格说明和测试用例

3、 结对编码

4、 测试代码库

12实践

1、 计划与需求分析

将市场和业务开发人员集中起来,共同确认每个软件特征的最大商业价值

以使用场景的形式重新编写每个重要的软件特征

程序员估计完成每个使用场景的时间

客户根据估计时间和商业价值选择软件的功能特征

2、 小规模、递增地发布努力添加细微的、实在的、可增值的特性,频繁发布新版本

3、 系统隐喻编程小组确认隐喻,便于建立命名规则和程序流程

4、 简要设计实现最简单的设计,使代码通过单元测试,假设变更即将发生,因此不要在设计上花太多时间,只要不停地实现

5、 连续测试在编写模块之前就生成单元测试用例,模块只有在通过单元测试之后才告完成,程序只有在通过了所有的单元测试和验收测试完成之后才算结束

6、 重构清理和调整代码库,单元测试有助于确保在此过程中不破坏程序的功能,应在任何重构之后重新进行所有的单元测试

7、 结对编程两位程序员协同工作,在同一台机器开发代码库,这样就可以对代码进行实时检查,能极大地提高缺陷的发现率和纠正率

8、 代码的集体所有权所有代码归全体程序员所有,没有哪一个程序员只致力于开发某一个代码库

9、 持续集成每天在变更通过单元测试之后将其集成到代码库中

10、每周40小时工作不允许加班,如果每周都全力工作了40小时,就不需要加班,在重大发布前的一个星期例外

    11、客户在现场开发人员和编程小组可以随时接触客户,这样可以快速、准确地解决问题,使开发过程不至于中断

    12、按标准编码所有的代码看上去必须一致,设计一个系统隐喻有助于满足该原则

    项目特征:

1、 程序员与客户会晤,决定产品需求并建立使用场景

2、 在客户不在场的情况下,程序员进行会晤,将需求分解为独立的任务,并估计完成每项任务所需的时间

3、 程序员向客户提交任务清单和时间估计,并要求客户产生一个功能优先级清单

4、 编程小组依据程序员具备的能力,将任务分配给结对的程序员

5、 每一对程序员依据应用程序的规格说明,对其编程任务生成单元测试用例

6、 每一对程序员完成其任务,旨在编写出通过单元测试的代码库

7、 每一对程序员在所有单元测试通过之前,不断修改和重测他们的代码

8、 所有的结对程序员每天都整合、集成他们的代码库

9、 编程小组发布应用程序的一个预览版本

10、客户进行验收测试,要么确认该应用程序,要么提交一份报告指出存在的缺陷或不足

    11、程序员在验收测试成功的基础上发布一个产品版本

    12、程序员根据最新的经验更新时间估计

8.2、极限测试:概念

    1、极限单元测试

       所有代码模块在编码开始之前必须设计好单元测试用例,在产品发布之前须通过单元测试

    2、验收测试

    3、极限测试的应用


TAG: 实践 XP 概念 极限编程 极限测试 XT 重构 代码库

 

评分:0

我来说两句

日历

« 2024-03-21  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 148115
  • 日志数: 20
  • 建立时间: 2010-11-07
  • 更新时间: 2012-04-01

RSS订阅

Open Toolbar