测试用例的编写

server/2024/10/9 8:13:45/

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/server/129176.html

相关文章

毕设 深度学习语义分割实现弹幕防遮(源码分享)

文章目录 0 简介1 课题背景2 技术原理和方法2.1基本原理2.2 技术选型和方法 3 实例分割4 实现效果最后 0 简介 今天学长向大家分享一个毕业设计项目 毕业设计 深度学习语义分割实现弹幕防遮(源码分享) 🧿 项目分享:见文末! 1 课题背景 弹幕是显示在视频上的评论…

Authentication Lab | IP Based Auth Bypass

关注这个靶场的其它相关笔记:Authentication Lab —— 靶场笔记合集-CSDN博客 0x01:IP Based Auth Bypass 前情提要 有些开发人员为了图方便,会给站点设置一个 IP 白名单,如果访问站点的用户的 IP 在白名单内,则允许访…

上海AI Lab视频生成大模型书生.筑梦环境搭建推理测试

引子 最近视频生成大模型层出不穷,上海AI Lab推出新一代视频生成大模型 “书生・筑梦 2.0”(Vchitect 2.0)。根据官方介绍,书生・筑梦 2.0 是集文生视频、图生视频、插帧超分、训练系统一体化的视频生成大模型。OK,那就让我们开始吧。 一、模…

json修改key python

使用Python修改JSON键名 在现代应用中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。由于其易于人类阅读和编写,同时也便于机器解析和生成,JSON广泛应用于API和数据存储。本文将探讨如何在Python中修…

LSTM模型实现电力数据预测

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝,拥有2篇国家级人工智能发明专利。 社区特色&a…

使用Qt实现实时数据动态绘制的折线图示例

基于Qt的 QChartView 和定时器来动态绘制折线图。它通过动画的方式逐步将数据点添加到图表上,并动态更新坐标轴的范围,提供了一个可以实时更新数据的折线图应用。以下是对代码的详细介绍及其功能解析: 代码概述 该程序使用Qt的 QChartView…

vue项目启动的报错问题

背景 三年前的一个vue3项目,当时用的14版本开发的,最近想把它接入到我的主应用中,在启动中,由于自己用的node版本是16,导致安装依赖的时候,发生了报错 具体报错内容 npm WARN deprecated node-sass4.14.…

Netgear-WN604 downloadFile.php 信息泄露复现(CVE-2024-6646)

0x01 产品描述: NETGEAR WN604是一款功能强大的双频AC1200无线路由器,非常适合中大型家庭和企业使用。它支持最新的802.11ac无线标准,能提供高达1200Mbps的无线传输速度。路由器具备千兆有线网口和3个100Mbps有线网口,可满足有线和无线设备的接入需求。此外,它还内置…