如何做好一个story的测试工作

121 阅读6分钟

前言

是什么

测试用例,就是为了验证某个需求是否实现、是否存在缺陷,在测试执行之前设计的一套详细的测试方案。测试用例通常由测试标题、前置条件、测试数据、测试步骤、预期结果等组成。

为什么

  1. 保证测试过程中,测试点覆盖全面
  • 体现QA了解需求的过程
  • 帮助QA理清测试思路及测试过程
  • 规划测试数据的准备
  • 记录测试所覆盖的测试内容,同时反应测试进度
  • 为后续的测试提供可参考的依据
  1. 对测试而言,工作的积累和沉淀,以及质量保证的依据;
  2. 对后续的工作,包括持续的功能迭代,或者后面的技术重构,功能重构,都是起到很好的辅助和参考,或者说是依据
  3. 开发自测的依据

测试用例编写

测试用例设计.png

用例输出依赖:

需求文档

  • 设计稿
  • 模块经验
  • 测试人员经验

用例输出:

  • 整体UI考量:需要明确列出需要覆盖的浏览器和对应的功能列表
  • 业务逻辑:
  1. 根据需求和设计稿,划分用例单元(最终映射到页面的每个元素),细化
    • 罗列页面元素点
    • 考量该元素的数据输入、展示、以及数据输出。数据存储牵涉到表的,需要了解表结构和操作对表数据的影响
    • 考量需求和设计稿对该元素的要求
    • 用例设计方法规划case的框架和数量:等价类、边界值、错误推测等
    • 探索用例:各类场景,用户用法,‘‘奇思妙想’’
  2. 数据流
    • 定义各类数据输入,以及可能影响的功能列表
    • 定于各类型数据输出对其它模块的影响

测试用例编写

  • 标题:清晰的将测试的主体描述出来。例如:

    1. 校验勾选‘一周内自动登录’,一周内不会登出✅

    2. 一周内自动登录 ✖

  • 前置条件:如果用例依赖数据,将数据一并写如前置条件中。

  • 步骤:

    • 能正常执行的主要步骤。(能让他人可以顺利执行的步骤,不需要具体到登录登出类似的步骤)

    • 避免将逻辑直接写入步骤中。(例如语言显示逻辑,很多用例都会提到,但是没有具体用例。)

    • 步骤中如包含网站术语,请加以区分。(例如,点击 ‘登录’ )

  • 预期:要明确,避免出现 ‘显示正确’,‘值正确’ ,‘参数正确’之类的模糊预期。

  • 用例类型:功能测试,接口测试。

  • 优先级:

    • 1级用例: 界面基本展示;服务/数据正确;涉及到环境配置的功能;重要的纯前端的交互功能;
    • 2级用例: 最常执行以保证功能性是稳定的,目标的行为和能力可以正常的工作,和重要的错误和边界被测试的测试用例的集合。
    • 3级用例: 这是使给出的功能区域或功能变得更详细,检查功能的多数方面包括边界,错误和配置测试的测试用例 。 例如,数值或数组的边界情况、特殊字符、字符串超长、与外部交互消息失败、消息超时、事物完整性测试、可靠性测试等。
    • 4级用例: 这是通常最少被执行的测试用例。但这并不意味着这些测试都不重要,只是说他们在项目的生命期间里不是常常被运行。 例如GUI,错误信息,可用性,压力和性能测试。还包括一些较为生僻的预置条件和数据设置。
  • 备注:如有必要贴图,可将图贴在备注中。

各个优先级的测试用例使用场景:

  • 线上CN/US冒烟测试 :执行1级用例。
  • Release环境冒烟测试:涉及更新模块执行1,2级用例。其他执行1级用例。
  • QA环境回归测试 :涉及更新模块执行1,2,3级用例。其他执行1,2级用例。
  • story评估的测试用例:评估1-3级用例
  • story执行测试用例:执行1-4级用例
  • 开发自测:执行1-2级用例

测试用例设计方法

  • 等价类

    • 完备性:划分的子集合的并集是整个集合;
    • 无冗余性:子集互不相交;
    • 等价性:属于同一等价类的测试数据,映射到”相同的执行路径"。
  • 边界值

  • 场景设计法

  • 判定表

  • 因果图

  • 正交法

  • 错误猜测法

如何做好一个story的测试工作

  • 需求评审(产品文档,设计稿)

    • 外部评审:测试不是被动的接受,应该和产品、开发一起脑暴,发现设计缺陷、技术风险和隐患、关联方影响等;
    • 内部评审:团队内部对技术方案进行评审、实训,找出关注点、风险点
    • 目的:此阶段是质量的基石,通过测试左移,尽早发现需求设计缺陷、技术方案风险、接口设计缺陷、性能设计缺陷、关联方依赖影响,了解测试关注点,关注可测试性等问题。
  • 功能测试用例设计

    • 业务理解:首先,要对业务有充分的理解,不仅仅是story本身的业务理解,还有和story相关的功能、上下游数据、接口的传参,以及组件化兼容之类;
    • 场景设计:正常场景、异常场景、补偿场景,场景流的每个关键节点都要列出检查项
    • 数据准备:前后端之间、组件之间,如 Mock 数据、老数据兼容的,要提前准备好各种场景的历史数据
  • 接口测试用例设计

  • 测试用例评审

    • 可以更好的完善测试用例,提高测试点和场景的覆盖范围,发现更多的问题,保证质量
    • 同时也是新一轮头脑风暴,可能会发现新的问题,比如需求上的缺陷,或者技术方案需要改动
  • 可能存在的性能评估

    • 前端渲染
    • 后端性能,服务性能
  • 测试执行

    • 问题定位
    • 前后端通信的接口参数,以及后端和其他依赖服务的参数等,这些都能了解透彻
  • 性能测试(包括前端性能,后端服务性能)

  • PM、UI/UX 功能sign off

  • 集成测试(回归测试)

  • 上线冒烟测试,回归测试

  • 脚本定期监控
    目的:此阶段是质量补偿,快速响应和解决,降低生产事故造成的损失。

  • 测试用例归档