全程软件测试实践:从需求到运营(2)

发表于:2013-12-27来源:InfoQ作者:李乐点击数: 标签:实践
作为测试人员的主要实践如下: 功能要点确认 Xmind是一个非常好用的脑图工具,通常在开发人员进行编码前,测试人员会针对需求处理的用户故事,与开

  作为测试人员的主要实践如下:

  功能要点确认

  Xmind是一个非常好用的脑图工具,通常在开发人员进行编码前,测试人员会针对需求处理的用户故事,与开发人员进行确认,修正理解偏差,确保需求理解一致。

  图-5-脑图用例模板

  测试用例设计

  测试人员主要设计测试故事点,使用DSL(Domain Specific language),infoq文章(敏捷测试之借力DSL),对测试用例进行描述,包括三个基本要素:

  Feature、Scenario、Example,补充要素:xmind、Requirement。

  Feature:把测试分类到某个模块,并对这个特性本身的业务目的进行相关描述,带进业 务目标,传递业务知识。

  Scenario:标明这个Feature的测试场景,可以使用文字描述步骤,或者使用xmind脑图

  描述,场景中的数据使用Examples中列出的。

  Example:引出具体的数据表格把用到的数据都展示出来,避免相同步骤因为测试数据 的变化而重复若干遍造成冗余。

  Xmind:脑图文件,展示测试故事点

  Requirement:关联需求管理系统的需求id。

  用例评审

  主要是坚持同行评审的原则,主要在测试组内进行,负责该任务的开发人员也会参与,简单来说就是对测试用例进行查漏补缺的工作。

  测试探索

  进行了“功能要点确认”和“用例评审”后,为了保证测试场景的覆盖率,需要再进行测试探索。在开发人员完成雏形之后,使用探索式测试的策略,对功能基本流程进行有目的的快速走查,挖掘功能不确定的地方和补充测试场景,避免不确定的因素拖延到开发阶段后期,造成返工。

  其中:功能测试、Bug Tracking、回归测试、系统测试、验收测试都是日常测试工作所需环节。

  燃尽图发布

  另外,测试人员还有一项重要工作,每日发布燃尽图,让团队了解当前进度情况,总结问题

  所在,寻求耗时超过预期时间任务的解决办法。

  图-6-燃尽图

  图形特点:

  1)剩余工时在计划基准上方,代表进度有所延迟,应抓紧进度;

  发现此类问题,需要分析总结,原则是保证交付时间,对相应任务进行调整,拥抱变化,发现任务粒度太大,该拆分的继续拆分;对于重构需要慎重,不要过度深入重构,给测试带来额外工作量,影响整个进度,对于整个版本而言,只有开发、测试在承诺的时间内完成任务,才是真正完成,仅仅开发完成交付算不上成功。

  2)剩余工时在计划基准接近,代表进展良好,继续保持;

  此时也需要查看在这种进度下,优先级高的任务是否得到时间保证,而不是因为处理完简单任务才使得燃尽图长的好看。往往有些开发人员,喜欢挑着任务来做,把简单易做、优先级的任务先完成了,因为这些总在预期内能够完成,所以前期燃尽图的趋势看起来没有问题。

  缺陷经验库

  每个团队都存在开发/测试新人和开发/测试老人,当测试人员与开发新人进行需求确认的时候,还需要进行缺陷经验教训的提醒,避免多走弯路。

  (点击图像放大)

  图-7-缺陷总结

  提升开发自测质量

  测试人员可以提供相关checklist(大家可以根据原作者提供的修改为符合团队的)帮助开发人员在编码过程中关注开发自测的要点,从而提升质量。

  (点击图像放大)

  图-8-web软件测试checklist

  持续集成

  利用持续集成(Jenkins)平台,做到快速的构建开发代码,自动的单元测试化,来提高开发代码的效率和质量。

  负责单元测试的开发人员,会收到失败构建的邮件;

  负责集成测试的开发人员,会收到失败构建的邮件;

  负责自动化测试(Selenium)的测试负责人员,会收到失败构建的邮件;

  这种方式,确保单元测试、集成测试、自动化测试,有相关人员关注和维护。

  (点击图像放大)

  图-9-持续集成

  Sonar反馈

  Sonar is an open platform to manage code quality. As such, it covers the 7 axes of code quality。

  (点击图像放大)

  图-10-sonar分析结果

  测试人员主要反馈问题如下:

  Code coverage:团队要求代码覆盖率在80%以上;

  Test success:团队要求测试成功率在100%;

  Duplications:团队要求代码重复率在10%以下;

  Violations:团队要求Major类别的代码规则缺陷在20以下;

  开发团队必须保证每个环境的质量目标,才能够保证整个的质量目标。

  小结:

  测试人员与开发人员永远不是敌对关系,而是协助关系,确切来说是质量天枰的两边,任何一边的工作没有做好,都会失去平衡。

  4 发布阶段测试

  在发布阶段,开发人员、测试人员、QA人员主要做的事情,如下表所示:

阶段

开发人员

测试人员

QA人员

发布阶段

  • 上线申请
  • 上线部署
  • 服务监控
  • 测试报告
  • 线上功能检查
  • 管理评审活动
  • 管理文档产物

原文转自:http://www.infoq.com/cn/articles/whole-software-testing-practice-requirements-to-operational