测试用例的编写

embedded/2024/10/9 8:35:53/

1.基本概念:

        编写测试用例是确保代码质量和正确性的重要环节,尤其是在软件开发和维护过程中。测试用例通常用于验证功能是否符合预期,并及时发现潜在的错误或漏洞。

2.常见的测试用例编写方法:

        等价划分法,边界值法,因果表法,场景法,错误推测法,需求分析法,判定表法.

        (1).等价划分法:等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例

               比如在注册时,密码规定为8-16位英文字母或数字及下划线,那么小于8位的一串字符就是一个等价类,大于16位的一串字符是另一个等价类,在8-16位之间且符合规范的一串字符也是一个等价类,在8-16位之间的但包含除英文字母和数字和下划线之外的字符是另外一个等价类。

        (2).边界值法:边界值分析是对输入或输出的边界值进行测试的一种黑盒测试方法。

                        比如某公司在招聘时筛选简历时对年龄的要求是18岁到35岁,那么19、18、17、34、35、36都是边界值,对其进行输入测试观察结果是否符合要求。

        (3).场景法:模拟用户使用软件产品的真实场景来设计测试用例,场景法一般分为基本流和备用流,覆盖所有的场景。

         基本流是系统最主要、最正常的业务流程;备选流是在基本流的基础上,由于各种异常情况或条件分支而产生的流程。

        对于一个在线购物系统,基本流可以是用户浏览商品、加入购物车、结算、支付、完成订单。备选流可以包括商品缺货、支付失败、用户取消订单等情况。针对不同的场景编写测试用例,以覆盖系统的各种可能情况。

        (4).判断表法:适用于有多个输入条件和多个输出动作的情况,尤其是当输入条件之间存在相互制约和依赖关系时。

        (5).错误推测法:基于经验和直觉的测试用例设计方法

测试用例的编写流程:

        需求分析->提取测试点->测试用例编写->测试用例评审

测试用例的基本结构

        每个测试用例通常包含以下几个要素:

  • 测试编号:唯一标识这个测试用例
  • 测试标题:简短描述测试目标。
  • 前提条件:执行测试前系统应处于的状态,或者某些依赖条件。
  • 测试步骤:详细列出执行该测试的步骤。
  • 输入数据:提供输入的具体值(尤其对于边界条件)。
  • 预期结果:明确测试成功的标准,即在执行完测试后期望系统的行为。
  • 实际结果:执行测试后的实际表现(通常在手动测试后填写)。
  • 通过/失败:确认测试是否通过。

编写测试计划

  • 明确测试的目标和优先级。
  • 列出需要测试的功能和场景。
  • 确定需要覆盖的边界条件、异常情况和性能要求。

考虑边界条件和异常情况

        除了典型的正向测试场景,还需要设计负向测试或边界测试用例。例如:

  • 异常场景
    • 输入错误的用户名或密码,应提示“用户名或密码错误”。
    • 用户名或密码为空,应提示“用户名或密码不能为空”。
  • 边界条件
    • 密码的最小长度/最大长度限制。
    • 用户名包含特殊字符时的处理。

测试用例的评审和维护

        定期评审:定期评审测试用例以确保它们的相关性和有效性。

         更新维护:随着需求的变更,及时更新测试用例


http://www.ppmy.cn/embedded/124976.html

相关文章

【智能算法应用】人工水母搜索算法求解二维路径规划问题

摘要 本文应用人工水母搜索算法(Jellyfish Search, JFS)求解二维空间中的路径规划问题。水母搜索算法是一种新型的智能优化算法,灵感来源于水母的群体运动行为,通过模仿水母的觅食、漂浮等行为,实现全局最优路径的搜索…

探索循环神经网络RNN:解锁序列数据的奥秘

在这个数据驱动的时代,机器学习模型已经深入到我们生活的方方面面,从智能推荐系统到自然语言处理,无一不彰显其强大的能力。在众多模型中,循环神经网络(Recurrent Neural Network, RNN)以其独特的结构和对序…

Python知识点:如何使用Raspberry Pi与Python进行边缘计算

开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 如何使用Raspberry Pi与Python进行边缘计算 Raspberry Pi是一款广受欢迎的小型单…

pycharm生成的exe执行后报错

元素 application 显示为元素 urn:schemas-microsoft-com:asm.v1^dependentAssembly (此版本的 Windows 不支持)的子元素。 日志名称: Application 来源: SideBySide 日期: 2024/10/8 14:14:12 事件 ID: 72 任务类别: 无 级别…

在QT中将Widget提升为自定义的Widget后,无法设置Widget的背景颜色问题解决方法

一、问题 在Qt中将QWidget组件提升为自定义的QWidget后,Widget设置的样式失效,例如设置背景颜色为白色失效。 二、解决方法 将已经提升的QWidget实例对象,脱离父窗体的样式,然后再重新设置自己的样式。

PCL 计算法向量(MLS)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 computeNormalsUsingMLS 2.1.2 visualizeMLSNormals 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总&#xff…

STM32—SPI通讯协议

前言 由于I2C开漏外加上拉电阻的电路结构,使得通信线高电平的驱动能力比较弱,这就会号致,通信线由候电平变到高电平的时候,这个上升沿耗时比较长,这会限制I2C的最大通信速度, 所以,I2C的标准模…

雷池+frp 批量设置proxy_protocol实现真实IP透传

需求 内网部署safeline,通过frp让外网访问内部web网站服务,让safeline记录真实外网攻击IP safeline 跟 frp都部署在同一台服务器:192.168.2.103 frp client 配置 frpc只需要在https上添加transport.proxyProtocolVersion "v2"即…