质量小议47 - AI写用例
试着用AI写测试用例
AI替代基础性工作,帮助人思考,将会是更全面、更细致
时替代还是辅助
- 提问:密码输入框 测试用例
- 评价指标
- 功能性
- 可靠性
- 易用性
- 效率
- 可维护性
- 可移植性 - 基本思路
- 输入:遵从设计逻辑 和 系统安全等级 -- 输入内容、复杂度、长度;输入方法
> 正确输入
> 错误输入
- 验证
> 输入显示
> 输入后执行操作指令的GUI跳转 或 提示 - 结论
- AI已经在替代部分人力工作,虽不及专家经验全面,但辅助工作提升人力效率
并且AI在不断撑习中,而且学习的能力和速度远超常人
- 未提及使用背景,仅做功能验证
实际设计中应在集成测试和系统测试中添加:数据验证 和 流程验证
- 关于效率
> 基本的输入符合度验证,应通过前台GUI逻辑完成,以减少与后台数据取数验证,减少系统资源利用
> 多次输入错误的安全保护 ,同是也提升系统访问效率CSDN创作助手 文心一言 说明 密码输入框是Web和移动应用中常见的UI元素,用于保护用户敏感信息,如登录密码、支付密码等。在设计密码输入框的测试用例时,需要确保它既能有效保护用户隐私,又能提供良好的用户体验。以下是一些常见的密码输入框测试用例: 使用环境 1. 输入正确的密码:确保密码输入框接受正确的密码,并显示为有效输入。
2. 输入错误的密码:确保密码输入框能够检测到错误的密码,并显示为无效输入。
1. 基本功能测试
1) 输入有效密码:测试用户能够成功输入符合要求的密码(如长度、字符类型等)。
2) 密码长度验证:
测试输入最小长度密码。
测试输入最大长度密码。
测试输入超出最大长度的密码,观察是否允许提交或给出相应提示。
3) 密码复杂度验证:
测试仅包含数字的密码。
测试仅包含字母的密码。
测试包含特殊字符的密码。
测试包含大小写字母、数字和特殊字符的复杂密码。
4) 密码保密性:确保密码在输入时以点(*)或圆点(●)显示,以保护用户隐私。
功能 3. 输入空密码:确保密码输入框能够检测到空密码,并显示为无效输入。
4. 输入超出限制的密码长度:确保密码输入框能够限制密码长度,并显示为无效输入。
5. 输入包含特殊字符的密码:确保密码输入框能够接受包含特殊字符的密码,并显示为有效输入。2. 边界值测试
1) 空密码:测试不输入任何字符直接提交的情况。
2) 特殊字符测试:输入特殊字符边界值,如单个特殊字符、连续特殊字符等。
3) 极限长度测试:输入密码长度刚好等于最小长度和最大长度的值。
可靠性 10. 测试密码输入框的错误消息提示功能:输入错误密码后,确保密码输入框能够正确显示错误消息提示。 3. 错误处理测试
错误提示:
输入不符合要求的密码时,系统应给出明确的错误提示。
验证错误提示信息是否准确、友好。
重复提交:在密码错误的情况下,重复提交应继续显示错误提示,而不是出现其他异常。可靠性 8. 连续多次输入相同的密码:确保密码输入框能够正常处理连续多次输入相同密码的情况。
9. 尝试修改输入的密码:确保密码输入框能够阻止用户修改输入的密码。
4. 安全性测试
密码可见性:确保在输入密码时,不会通过任何方式(如浏览器开发者工具)泄露明文密码。
自动填充:测试浏览器自动填充密码功能是否正常工作,同时验证是否可以通过设置禁用此功能。
防钓鱼测试:测试应用是否容易被钓鱼网站模拟,导致密码泄露。可靠性 6. 输入密码时触发可见/不可见切换按钮:确保密码输入框的可见/不可见切换按钮能够正常工作。
7. 使用复制和粘贴功能输入密码:确保密码输入框能够正常处理通过复制和粘贴功能输入的密码。
5.用户体验测试
密码强度提示:测试系统是否提供密码强度提示,以及提示的准确性。
键盘切换:测试在不同类型设备上(如手机、平板、电脑)输入密码时,键盘切换是否顺畅。
焦点管理:测试在密码输入框获得和失去焦点时,是否按预期工作(如显示/隐藏密码字符)。易用性 6.兼容性与国际化测试
浏览器兼容性:测试在不同浏览器(如Chrome、Firefox、Safari、Edge等)上密码输入框的表现是否一致。
设备兼容性:测试在不同操作系统和设备上的表现,如iOS、Android等。
语言支持:测试应用是否支持多语言,特别是密码错误提示信息是否根据用户设置的语言正确显示。可维护性
可移植性通过这些测试用例,可以全面评估密码输入框的功能性、安全性、用户体验以及兼容性,确保其在各种场景下都能正常工作并保护用户隐私。
相关文章:
质量小议47 - AI写用例
试着用AI写测试用例 AI替代基础性工作,帮助人思考,将会是更全面、更细致 时替代还是辅助 提问:密码输入框 测试用例评价指标- 功能性 - 可靠性 - 易用性 - 效率- 可维护性 - 可移植性基本思路 - 输入:遵从设计逻辑 和 系…...
etcd 集群搭建与测试指南
etcd 集群搭建与测试指南 一、容器搭建 1. 拉取 etcd 镜像 首先,需要从 Docker Hub 拉取 etcd 的镜像: docker pull quay.io/coreos/etcd:v3.3.12. 创建自定义网络 为了设置容器的固定 IP,需要创建一个自定义网络: docker n…...
写毕业论文用什么软件?分享6款好用的AI论文写作软件网站
撰写毕业论文是一项既重要又具挑战性的任务,尤其是在当今数字化时代,AI写作工具已经成为大学生撰写毕业论文的重要辅助手段。这些工具不仅能够提高写作效率,还能帮助学生生成高质量的文稿。以下是六款备受推荐的AI写毕业论文软件,…...
【技术解析】wx.request 封装:优化小程序网络请求的最佳实践
在当今的小程序开发领域,网络请求是构建动态应用的核心。微信小程序提供的 wx.request API 虽然强大,但在面对复杂业务逻辑时,其直接使用方式可能会带来一系列问题。本文将深入探讨封装 wx.request 的必要性,并提供一套实用的封装…...

9.24 C++ 常成员,运算符重载
//my_string.cpp #include "my_string.h" #include <iostream> #include <cstring>using namespace std;My_string::My_string():size(15){this->ptr new char[size];this->ptr[0] \0; //表示串为空串this->len 0;}//有参构造My_…...
C#设计模式之访问者模式
总目录 前言 在软件构建过程中,由于需求的改变,某些类层次结构中常常需要增加新的行为,如果直接在基类中做这样的更改,将会给子类带来很繁重的变更负担,甚至破坏原有设计。如何在不更改类层次结构的前提下,…...

一次RPC调用过程是怎么样的?
注册中心 RPC(Remote Procedure Call)翻译成中文就是 {远程过程调用}。RPC 框架起到的作用就是为了实现,调用远程方法时,能够做到和调用本地方法一样,让开发人员更专注于业务开发,不用去考虑网络编程等细节…...

鸭脖变“刺客”,啃不起了
撰文|ANGELICA 编辑|ANGELICA 审核|烨 Lydia 声明|图片来源网络。日晞研究所原创文章,如需转载请留言申请开白。 你有多久没吃卤味了? 2020年之后,人们对于几大卤味巨头的关注度正在下降。 …...
力扣 —— 删除有序数组中的重复项
题目思路 两个指针,一个是游标的功能,负责遍历整个数组,一个是定位器的功能,如果有相等的则表示定位器目前指向的元素是重复的,定位器不动,等待游标往下找到不重复的数填充进来,因为游标会遍历…...
rmdir :删除空文件夹
一、命令简介 在 Linux 系统中,rmdir 命令用于删除空目录(文件夹)。 二、命令参数 rmdir 目录 三、命令示例 删除名为 dir1 的空目录: rmdir dir1删除多个空目录: rmdir dir1 dir2 dir3注意事项…...

网络爬虫Request静态页面数据获取
在现代 Web 开发中,HTTP 请求(Request)是与服务器进行通信的核心操作。无论是在前端还是后端开发中,数据的获取、传递以及处理都离不开请求的应用。特别是在静态页面的数据获取中,使用请求可以将页面变得更加动态和互动,从而大大提升用户体验,使得页面内容更加丰富和灵活…...

网页聊天——测试报告——Selenium自动化测试
一,项目概括 1.1 项目名称 网页聊天 1.2 测试时间 2024.9 1.3 编写目的 对编写的网页聊天项目进行软件测试活动,揭示潜在问题,总结测试经验 二,测试计划 2.1 测试环境与配置 服务器:云服务器 ubuntu_22 PC机&am…...
mysql5.7常用操作命令手册
文章目录 前言一、关闭mysql服务1.mha节点,关闭MHA高可用2.主节点,摘掉vip,停掉mysql服务3.从节点,停掉mysql服务 二、启动mysql1.启动数据库顺序2.主节点,登陆数据库检查主库状态,将主库改成读写状态3.从节点启动配置数据库&…...

前端组件库Element UI 的使用
一、准备工作 1.确保安装了开发软件 VS Code(此处可查阅安装 VS Code教程),确保相关插件安装成功 2.安装Node.js 和创建Vue项目(此处可查阅安装创建教程) 3.成功在VS Code运行一个Vue项目(此处可查阅运行…...

【C++ 基础数学 】2121. 2615相同元素的间隔之和|1760
本文涉及的基础知识点 基础数学 LeetCode2121. 相同元素的间隔之和 难度分:1760 令2165,和此题几乎相等。 给你一个下标从 0 开始、由 n 个整数组成的数组 arr 。 arr 中两个元素的 间隔 定义为它们下标之间的 绝对差 。更正式地,arr[i] 和…...

从手动测试菜鸟,到自动化测试老司机,实现自动化落地
虽然许多伙伴是一个测试老人了,但是基本上所有的测试经验都停留在手工测试方面,对于自动化测试方面的实战经验少之又少。 其实,究其原因:一方面是,自动化方面不求上进,觉得会手工测试就可以了,自…...
docker zookeeper集群启动报错:Cannot open channel to * at election address /ip:3888
下面几点需要注意的: 1、确认在每个$zookeeper_home/data/myid中有对应数字 2、是否关闭防火墙:systemctl stop firewalld,systemctl disable firewalld 3、zoo.cfg中的server需要写成以下形式的: 假如有两台机器,1…...

【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇
前言: 在进入Linux学习之前,我们首先要先做好以下两点:1、已经基本掌握C语言或C,2、已经配置好了Linux的环境,做完以上两点后我们就开始Linux的学习,今天我们首先要学习的就是Linux中最基础的操作ÿ…...
3.Vue2结合element-ui实现国际化多语言i18n
1.安装vue-i18n npm install vue-i18n8.2.1说明:Vue2使用vue-i18n是8.x,Vue3使用的版本是9.x以上,使用错了会导致报错 2.创建多语言文件 在src/下创建src/lang/langs/zh.js和src/lang/langs/en.js两个文件,里面内容如下&#x…...

整数二分算法和浮点数二分算法
整数二分算法和浮点数二分算法 二分 现实中运用到二分的就是猜数字的游戏 假如有A同学说B同学所说数的大小,B同学要在1~100中间猜中数字65,当B同学每次说的数都是范围的一半时这就算是一个二分查找的过程 二分查找的前提是这个数字序列要有单调性 基…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...