软件测试 -- 进阶 5 软件测试用例

Posted Rolei_zl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试 -- 进阶 5 软件测试用例相关的知识,希望对你有一定的参考价值。

    及之而后知,履之而后艰,乌有不行而能知者乎?。-- 魏源
    释译:实际接触之后才知道真相,新自做了之后才知道困难,哪有不实践就能够知道的呢?

    需求 -> 分析 -> 设计 -> 策略,理论是实践的基础,思想是实践的指导,理论与思想指导实践。
    如何将理论与思想应用于实践,做就好了;遇到问题,使用理论、勤于思想,解决了问题,技能自然提高。
    Just Do it !做就好了。

1. 测试用例是什么?

  • 测试用例,Test Case
  • 为验证软件某个特定项(功能/非功能),而设计的一系列配置、输入、环境及预期结果,用于验证软件实现对需求的满足度
  • 软件需求、设计细化
  • 测试用例是测试执行步骤的细节描述,目的是验证软件需求的达成度,是软件分析、设计(方法/技术)及策略(方式)的具体体现

2. 测试用例做什么?

  • 软件测试分析、设计、策略所形成的方式、方法实例化

    - 覆盖软件需求
    - 模拟应用场景
    - 指导软件执行
    - 保障软件质量
  • 记录软件测试内容变更,控制软件测试版本
  • 分配软件测试任务,确认执行结果,评估软件质量

3. 测试用例组成要素

  • 基本要素
用例要素说明
用例编号 
功能模块/流程测试对象/功能项
测试项测试对象/功能项细化,分级描述,如1,1-1,1-1-1……
测试点特定的验证/测试目的
关联模块数据流入、流出模块,接口或设计用模块,Driver/Stub
测试环境/前置条件特殊要求/准备
测试数据动作 -> 数据 -> 对象
操作步骤每个步骤只完成一个操作
预期结果 
设计人 
设计时间 
更新人 
更新时间 
更新原因 
  • 补充要素 -- 建议项,作为软件测试用例公共项描述
补充要素说明
项目/软件 应用系统名称
系统背景应用环境/行业/基本规范
系统版本测试对象版本
测试类型单元/功能/集成/系统/性能……易用性/UI/链接/安全......
测试目的 
测试环境操作系统/服务器/数据库/客户端/三方软件或插件/网络……
特殊说明所需特定软件版本、权限(用户名、密码)……
测试参考测试所需参考文件、资产库目录……

4. 测试用例设计原则

  • 覆盖,价值最大化,目标 100%

    - 软件需求定义
    - 系统设计业务
    - 实际应用场景

    - 业务主场景(主流程) + 分支场景(分支流程)
    - 正常操作 + 异常操作(系统能正常结束吗?能正常处理吗?足够健壮吗?安全吗?)
  • 清晰

    - 目标明确:测试类型,测试对象,测试策略
    - 每次只针一个测试点进行用例设计(特别是性能测试)
    - 验证标准可操作、有指导性:具体数据 或 准确描述
    - 预期结果的“好、正常”之类的描述,不能准确指导测试执行者,可以考虑使用图片 或 手绘示意进行说明或指明参考
  • 简洁

    - 动作 -> 数据 -> 验证对象
    - 陈述句:步骤 + 预期结果
    - 被动句:以测试对象为主语,避免使用具体人称,保持客观
    - 一般现在时,客观(尽量不使用形容词或副词)
  • 主次

    - 识别主流程 和 分支流程
    - 区分正常场景 和 异常场景
    - 适用不同测试类型 和 测试策略(冒烟测试、验收测试、健壮性测试)
  • 改进

    - 需求、设计、实现变更,及时更新测试用例
    - 对业务理解深入,调整(增加/删减)测试用例
    - 每轮测试结束后,依据实际执行调整(增加/删减)测试用例(数据/描述)
    - 测试结束后,更新测试用例模版,方便后续使用;提取公共测试用例,提升测试设计和执行效率
    - 梳理测试类型、测试工具,精简测试用例,提高测试用例复用率

5. 测试用例管理基础

    说明:
        - 目标:提高测试用例设计、更新、分配、执行、查询、统计分析的效率
        - 过程中的当前数据 及 历史数据对测试过程是极其重要的,是质量评估和工作效率评价的基础
        - 建议使用工具(系统)进行管理,当然EXCEL是不错的选择(大型系统,需要注意操作性能、查询统计功能)
        - 软件过程管理工具中会有对测试用例管理的小模块(或是通过某种变化完成对测试用例设计及执行的管理),功能完备度一般
        - ClearCase(IBM),JIRA(缺陷管理,通过第3方插件扩展可以实现用例管理),TestLink(开源,php
        - 测试用例设计/更新版本记录、执行任务分配,正在寻找更适合的工具(也在自我实现中)

  • 测试公共项描述
  • 测试用例设计 / 评审(review)/ 版本更新

    - 基本要素 + 补充要素
    - 更新人
    - 更新时间
    - 更新原因
    - 用例状态(在用/弃用)
    - 版本更新记录 -- 查询 / 对比测试用例更新原因
  • 测试用例任务分配

    - 执行版本
    - 分配人
    - 执行人
    - 分配时间
    - 计划完成时间
  • 测试用例执行

    - 执行人
    - 执行时间
    - 执行备注
    - 提交缺陷链接
    - 回归执行(问题验证)记录
  • 测试用例分析/总结 -- 配合缺陷分析

    - 需求项(需求列表)-> 测试用例设计数 -> 测试用例执行数 -> 测试用例通过数
    - 用例类型(功能、易用性、UI)
    - 展示方式:表、图 + 简要说明 + 质量说明(测试系统)

6. 再多一点

  • 测试用例大纲

    - 测试用例大纲:测试对象 -> 测试项 + 子测试项1 + 。。。子测试项2 -> 测试点
    - 测试用例大纲是测试策略、测试用例设计的目录化(测试用例模版前4列,参考 基本要素)
    - 明确测试用例逻辑,指导测试用例设计
      * 明确测试对象、测试项
      * 分级测试项、细化测试点
    - 保障测试需求覆盖,对应验收测试确认

以上是关于软件测试 -- 进阶 5 软件测试用例的主要内容,如果未能解决你的问题,请参考以下文章

python利用unittest测试框架组织测试用例的5种方法

软件测试基本知识

测试执行和软件缺陷

5-Postman批量执行测试用例

面试测试开发工程师:用例篇

测试用例基本概念