zoukankan      html  css  js  c++  java
  • 测试策略VS测试计划、测试方案

    日常测试工作中,或多或少有听说过测试策略的术语,一开始所理解的概念比较模糊,很容易和测试计划、测试方案混淆,但这个东东实实在在的贯穿在测试过程中不可忽略。鉴于此,对实际工作的相关场景作一些简单的梳理和总结,以作参考,不完善之处后续再作优化。

    一、测试计划

    测试计划:是对测试全过程的组织、资源、原则等进行规定和约束,并制定测试全过程各个阶段的任务以及时间进度安排,并提出对各项任务的评估、风险分析和管理需求。简言之,测试计划是从管理角度对整个测试活动进行规划和控制。

    制定测试计划所包含的内容,主要有:
    1.概述
    项目背景、测试范围(所需测试的特性)、参考文档(需求文档、会议记录、同类项目的参考说明)
    2.组织形式
    测试涉及人员及其职责的划分
    3.测试范围
    确定被测特性有哪些,然后按照功能性、非功能性的分类,对系统模块&子模块进行划分,重要级别的设置
    4.测试通过与否的标准
    根据对测试系统的预判,与项目经理协商并由其确认来定义项目通过&不通过的准则(如:测试覆盖率、缺陷修复率...)
    5.测试挂起&恢复条件
    1)测试挂起:考虑测试过程中发生一些内外部问题致使测试受阻,用例无法执行的情形,由项目经理确认
    2)测试恢复:导致阻塞的问题确认已被修复后,由项目经理确认恢复测试
    6.测试进度人力分布计划
    计划编制原则:
    1)尽量准确预估整个测试活动所需的人力和持续时间
    2)讲一个阶段分成若干个能进行有效监控的小阶段
    3)计划结构和进度须清晰明了,便于阅览、检查
    4)结构包括:任务、负责人、检查人、时间进度条

    二、测试方案

    测试方案:是描述被测对象需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。简言之,测试方案是从技术角度对整个测试活动进行规划和控制。

    制定测试方案所包含的内容,主要有:
    1.概述
    描述软件项目的背景(如:项目名称、项目时间、项目目的)、测试范围、参考文档
    2.测试环境
    1)软硬件环境
    硬件设备:电脑配置、无线路由器、手机...
    软件设备:应用服务器、数据库服务器-型号&版本
    2)网络构成
    测试环境的网络结构、拓扑图
    3)环境搭建
    测试所需的环境搭建步骤、要求、注意事项
    4)测试工具
    所需的测试工具,如:LR、Jmeter、Postman、AppScan、AWVS...
    3.测试策略
    说明此项目将要采取哪些测试手段与方法
    结构包括:功能性/非功能性-系统模块&子模块、测试要点、测试要点说明、测试数据描述、优先级、测试方法、用例设计方法
    4.测试风险评估与预防
    评估项目测试过程中可能存在的风险,设置不同的风险等级,并提前分析相应的预防措施
    结构包括:风险描述、风险等级、风险来源、产生阶段、预防措施、对策责任人


    测试计划提出“做什么”,测试方案明确“如何做”,测试方案需要在测试计划的指导下进行。

    三、测试策略

    测试策略:如何用尽量少的资源来尽量好的完成测试,给测试活动提供技术上的明确指导,以便测试活动的实施者能够很快的开展自己的工作。

    从宏观角度来看,网络上部分文章中的测试策略是站在全局整体的角度上进行考虑,为了增加对测试策略的多层面了解,此时可以作简要总结,如下:
    测试策略:在不同的项目背景下,根据产品需求和指标,分析产品的功能项和业务逻辑,并判断测试的重点和方向,在当前有限的条件下,统筹各方资源、采取合理有效的方法来推动项目的测试活动开展,以最少的软硬件、人力资源投入得到最佳的测试效果,达到符合当前环境的最优决策。

    而从微观角度来看,测试策略可以归属到测试方案中的一个重要组成项,通过采用有效的测试手段与方法,对产品模块&子模块进行划分,明确测试要点,然后按照功能性与非功能性(易用性、兼容性、性能、安全性...)的分类,明确所采用的测试方法(黑盒/白盒/单元/集成/系统/回归/验收...)、用例设计方法(等价类、边界值、流程分析法、),并设置不同的测试优先级,从而指导后面编写测试用例等工作的开展。



    本文来自博客园,作者:ReluStarry,转载请注明原文链接:https://www.cnblogs.com/relustarry/p/14544514.html

  • 相关阅读:
    各种视角了解数组Array以及案例展示
    js基础面试高频面点2:Javascript中undefined和not defined有什么区别,和null又有什么联系?
    一些好用的Linux命令工具
    Linux实用命令工具-dtrx根据需要自动解压
    J2EE--Hibernate基础笔记
    mysql用户与权限管理笔记
    找出字符串中出现频率最少的字符,并将其去除
    Linux常用命令--文件(夹)查找之find命令
    J2EE--Struts2基础开发笔记
    Java多线程基础知识总结笔记
  • 原文地址:https://www.cnblogs.com/relustarry/p/14544514.html
Copyright © 2011-2022 走看看