规范的软件测试流程

测试环境搭建原则

搭建前

  • 肯定测试目的数据库

    • 功能测试:不须要大量数据,须要覆盖率高,测试数据要求尽可能真实
    • 性能测试:可能须要大量存量数据,或者与实际硬件环境尽量类似的硬件配置
  • 测试的软件环境尽量模拟真实环境服务器

    • 选用合适的操做系统与软件平台
    • 了解符合测试软件运行的最低要求及用户使用的硬件配置
    • 链接用户经常使用软件,避免发生冲突
    • 产品化的测试须要考虑兼容性的方案
  • 营造独立的测试环境架构

    • 不一样项目,不一样公司会对测试环境的独立性有不一样的要求
    • 测试过程当中尽可能保证测试环境独立,不会受到其余测试人员以及项目研发人员的影响
  • 构建可复用的测试环境微服务

    • 经过备份或者数据隔离的方式
    • 重复运用一套测试环境进行多版本多时间段的测试

搭建测试环境过程分析

  • 环境搭建模式工具

    • 线下搭建:公司本地内性能

      • 独立测试服务器或者虚拟机
      • 测试环境配置(以 Java 为例)测试

        • 配置Java环境(下载 jdk 并配置环境变量)
        • 下载并安装中间件(Tomcat, jetty 及其余)
        • 安装数据库并导入初始化脚本
      • 测试项目导入
    • Docker 模式:构建属于本身 image;使用时一键 deploy 便可
    • 依赖第三方平台

环境建设思路

考虑点:用途,使用成本,维护成本spa

基础架构操作系统

  • 研发环境:用于研发自测,集成测试
  • 测试环境:用于平常单系统或两两微服务之间测试,可同时集成自动化测试回归
  • 联测环境:完备环境,用于大型联测
  • 外联环境:稳定版本环境,用于外部商户联调
  • 灰度/沙箱环境:用于生产数据测试,仿真测试

测试过程

最终输出:测试计划,测试用例,缺陷跟踪记录

过程划分:设计

在逻辑上,测试活动是按顺序进行的

在实际测试过程当中,是能够重叠或者同时进行的

测试策划

  1. 进行测试需求的分析
  2. 肯定须要测试的内容或质量特征
  3. 明确测试的充分性要求
  4. 提出测试的基本方法

测试策划的过程

  • 肯定测试的资源和技术需求
  • 进行风险分析和评估
  • 根据上述分析结果制定测试计划
  • 根据测试计划开展相应的测试控制活动

需求测试

好处

  • 测试工程师参与需求分析,对需求了解深入,减小与开发人员的交互
  • 早期肯定测试用例的编写思路,为测试打好基础
  • 能够获取易测的测试数据,为测试用例设计提供帮助
  • 能够发现需求不合理的地方,下降测试成本

做用

  • 明确测试对象以及测试工做的范围和做用,并做为测试覆盖的基础
  • 被肯定的测试需求项必须是可核实的,测试需求必须有一个可观察、可评测的结果
  • 没法核实的需求,就不是测试需求
  • 包括与客户的交流,用以澄清某些混淆
  • 明确哪些需求更重要
  • 确保风险承担者尽早地对项目达成共识
  • 对未来产品有一个清晰的认识
  • 能够做为制定测试计划的基本依据
  • 为设计测试用例提供指导,能有效设计用例

需求验证

审查需求文档

  • 对需求文档及相关模型进行仔细检查
  • 在需求开发期间作非正式的评审

以需求依据编写测试用例

  • 编写简单用户手册
  • 起草简单易懂的用户手册,用以描述出全部用户可见的功能,并用它做为需求规格说明的参考,并辅助需求分析

肯定合格标准

  • 让用户描述什么样的产品才算知足他们的要求和适合他们使用
  • 将确认合格的测试创建在使用场景描述或使用实例的基础之上

测试策略

定义:是描述测试项目和测试任务之间的关系,用来讲明要测什么,如何测,如何协调测试资源与测试时间等

测试策略是否高效,会对测试项目的进度产生很大的影响

侧重需求分析,评估风险,定义测试范围

  • 肯定测试方法,指定测试启动、中止、完成标准和条件

测试策略的要素(属于测试计划的一部分):

  1. 测试安排,发布计划:里程碑;明确的结束时间;规划优先级,保证核心功能
  2. 测试范围:按优先级分类
  3. 测试资源:分为人力和工具两部分
  4. 测试环境:包括推荐环境解决方案,操做系统要求,软硬件要求
  5. 测试方法:功能测试
  6. 用例设计方法
  7. 文档管理:包括安装,升级文档,用户指南;须要完整测试才能发布文档
  8. 风险管理:来自技术,资源或者其余方面
  9. 上线跟踪验证

测试计划

制定项目测试过程当中的测试重点

  • 各阶段的任务以及时间进度安排
  • 提出各项任务的风险评估与分析,能够包括测试策略

测试计划 = 测试策略 + 测试任务分配 + 时间进度安排

测试方案

侧重测试的方法,测试环境的规划

  • 包括测试工具的设计和选择,测试用例的设计方法,测试代码的设计方案

测试方案 = 测试计划 + 用例设计方案 + 工具选择 + 自动化/性能测试具体方案

测试方案评审

忽略测试方案评审会致使的问题

  • 仅从文档、沟通获取信息,会形成信息不对称,认识片面,理解错误或不深刻等问题
  • 缺乏同行交叉评审和开发评审机制,没法充分发挥集体智慧,我的的思惟难以突破,可能会出现测试遗漏的状况

目的

  • 呈现测试的工做
  • 与开发达成共识
  • 不一样的思惟方式碰撞出火花,借鉴别人的思考方式
  • 培养团队协做的能力
  • 发挥团队协做,最大限度发挥我的的经验,特长,实现技能互补

评审重点

  • 采用的测试方法
  • 等价类划分的依据
  • 测试数据的选取和准备方法
  • 流程测试的路径选择
  • 数据比对选取的对象和数据检查点
  • 是否须要模拟数据及模拟数据的方法
  • 基于风险的测试取舍
相关文章
相关标签/搜索