• 软件测试 -- 进阶 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列,参考 基本要素)
      - 明确测试用例逻辑,指导测试用例设计
        * 明确测试对象、测试项
        * 分级测试项、细化测试点
      - 保障测试需求覆盖,对应验收测试确认
  • 相关阅读:
    二十三种设计模式全面解析-深入解析模板方法模式的奇妙世界
    使用C语言和libsocket库编写爬虫程序
    数字孪生在工厂领域的应用和优势
    RabbitMQ快速入门(详解)
    vue3的reactive全家桶---kalrry
    手把手教你在Windows下搭建Vue开发环境
    MySQL的varchar存储原理:InnoDB记录存储结构
    什么是抽象类?什么时候用?什么是接口?抽象类与接口的区别?
    并发编程二 JMM&volatile详解
    Hadoop2.x-基础[HDFS篇](介绍、常用API、I/O操作、工作机制)
  • 原文地址:https://blog.csdn.net/u012841352/article/details/128058655