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

1 测试用例定义

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

2 测试用例设计原则

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

3 测试用例的评审

评审的要点,可以分以下内容:

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

4 测试如何维护?

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

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

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

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

5 用例的作用

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

6 用例管理工具

  • 用例管理的工具有很多,比如
python 复制代码
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 缺陷管理工具

  • 之前提到的用例管理工具同样适用缺陷管理:
python 复制代码
1、PingCode;2、TestRail;
3、TestLink;4、Jira;
5、PractiTest;6、PractiTest;
7、Zephyr Enterprise;8、MeterSphere;
9、Bugzilla、10、ZenTao
  • 我们看个工具吧,比如TAPD
  • 缺陷的创建:
  • 一个简单的缺陷流程:
相关推荐
王解8 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github
Devil枫19 小时前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
小袁在上班1 天前
Python 单元测试中的 Mocking 与 Stubbing:提高测试效率的关键技术
python·单元测试·log4j
测试19981 天前
外包干了2年,快要废了。。。
自动化测试·软件测试·python·面试·职场和发展·单元测试·压力测试
安冬的码畜日常1 天前
【The Art of Unit Testing 3_自学笔记06】3.4 + 3.5 单元测试核心技能之:函数式注入与模块化注入的解决方案简介
笔记·学习·单元测试·jest
王解1 天前
Jest项目实战(2): 项目开发与测试
前端·javascript·react.js·arcgis·typescript·单元测试
程序员小雷2 天前
软件测试基础:单元测试与集成测试
python·功能测试·selenium·测试工具·单元测试·集成测试·压力测试
王解2 天前
Jest进阶知识:深入测试 React Hooks-确保自定义逻辑的可靠性
前端·javascript·react.js·typescript·单元测试·前端框架
程序员雷叔2 天前
外包功能测试就干了4周,技术退步太明显了。。。。。
功能测试·测试工具·面试·职场和发展·单元测试·测试用例·postman
安冬的码畜日常2 天前
【玩转 Postman 接口测试与开发2_005】第六章:Postman 测试脚本的创建(上)
javascript·测试工具·单元测试·postman·bdd·chai