当前位置: 首页 > news >正文

【测试小白--如何写好测试用例--测试用例编写的方法+结合常见登录模块为实例--保姆级教学】

测试用例编写方法&登录模块实例

  • 一、测试用例编写方法
    • 1. 等价类划分
    • 2. 边界值分析
    • 3. 状态转换测试
    • 4. 决策表测试
    • 5. 错误推测
    • 6. 用户场景测试
    • 7. 安全测试用例
  • 二、登录模块测试用例实例
      • 1. 等价类划分
      • 2. 边界值分析
      • 3. 状态转换测试
      • 4. 决策表测试
      • 5. 错误推测
      • 6. 用户场景测试
      • 7. 安全测试用例

一、测试用例编写方法

1. 等价类划分

定义:将输入条件划分为有效和无效的等价类,选择每个等价类中的一个或多个代表进行测试。

  • 有效输入

    • 有效邮箱(如:user@example.com)
    • 正确密码(如:Password123)
  • 无效输入

    • 无效邮箱(如:user@.com,userexample.com)
    • 错误密码(如:WrongPassword)
    • 空邮箱和密码

2. 边界值分析

定义:测试输入值的边界条件,包括有效边界和无效边界。

  • 示例:对于密码长度限制(假设为6到12个字符)。

3. 状态转换测试

定义:根据系统的不同状态和状态之间的转换,设计测试用例。

  • 示例:用户状态转换(未登录、已登录、登出)。

4. 决策表测试

定义:利用决策表列出不同条件下的行动方案,适合处理复杂的业务逻辑。

5. 错误推测

定义:基于以往的经验或常见的错误类型,推测可能出现的错误并编写测试用例。

6. 用户场景测试

定义:基于用户的实际使用场景,设计测试用例。

7. 安全测试用例

定义:设计用于验证系统安全性的测试用例,包括权限、数据保护等。

二、登录模块测试用例实例

结合上述测试用例编写方法,针对登录模块的具体测试用例示例:

1. 等价类划分

用例编号:TC_LOGIN_001

  • 功能模块:登录
  • 前置条件:用户已注册。
  • 测试步骤
    1. 输入有效邮箱。
    2. 输入正确密码。
    3. 点击“登录”按钮。
  • 预期结果:成功登录并跳转到首页。

用例编号:TC_LOGIN_002

  • 功能模块:登录
  • 前置条件:无。
  • 测试步骤
    1. 输入无效邮箱(user@.com)。
    2. 输入任何密码。
    3. 点击“登录”按钮。
  • 预期结果:显示“邮箱格式不正确”的提示。

2. 边界值分析

用例编号:TC_LOGIN_003

  • 功能模块:登录
  • 前置条件:用户已注册。
  • 测试步骤
    1. 输入有效邮箱。
    2. 输入5个字符的密码。
    3. 点击“登录”按钮。
  • 预期结果:显示“密码长度不足”的提示。

用例编号:TC_LOGIN_004

  • 功能模块:登录
  • 前置条件:用户已注册。
  • 测试步骤
    1. 输入有效邮箱。
    2. 输入13个字符的密码。
    3. 点击“登录”按钮。
  • 预期结果:显示“密码长度超出限制”的提示。

3. 状态转换测试

用例编号:TC_LOGIN_005

  • 功能模块:登录
  • 前置条件:用户已注册。
  • 测试步骤
    1. 打开登录页面。
    2. 输入有效邮箱。
    3. 输入正确密码。
    4. 点击“登录”按钮。
    5. 点击“登出”按钮。
    6. 再次尝试访问登录后的页面。
  • 预期结果:系统要求重新登录。

4. 决策表测试

用例编号:TC_LOGIN_006

  • 功能模块:登录
  • 前置条件:无。
  • 测试步骤
    1. 输入无效邮箱。
    2. 输入正确密码。
    3. 点击“登录”按钮。
  • 预期结果:显示“邮箱无效”的提示。

5. 错误推测

用例编号:TC_LOGIN_007

  • 功能模块:登录
  • 前置条件:无。
  • 测试步骤
    1. 输入特殊字符作为邮箱(如:<script>)。
    2. 输入任意密码。
    3. 点击“登录”按钮。
  • 预期结果:系统拒绝登录请求,显示“无效的邮箱或密码”。

6. 用户场景测试

用例编号:TC_LOGIN_008

  • 功能模块:登录
  • 前置条件:用户已注册。
  • 测试步骤
    1. 打开登录页面。
    2. 输入有效邮箱。
    3. 输入正确密码。
    4. 点击“登录”按钮。
    5. 访问“我的账户”页面。
  • 预期结果:用户能够正常访问“我的账户”页面。

7. 安全测试用例

用例编号:TC_LOGIN_009

  • 功能模块:登录
  • 前置条件:无。
  • 测试步骤
    1. 输入' OR '1'='1作为邮箱。
    2. 输入任意密码。
    3. 点击“登录”按钮。
  • 预期结果:系统应显示“无效的邮箱或密码”提示。

以上均为本人自我总结,需要帮助请私信我,及欢迎各位前来探讨~


各位大佬海涵,这里将插播一条预告:

  • 十一月初,赣南脐橙迎来丰收季,果实金黄、汁甜饱满,清爽的酸甜口感令人陶醉。它不仅是冬季美味的水果选择,也是馈赠亲友的最佳礼品,带来温暖与自然的馈赠。
  • 作为一个实打实的江西赣州老表,怎么能不宣传一下自家的脐橙呢~~~

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上有任何问题疑问,请私信我,欢迎一起探讨~

相关文章:

【测试小白--如何写好测试用例--测试用例编写的方法+结合常见登录模块为实例--保姆级教学】

测试用例编写方法&登录模块实例 一、测试用例编写方法1. 等价类划分2. 边界值分析3. 状态转换测试4. 决策表测试5. 错误推测6. 用户场景测试7. 安全测试用例 二、登录模块测试用例实例1. 等价类划分2. 边界值分析3. 状态转换测试4. 决策表测试5. 错误推测6. 用户场景测试7.…...

真题--数组循环题目

1.逆序数表达数组2.用数组表示费波纳希数列3.用数组排序4.二维数组转置5.找到二维数组其中的最大数值6.输出字符数组7.字符数组输出菱形图案8.输入一行字符&#xff0c;统计有多少单词9.有三个字符串&#xff0c;找到最大字符串 1.逆序数表达数组 #include<stdio.h> int…...

【Linux系列】在Linux下安装微信

文章目录 前言一、通用Linux系统使用Flatpak安装&#xff08;推荐&#xff09;1. 安装flatpak2. 安装微信 二、国产Linux 前言 此前&#xff0c;微信的Linux版一直在内测阶段&#xff0c;只有在国产的Linux系统和Debian系系统上可以正常安装&#xff0c;如果有心细的好伙伴应该…...

还在使用ElementUI不如试一试DaisyUI,DaisyUI: Tailwind CSS 的高效组件库,

DaisyUI: Tailwind CSS 的高效组件库 daisyUI官网&#xff1a;https://daisyui.com/ 在现代网页开发中&#xff0c;快速构建美观且响应式的用户界面是每个开发者追求的目标。Tailwind CSS 是一个流行的实用程序优先的 CSS 框架&#xff0c;它允许开发者直接在 HTML 中使用预…...

高光谱激光雷达遥感团队成员白杰博士获全国激光雷达优博论文奖

\quad \quad 2024年11月1日—4日&#xff0c;第八届全国激光雷达大会在桂林理工大学大学召开。本届大会&#xff0c;国际数字地球学会中国国家委员会激光雷达专业委员会组织了本年度优秀博士学位论文评选&#xff0c;经初评、函评、投票和公示&#xff0c;最终评选出了全国激光…...

24年配置CUDA12.4,Pytorch2.5.1,CUDAnn9.5运行环境

没什么好介绍的&#xff0c;直接说了。 下载 首先打开命令行&#xff0c;输入代码查看显卡最高支持的cuda版本&#xff0c;下载的版本不要高于该版本 nvidia-smi PyTorch 插件这个是PyTorch下载地址&#xff0c;就按照我这么选CUDA版本就选最新的&#xff0c;看好绿框里的CU…...

基于springboot得高校评教教师工作量管理系统设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…...

Rust 力扣 - 1456. 定长子串中元音的最大数目

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们遍历长度为k的窗口&#xff0c;我们只需要记录窗口内的元音字母数量即可&#xff0c;遍历过程中刷新最大数目 题解代码 impl Solution {pub fn max_vowels(s: String, k: i32) -> i32 {let s s.as_byt…...

【Golang】validator库的使用

package mainimport ("fmt""github.com/go-playground/validator" )// MyStruct .. validate:"is-awesome"是一个结构体标签&#xff0c;它告诉验证器使用名为is-awesome的验证规则来验证String字段。 type MyStruct struct {String string vali…...

【AI日记】24.11.06 我对投资的一点浅见

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 投资学习 内容&#xff1a;看投资大佬访谈或演讲B站地址&#xff1a;巴菲特1998年佛州大学讲座目标&#xff1a;学习巴菲特的投资哲学和人生智慧时间&#xff1a;2小时评估&#xff1a;非常不错&#xff0c;值…...

2024江苏省网络建设与运维省赛Linux(一)系统安装

第五部分: Linux 系统配置( 20 分) (一)系统安装 【任务描述】 系统安装 (1)所有 Linux 服务器登录密码设置为 Netw@rkCZ!@#(注意区分大小写) (2)PC1 web 连接 Server2,给 Server2 安装 rocky-arm64 CLI 系统(语言为英文)。 (3)配置 server2 的 IPv4 地址为…...

详解Python面向对象程序设计

Python面向对象程序设计 1&#xff0c;初识类和对象2&#xff0c;类的定义和使用3&#xff0c;构造方法4&#xff0c;常用的类内置方法4.1&#xff0c;字符串方法&#xff1a;__str__ 4.2&#xff0c;是否小于&#xff1a;__lt__4.3&#xff0c;是否小于等于&#xff1a;__le__…...

JS保留两位小数

方法1 var num 3.14159; var result num.toFixed(2); 方法2 toFixed(2) 返回的是字符串&#xff0c;需要转数字。 var num 3.14159; var result parseFloat(num.toFixed(2));...

ClickHouse集成Mysql表引擎跨服务器读表说明

MySQL表引擎 Clickhouse 上的MySQL引擎可以对存在远程MySQL服务器上的数据执行SELECT查询。 调用格式&#xff1a; MySQL(host:port, database, table, user, password, replace_query, on_duplicate_clause); 调用参数 host:port — MySQL 服务器地址。 database — 数据…...

【AI构思渲染】别眨眼!这些图片立马变效果图!

我只是随手一拍白模模型 AI构思渲染立马就给我生成了非常amazing的效果图 下面我来一波展示给大家欣赏欣赏 1.白模模型照片变效果图&#xff1a; 渲染风格包&#xff1a;白模-城市鸟瞰 关键词&#xff1a;商业建筑&#xff0c;车辆&#xff0c;精美景观 词权重&#xff1a…...

多特征变量序列预测(10)基于麻雀优化算法的CEEMDAN-SSA-Transformer-BiLSTM预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享&#xff01; EMD变体分解效果最好算法——CEEMDAN&#xff08;五&#xff09;-CSDN博客 拒绝信息泄露&#xff01;VMD滚动分…...

算法学习(十)—— 字符串

关于字符串操作 这类题一般是和其它算法合起来&#xff0c;比如模拟&#xff0c;双指针&#xff0c;动态规划或者回溯等&#xff0c;所以字符串相关的题目类型一般是非常非常丰富的&#xff0c;这里我们选取几道经典的题目进行讲解 部分OJ题详解 14. 最长公共前缀 14. 最长…...

「Mac畅玩鸿蒙与硬件16」鸿蒙UI组件篇6 - List 和 Grid 组件展示数据列表

List 和 Grid 是鸿蒙开发中的核心组件&#xff0c;用于展示动态数据。List 适合展示垂直或水平排列的数据列表&#xff0c;而 Grid 则适用于展示商品或图片的网格布局。本篇将展示如何封装组件&#xff0c;并通过按钮实现布局切换&#xff0c;提升界面的灵活性和用户体验。 关键…...

masm汇编字符输入小写转大写演示

从键盘读取一个字符变成大写换行并输出 assume cs:codecode segmentstart:mov ah,1int 21hmov bl,alsub bl,20hmov dl,10mov ah,2int 21hmov dl,blmov ah,2int 21hmov ah,4chint 21hcode ends end start 效果演示&#xff1a;...

防火墙|WAF|漏洞|网络安全

防火墙|WAF|漏洞|网络安全 防火墙 根据内容分析数据包&#xff1a; 1、源IP和目的IP地址 2、有效负载中的内容。 3、数据包协议&#xff08;例如&#xff0c;连接是否使用 TCP/IP 协议&#xff09;。 4、应用协议&#xff08;HTTP、Telnet、FTP、DNS、SSH 等&#xff09;。 5…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...