zoukankan      html  css  js  c++  java
  • 持续交付13-自动化验收测试

    自动化验收测试

    验收测试内容

    验收测试:用于验证一个用户故事或需求的验收条件是否被满足.验收测试可以分为:功能性验收测试和非功能性验收测试.
    功能测试:实际应用业务功能相关的测试;
    非功能测试:应用运行相关的容量,性能,可修改性,可用性,安全性,易用性等方面的测试.

    验收测试和单元测试的区别:

    验收测试针对业务;单元测试是针对开发;验收测试是验证应用功能是否是用户想要的;单元测试是验证功能是否开发想要的,这可能与实际用户的想法有出入.

    解决什么问题

    验收测试套件验证应用程序是否交付了用户期望的业务价值;
    防止回归问题或缺陷破坏应用程序原有功能;在线程问题,事件驱动问题,架构问题,环境及配置问题等排查上更便捷;
    减少测试人工操作负担;
    及早发现问题,发布时间流程可控,避免被测试环境延误产品发布;

    怎么做

    验收测试原则:

    1. 创建可维护的验收测试套件.定义验收条件;使用领域语言封装细节;面向接口开发,避免GUI上测试;
      定义验收条件

    2. GUI上的测试.采用窗口驱动模式测试;但是如果采用页面mvc模式,可以直接基于业务层执行测试,避免显示层测试;

    具体验收测试实现:

    1. 创建验收测试
      1. 分析人员和测试人员应该参与到整个项目周期中
      2. 迭代开发项目中的分析工作.每次迭代时需求和测试共同指定验收条件,最后由开发实现这些验收条件
      3. 将验收条件变成可执行的文档.
    2. 创建应用程序驱动层
      1. 使用DSL表述验收条件
      2. 窗口驱动器模式.就是通过抽象层使测试与GUI解耦.
    3. 实现验收测试
      1. 验收测试中的状态.维护一个最小受控数据集用于测试.充分利用数据间隔离性来保证测试互不影响.
      2. 过程边界,封装和测试.只在外部交互时使用桩数据.
      3. 管理异步与超时问题.让事件顺序发生,使测试看起来像是同步的.
      4. 使用测试替身对象.用于模拟外部服务,最小化外部依赖的影响.
    4. 维护验收测试套件
      1. 确保验收测试一直处于通过状态.问题所有团队成员负责,且问题可视化,便于追责和明确职责;
      2. 部署测试.测试环境状态初始化;配置环境验证;筛选可以立即失败的条件,便于快速失败;
    5. 验收测试性能.快速执行便于快速反馈,有利于开发效率的提高
      1. 重构通用任务.找到慢点,进行改造;找到通用模式,在其中找到共用点,添加一些种子数据(可能造成数据不一致).
      2. 共享昂贵资源.降低单独资源准备的消耗
      3. 并行测试.要求测试独立性比较好.
      4. 使用计算网格.多服务器并行执行验收测试.
  • 相关阅读:
    TinyMCE下载及使用
    正则表达式30分钟入门教程
    JQuery插件官网汇总
    析构函数和Dispose的使用区别
    SlidesJS基本使用方法和官方文档解释 【Jquery幻灯片插件 Jquery相册插件】
    SlidesJS基本使用方法和官方文档解释 【Jquery幻灯片插件 Jquery相册插件】
    jQuery .tmpl(), .template()学习
    IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
    前端小技巧
    CKEditor图片上传实现详细步骤(使用Struts 2)
  • 原文地址:https://www.cnblogs.com/chengmuyu/p/13362715.html
Copyright © 2011-2022 走看看