测试用例基础知识

news/2025/2/22 6:08:28/

目录

什么是测试用例?

测试用例格式

测试用例编写

测试用例的设计方法

等价类

边界值

判定表

因果图

流程图

场景法

错误推测法

什么是测试用例?

测试用例 (Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。 其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。

测试用例简单来说就是指导如何做测试的文档,该文档主要记录需要验证被测软件的是否满足需求。

测试用例格式

一个完整且良好的测试用例应该包括用例编号、测试项、测试标题、用例属性、重要级别(高、中、低)、预置条件、测试输入、操作步骤、预期结果和实际结果等十大特点。

常用的测试用例一般包括八个要素:编写测试用例的八大要素有:用例编号,所属模块,测试标题,重要级别,前置条件,测试输入,操作步骤,预期结果。

类似于下图:

测试用例编写

一般根据产品需求来定,根据产品效果图或者产品需求来定测试用例怎么去编写,还要考虑到普通用户使用软件的习惯,以及一些特殊情况和极端情况。

比如一个登录模块:

1.常规思考:

一个基本的登录页面,按照常规的思路能够想到的测试点有哪些?

以上测试点是基于用户输入的基础点。

2.还能扩充哪些?

扩充的测试点需要基于测试工程师对产品的熟悉程度,测试经验以及实践。这些测试点的设计是需要测试工程师通过不断学习,熟悉项目,测试积累中得到的。

测试用例的设计方法

等价类

等价类划分法是一种被广泛应用的黑盒测试用例设计方法,它能够合理分类所有可能的输入数据,即程序的输入域,划分为若干个不相干的子集,称为等价类。每个子集中选取少量具有代表性的数据作为测试用例。

等价类又分为有效等价类和无效等价类。

有效等价类代表对程序有效的输入。

无效等价类则是其他任何可能的输入(即不正确的输入值)。

被测程序若是正确的,就应该既能接受有效的输入,也能接受无效输入的考验

这种方法的优点是,我们只需要关注少数代表性的数据,就可以对整个等价类进行有效的测试

边界值

边界值分析法是一种黑盒测试方法,它对输入或输出的边界值进行测试,通常作为对等价类划分法的补充。此方法的测试用例来自等价类的边界,所谓边界值,是指相对于输入等价类和输出等价类而言,稍高于边界或稍低于边界的一些特定情况。

判定表

判定表是一种黑盒测试设计技术,它通过列出所有可能的条件和结果组合来描述系统的行为。判定表通常用于复杂的逻辑条件和多个条件的组合,以确定系统在不同条件下的输出。

判定表由四个部分组成:

  • 条件桩(Condition Stub):列出所有的条件。
  • 动作桩(Action Stub):列出所有可能的操作或结果。
  • 条件条目(Condition Entry):列出每个条件下的动作或结果。
  • 规则(Rule):列出每个条件条目下的动作或结果。

优点在于能够清晰地显示复杂的条件组合,易于理解和使用。同时,它也可以帮助测试人员发现遗漏的测试用例。

缺点是当条件数量增加时,表格会变得非常庞大和复杂。

因果图

一种描述输入条件的组合及每种组合对应的输出的图形化工具。

用来处理等价类划分和边界值考虑不到的情况,适用描述多种条件的组合,产生多个相应动作的测试方法;从程序规格说明书的描述中找出因果关系。

流程图

流程分析法主要是针对测试场景类型属于流程测试场景的测试项下的测试子项进行设计。

场景法

场景法是一种被广泛应用的软件测试方法,它通过模拟真实的用户操作场景来对软件系统的功能点或业务流程进行描述和测试。在这种方法中,测试人员会根据需求分析出基本流和备选流,然后根据每个流的不同情况生成不同的场景,针对每个场景设计相应的测试用例。

场景法的主要优点能够有效地提高测试效率并达到良好的测试效果

它通过模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而发现需求中存在的问题。

此外,场景法还特别适用于系统的典型业务和典型功能,因为它可以很方便地构造一个基本流。

错误推测法

错误推测法是一种基于经验和直觉的软件测试方法

其主要思想是预测和检查程序中可能存在的各种错误。具体来说,测试人员会根据他们的经验和直觉,列举出程序可能出现的错误或容易产生错误的测试点,然后根据这些测试点来编写针对性的测试用例。

因此,使用这种方法需要具有一定的经验和直觉,同时也需要对被测试的程序有一定的理解。


http://www.ppmy.cn/news/1182493.html

相关文章

【点云学习PCL 】一

点云学习 说明:仅做学习使用,侵删 参考网址1 一、点云基础 0 概述 PCL(Point Cloud Library)是用于 2D/3D 图像和点云处理的大型开源跨平台的 C 编程库,PCL 框架实现了大量点云相关的通用算法和高效的数据结构&…

数组与链表算法-矩阵算法

目录 数组与链表算法-矩阵算法 矩阵相加 C代码 矩阵相乘 C代码 转置矩阵 C代码 稀疏矩阵 C代码 数组与链表算法-矩阵算法 矩阵相加 矩阵的相加运算较为简单,前提是相加的两个矩阵对应的行数与列数必须相等,而相加后矩阵的行数与列数也是相同的。…

有一个带头结点的单链表L,设计一个算法使其元素递增有序

有一个带头结点的单链表L,设计一个算法使其元素递增有序 代码思路: 我这里懒得搞那个指针了,直接遍历一遍链表,把链表的元素复制到数组arr里面 对数组A进行一下排序,排完之后再把元素复制到L里面。 至于排序你用啥算…

S32K144芯片焊接完成后使用S32DS初次下载无法下载解决方法

一、问题现象如下,S32DS Debug下报错 二、原因,原厂芯片出厂时的FLASH Memory的安全机制是激活的,仿真器是可以连上,但是没法读取Flash Memory的内容 三、解决方法 参考图示,解锁后即可正常Debug

【Qt之QMapIterator】检测是否为空

简介 QMapIterator及其他类型迭代器,本身没有一个直接的方式来判断是否为空,因为它不是一个容器,而是一个迭代器,用来遍历容器(如QMap)的元素。 然而,可以通过检查它是否还有下一个元素来判断…

【51单片机】51单片机概述(学习笔记)

一、课程简介 1、硬件设备 51单片机开发板 Win电脑 2、软件设备 Keil5:编写程序代码 STC-ISP:下载程序 有道词典 福昕阅读器 二、开发工具介绍 1、Keil5 keil.com > 下载C51版本 > 使用破解程序 2、STC-ISP 绿色版:直接运…

react高阶成分(HOC)例子效果

使用React函数式组件写了一个身份验证的一个功能,示例通过高阶组件实现的一个效果展示: import React, { useState, useEffect } from react;// 定义一个高阶组件,它接受一个组件作为输入,并返回一个新的包装组件 const withAuth…

Redis缓存击穿、雪崩、穿透

缓存击穿 我们通过对数据库的数据进行查询后在redis中缓存,但是在高并发环境下,某个保存的key值在失效的瞬间被大量并发请求访问,这些持续的大并发量就会穿破缓存,直接请求数据库,会对数据库造成巨大压力,…