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

质量小议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#设计模式之访问者模式

总目录 前言 在软件构建过程中&#xff0c;由于需求的改变&#xff0c;某些类层次结构中常常需要增加新的行为&#xff0c;如果直接在基类中做这样的更改&#xff0c;将会给子类带来很繁重的变更负担&#xff0c;甚至破坏原有设计。如何在不更改类层次结构的前提下&#xff0c…...

一次RPC调用过程是怎么样的?

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

鸭脖变“刺客”,啃不起了

撰文&#xff5c;ANGELICA 编辑&#xff5c;ANGELICA 审核&#xff5c;烨 Lydia 声明&#xff5c;图片来源网络。日晞研究所原创文章&#xff0c;如需转载请留言申请开白。 你有多久没吃卤味了&#xff1f; 2020年之后&#xff0c;人们对于几大卤味巨头的关注度正在下降。 …...

力扣 —— 删除有序数组中的重复项

题目思路 两个指针&#xff0c;一个是游标的功能&#xff0c;负责遍历整个数组&#xff0c;一个是定位器的功能&#xff0c;如果有相等的则表示定位器目前指向的元素是重复的&#xff0c;定位器不动&#xff0c;等待游标往下找到不重复的数填充进来&#xff0c;因为游标会遍历…...

rmdir :删除空文件夹

一、命令简介 在 Linux 系统中&#xff0c;rmdir​ 命令用于删除空目录&#xff08;文件夹&#xff09;。 ‍ 二、命令参数 rmdir 目录‍ 三、命令示例 删除名为 dir1​ 的空目录&#xff1a; rmdir dir1删除多个空目录&#xff1a; rmdir dir1 dir2 dir3注意事项&#xf…...

网络爬虫Request静态页面数据获取

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

网页聊天——测试报告——Selenium自动化测试

一&#xff0c;项目概括 1.1 项目名称 网页聊天 1.2 测试时间 2024.9 1.3 编写目的 对编写的网页聊天项目进行软件测试活动&#xff0c;揭示潜在问题&#xff0c;总结测试经验 二&#xff0c;测试计划 2.1 测试环境与配置 服务器&#xff1a;云服务器 ubuntu_22 PC机&am…...

mysql5.7常用操作命令手册

文章目录 前言一、关闭mysql服务1.mha节点,关闭MHA高可用2.主节点&#xff0c;摘掉vip&#xff0c;停掉mysql服务3.从节点&#xff0c;停掉mysql服务 二、启动mysql1.启动数据库顺序2.主节点&#xff0c;登陆数据库检查主库状态,将主库改成读写状态3.从节点启动配置数据库&…...

前端组件库Element UI 的使用

一、准备工作 1.确保安装了开发软件 VS Code&#xff08;此处可查阅安装 VS Code教程&#xff09;&#xff0c;确保相关插件安装成功 2.安装Node.js 和创建Vue项目&#xff08;此处可查阅安装创建教程&#xff09; 3.成功在VS Code运行一个Vue项目&#xff08;此处可查阅运行…...

【C++ 基础数学 】2121. 2615相同元素的间隔之和|1760

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

从手动测试菜鸟,到自动化测试老司机,实现自动化落地

虽然许多伙伴是一个测试老人了&#xff0c;但是基本上所有的测试经验都停留在手工测试方面&#xff0c;对于自动化测试方面的实战经验少之又少。 其实&#xff0c;究其原因&#xff1a;一方面是&#xff0c;自动化方面不求上进&#xff0c;觉得会手工测试就可以了&#xff0c;自…...

docker zookeeper集群启动报错:Cannot open channel to * at election address /ip:3888

下面几点需要注意的&#xff1a; 1、确认在每个$zookeeper_home/data/myid中有对应数字 2、是否关闭防火墙&#xff1a;systemctl stop firewalld&#xff0c;systemctl disable firewalld 3、zoo.cfg中的server需要写成以下形式的&#xff1a; 假如有两台机器&#xff0c;1…...

【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇

前言&#xff1a; 在进入Linux学习之前&#xff0c;我们首先要先做好以下两点&#xff1a;1、已经基本掌握C语言或C&#xff0c;2、已经配置好了Linux的环境&#xff0c;做完以上两点后我们就开始Linux的学习&#xff0c;今天我们首先要学习的就是Linux中最基础的操作&#xff…...

3.Vue2结合element-ui实现国际化多语言i18n

1.安装vue-i18n npm install vue-i18n8.2.1说明&#xff1a;Vue2使用vue-i18n是8.x&#xff0c;Vue3使用的版本是9.x以上&#xff0c;使用错了会导致报错 2.创建多语言文件 在src/下创建src/lang/langs/zh.js和src/lang/langs/en.js两个文件&#xff0c;里面内容如下&#x…...

整数二分算法和浮点数二分算法

整数二分算法和浮点数二分算法 二分 现实中运用到二分的就是猜数字的游戏 假如有A同学说B同学所说数的大小&#xff0c;B同学要在1~100中间猜中数字65&#xff0c;当B同学每次说的数都是范围的一半时这就算是一个二分查找的过程 二分查找的前提是这个数字序列要有单调性 基…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

12.找到字符串中所有字母异位词

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

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

32位寻址与64位寻址

32位寻址与64位寻址 32位寻址是什么&#xff1f; 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元&#xff08;地址&#xff09;&#xff0c;其核心含义与能力如下&#xff1a; 1. 核心定义 地址位宽&#xff1a;CPU或内存控制器用32位…...