『测试基础』| 如何理解测试用例管理和缺陷管理?

简介: 『测试基础』| 如何理解测试用例管理和缺陷管理?

1 测试用例定义

  • 测试用例(TestCase)为测试对象编制一种测试输入、执行条件和预期结果;
  • 用例可以体现测试方案、方法、技术和策略;
  • 用例的内容一般包含:
# 测试对象名称
# 测试项
# 测试目标
# 测试环境
# 测试输入
# 测试步骤
# 预期结果
# 测试脚本等
  • 平常我们最简化的测试用例至少应该包含测试输入和预期结果。

2 测试用例设计原则

  • 测试用例应覆盖三类事件:
# 1、基本事件:根据需求需要实现所有功能的测试用例,覆盖率达到100%;
# 2、备选事件:程序执行中的备选情况;
# 3、异常事件:程序执行出错处理的路径。
  • 使用等价类划分法实现基本测试用例,将无限测试变成有限测试;
  • 使用边界值发现程序可能出现错误的边界问题或临界条件;
  • 使用错误推断法追加一些测试用例,这个和一些经验有关;
  • 对照程序逻辑,检查已设计测试用例的逻辑覆盖程度;
  • 关于有输入条件的测试用例,在开始时应选择决策表驱动法和因果图法;
  • 对于参数配置类软件,应采用正交实验法设计用例;
  • 对于业务流程清晰的系统,可采用场景法设计用例。

    3 测试用例的评审

    评审的要点,可以分以下内容:
  • 是否覆盖了测试需求的所有功能点?
  • 是否覆盖了所有非功能性测试需求?
  • 测试用例编号是否和测试需求对应?
  • 测试设计是否包含了正面和反面的测试用例?
  • 是否明确了测试特性、步骤、执行条件、预期结果等内容?
  • 是否包含了测试数据、测试数据的生成办法?
  • 是否具备可操作性?
  • 优先级安排是否合理?
  • 是否删除了冗余的测试用例?
  • 用例设计的是否简洁?是否复用性强?

4 测试如何维护?

一般情况下我们需要对测试用例进行维护更新,更新的点有:

  • 废弃的用例如何处理?
  • 因需求的变更,用例的标识和需求的标识是否对应?
  • 经过多次迭代测试,用例的优先级执行是否需要更改?
  • 用例的设计场景是否需要完善?
  • 用例的执行人员是否设置合理?
  • 用例的版本更新等。

另外,为什么需要更新维护呢?原因有下:

  • 测试过程中发现用例设计不全,需要进行补充完善;
  • 软件交付后反馈了软件问题,而这些问题恰巧在测试时并没有发现,需要对这些缺陷补充相关的用例;
  • 软件的更新,导致需求有所变动,需要更新用例等。

    5 用例的作用

  • 发现和跟踪软件缺陷;
  • 更准确的反应软件的某一个特性;
  • 反应软件的性能和质量;
  • 明确故障责任等。

    6 用例管理工具

  • 用例管理的工具有很多,比如
1、PingCode;2、TestRail;
3、TestLink;4、Jira;
5、PractiTest;6、PractiTest;
7、Zephyr Enterprise;8、MeterSphere;
9、Bugzilla、10、ZenTao
  • 我们这里来举个例子,比如禅道(以下为举例,仅供参考,具体的工具使用还是需要根据团队和项目的规模和工作模式来选择):
    在这里插入图片描述
    用例的创建基本包含了很多常用的字段:
    在这里插入图片描述
  • 用例执行,一般要说明这个用例执行的情况,比如失败还是通过等等:
    在这里插入图片描述
  • 大部分平台也可以对用例进行关联bug、关联需求、关联项目等等,有的是针对项目设计用例,有的是直接用例库中进行设计,需要的时候可以进行关联操作等。

7 缺陷关注的重点

  • 以下是列出了缺陷需要关注的一些部分重点字段,当然不止这些:
关键字段 说明
缺陷状态 比如已提交、待修改、已确认、已修改、重复、待评审、关闭等等
缺陷标题 简单明了说明缺陷
严重程度 一般为致命、严重、一般、提示、建议;有的也分A、B、C、D等
紧急程度 从1到4,最高为1级
缺陷类型 功能缺陷、界面设计缺陷、安全性、接口、性能、数据等缺陷
提交人 缺陷的提交人员,便于缺陷复现、跟踪和管理
所属项目或模块 明确缺陷的所属
解决人 一般为对应的开发人员
解决时间 比如项目经理指定的开发人员解决缺陷的时间
关闭时间 最终被关闭的时间等

8 缺陷分析

我们需要对缺陷进行统计分析,比如以下:

  • 缺陷的主要分布模块;
  • 缺陷产生的原因;
  • 根据已知的缺陷,分析可能产生的缺陷模块;
  • 根据缺陷的产生,分析软件的质量情况;
  • 根据提交缺陷,分析测试人员的技术提升点;
  • 根据缺陷修改的程度,分析对应解决人的缺陷解决质量情况等。

9 缺陷管理工具

  • 之前提到的用例管理工具同样适用缺陷管理:
    1、PingCode;2、TestRail;
    3、TestLink;4、Jira;
    5、PractiTest;6、PractiTest;
    7、Zephyr Enterprise;8、MeterSphere;
    9、Bugzilla、10、ZenTao
    
  • 我们看个工具吧,比如TAPD
    在这里插入图片描述
  • 缺陷的创建:
    在这里插入图片描述
  • 一个简单的缺陷流程:
    在这里插入图片描述
目录
相关文章
|
1月前
|
机器学习/深度学习 测试技术
ACL杰出论文奖:GPT-4V暴露致命缺陷?JHU等发布首个多模态ToM 测试集,全面提升大模型心智能力
【10月更文挑战第6天】约翰斯·霍普金斯大学等机构提出了一项荣获ACL杰出论文奖的研究,旨在解决大模型在心智理论(ToM)上的不足。他们发布了首个MMToM-QA多模态ToM测试集,并提出BIP-ALM方法,从多模态数据中提取统一表示,结合语言模型进行贝叶斯逆规划,显著提升了模型的ToM能力。这一成果为机器与人类自然交互提供了新思路,尽管仍面临一些局限性和技术挑战。论文详情见:https://arxiv.org/abs/2401.08743。
47 6
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
61 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
2月前
|
测试技术
测试用例设计方法之基本路径测试法
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,设计出的测试用例要保证在测试中程序的语句覆盖100%,条件覆盖100%
110 7
测试用例设计方法之基本路径测试法
|
2月前
|
机器学习/深度学习 人工智能 安全
软件测试中的探索性测试:一种高效发现软件缺陷的方法
本文将深入探讨软件测试中的一种关键方法——探索性测试。探索性测试是一种动态的、探索性的软件测试方法,它依赖于测试人员的直觉和经验,通过实际操作软件来发现潜在的问题和缺陷。与传统的基于预定义用例的测试方法相比,探索性测试更加灵活,能够更全面地覆盖软件的各个方面,从而更有效地发现难以预见的错误和漏洞。
31 2
|
2月前
|
测试技术 数据库
『软件测试2』 关于黑盒测试和测试用例的基础知识
该文章讲解了黑盒测试的基本概念以及如何编写有效的测试用例,包括选择合适的输入数据、预期结果的设定和测试执行的步骤。
|
3月前
|
测试技术
测试与开发问题之测试用例设计的重点是什么,如何实现
测试与开发问题之测试用例设计的重点是什么,如何实现
|
2月前
|
测试技术 数据安全/隐私保护
软件测试的艺术:如何高效地编写测试用例
【9月更文挑战第2天】在软件开发的海洋中,测试用例是导航灯塔,指引着质量保障的航向。本文将带你航行于测试用例编写的技巧之海,从理解需求到设计思路,再到实际执行,我们将一起探索如何高效而精准地构建测试用例,确保软件的稳健与可靠。
65 0
|
3月前
|
监控 测试技术
软件测试中的风险管理:如何避免潜在缺陷
【8月更文挑战第5天】在软件开发的生命周期中,测试阶段扮演着至关重要的角色。本文将深入探讨软件测试中的风险管理,包括风险识别、评估和缓解策略。我们将通过具体案例分析,揭示如何在早期阶段预防和减少潜在的软件缺陷,以及如何通过有效的测试计划和执行来保障产品质量。文章旨在为读者提供一套系统的风险管理框架,帮助他们在软件开发过程中识别和应对各种测试风险。
173 3
|
3月前
|
Java 测试技术 API
SpringBoot单元测试快速写法问题之计算测试用例的分支覆盖率如何解决
SpringBoot单元测试快速写法问题之计算测试用例的分支覆盖率如何解决
|
4月前
|
测试技术
单元测试策略问题之寻找边界问题如何解决
单元测试策略问题之寻找边界问题如何解决