AI与测试相辅相成
AI助力软件测试
1.AI赋能软件测试
使用AI工具来帮助测试人员提高测试效率,提供缺陷分析和缺陷预测。
语法格式
设定角色
具体指示
上下文格式
例:
角色:你是一个测试人员
内容:请帮我生成登录案例的测试用例
1.只有输入正确账号和密码才可登录成功
只需要写功能测试、兼容性、安全性方面的测试用例
格式:根据测试用例八要素格式生成
下面是根据测试用例八要素(包括用例编号、测试项目、测试标题、前置条件、输入数据、执行步骤、预期结果、实际结果)为登录功能生成的测试用例,主要涵盖功能测试、兼容性测试及安全性测试三个方面。
用例编号 测试项目 测试标题 前置条件 输入数据 执行步骤 预期结果 实际结果 TC001 功能测试 正确账号和密码登录成功 系统已启动,网络连接正常 账号:user1 密码:pass123 1. 打开登录页面 2. 输入账号user1 3. 输入密码pass123 4. 点击登录按钮 登录成功,跳转至主界面或显示登录成功提示 登录成功,跳转至主界面 TC002 功能测试 错误账号登录失败 系统已启动,网络连接正常 账号:wronguser 密码:pass123 1. 打开登录页面 2. 输入账号wronguser 3. 输入密码pass123 4. 点击登录按钮 显示账号错误或登录失败提示 显示账号错误提示 TC003 功能测试 错误密码登录失败 系统已启动,网络连接正常 账号:user1 密码:wrongpass 1. 打开登录页面 2. 输入账号user1 3. 输入密码wrongpass 4. 点击登录按钮 显示密码错误或登录失败提示 显示密码错误提示 TC004 功能测试 账号或密码为空登录失败 系统已启动,网络连接正常 账号: 密码: 1. 打开登录页面 2. 不输入任何内容 3. 点击登录按钮 显示账号或密码不能为空的提示 显示账号和密码不能为空的提示 TC005 兼容性测试 不同浏览器登录测试 系统已启动,网络连接正常 账号:user1 密码:pass123 1. 分别在Chrome、Firefox、Edge等浏览器中打开登录页面 2. 输入账号user1 3. 输入密码pass123 4. 点击登录按钮 在所有浏览器中均能成功登录 在所有浏览器中均能成功登录,无兼容性问题 TC006 兼容性测试 不同操作系统登录测试 不同操作系统环境 账号:user1 密码:pass123 1. 在Windows、MacOS、Linux等操作系统上启动系统 2. 打开登录页面 3. 输入账号user1 4. 输入密码pass123 5. 点击登录按钮 在所有操作系统上均能成功登录 在所有操作系统上均能成功登录,无兼容性问题 TC007 安全性测试 弱密码检测(如123456) 系统已启动,网络连接正常 账号:user1 密码:123456 1. 打开登录页面 2. 输入账号user1 3. 输入密码123456 4. 点击登录按钮 强制用户修改密码或显示密码强度过低的提示 显示密码强度过低的提示,并要求用户修改密码 TC008 安全性测试 SQL注入攻击尝试(特殊字符输入) 系统已启动,网络连接正常 账号:user1’ OR ‘1’='1 密码: 1. 打开登录页面 2. 输入带有SQL注入尝试的账号 3. 输入任意密码 4. 点击登录按钮 系统应阻止登录并显示错误或安全提示 系统阻止登录,并显示安全提示或错误信息 TC009 安全性测试 登录会话超时测试 系统已启动,网络连接正常 账号:user1 密码:pass123 1. 登录成功 2. 等待超过系统设定的会话超时时间 3. 尝试进行需要登录权限的操作 系统提示用户重新登录 系统提示用户重新登录 请注意,实际测试时可能需要根据具体的应用系统环境、安全策略及业务
以上测试用例使用的是
文心一言,如果还需要更加准确的输出则需要更加详细的描述。
2.单功能测试
软件程序或应用程序只提供一项核心功能或者特性,而不包含其他附加功能。
例:
购物平台就是由多个单功能构成的,登录、注册、浏览商品、加购物车、删除购物车、收藏商品、关注店铺等单功能构成一个平台。
2.1分析需求
根据案例来学习分析需求。(登录需求)
1.账号:必填,已经注册手机号和邮箱
2.密码:必填,需包含数字和字母
3.验证码:正确且未过期
分析
账号:已经注册手机号、已经注册邮箱、为空、未注册手机号(移动、电信、联通)和邮箱是否需要覆盖……
密码:正确密码、全数字、全字母、为空、符号密码、特殊字符……
验证码:正确验证码、为空、过期……
使用等价类法来概括以上测试用例,选取少量数据获得较好的测试效果。
账号
- 有效等价类:已经注册手机号、已经注册邮箱
- 无效等价类:为空、未注册手机号、未注册邮箱
密码
- 有效等价类:正确密码
- 无效等价类:全数字、全字母、为空、符号密码、特殊字符
验证码
- 有效等价类:正确验证码
- 无效等价类:为空、错误、过期
2.2测试点的提取
原则:
- 多个选项有效数据建议组合应用。
- 单个选项无效数据组合其他选项有效数据应用。
有效测试点(登录案例)
- 登录成功(有效手机号+有效密码+有效验证码)
- 登录成功(有效邮箱+有效密码+有效验证码)
无效测试点(登录案例)
- 登录失败(账号为空+有效密码+有效验证码)
- 登录失败(手机号未注册+有效密码+有效验证码)
- 登录失败(邮箱未注册+有效密码+有效验证码)
- 登录失败(注册手机号+无效密码+有效验证码)
- 登录失败(邮箱未注册+空密码+有效验证码)
- 登录失败(注册邮箱+无效密码+有效验证码)
- 登录失败(注册邮箱+空密码+有效验证码)
- 登录失败(注册手机号+空密码+有效验证码)
- 登录失败(注册手机号+有效密码+空验证码)
- 登录失败(注册邮箱+有效密码+空验证码)
- 登录失败(注册邮箱+有效密码+过期验证码)
- 登录失败(注册手机号+有效密码+过期验证码)
- 登录失败(注册手机号+有效密码+错误验证码)
- 登录失败(注册邮箱+有效密码+错误验证码)
- ……
3.非功能测试
除功能测试以外的都为非功能性测试。
接下来介绍其中一种:兼容性测试
在各大主流浏览器中展开测试,要求对于所有页面和功能显示和操作正常。
(谷歌)所有页面和功能显示和操作正常
(IE)所有页面和功能显示和操作正常
(火狐)所有页面和功能显示和操作正常
(苹果)所有页面和功能显示和操作正常
4.业务测试
是指软件为满足用户特定的一系列需求而设计并实现的一系列功能。
例:
下单业务的组成(登录->搜索->浏览->添加购物车->下单商品->支付金额)
作用:测试软件系统单功能之间的关联性数据处理逻辑是否正确。
一般使用流程图来表示整个业务的流程。
如登录流程图!
步骤:1.确认登录流程图 2.流程图的开始到结束都是一条用例
以上可写两条用例进行表示
1.(登录失败)输入不匹配的账号密码 ->跳到注册页面或重新输入
2.(登录成功)输入匹配的账号密码->跳转到首页
相关文章:
AI与测试相辅相成
AI助力软件测试 1.AI赋能软件测试 使用AI工具来帮助测试人员提高测试效率,提供缺陷分析和缺陷预测。 语法格式 设定角色 具体指示 上下文格式 例: 角色:你是一个测试人员 内容:请帮我生成登录案例的测试用例 1.只有输入正确账号和密码才…...
搜索+动态规划
刷题刷题刷题刷题 Forgery - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路: 需要两个数组,一个数组全部初始化为".",另一个数组输入数据,每碰到一个“.”就进行染色操作,将其周围的…...
strcpy,srtcmp,strlen函数漏洞利用
strcpy,srtcmp,strlen函数漏洞利用 strcpy strcpy函数用于将字符串复制到另一个指针指向的空间中,遇到空字符 **b’x\00’**时停止,: 所以可以利用 strcpy不检查缓冲区 的漏洞(构造的字符串要以\0结尾),…...
SketchUp + Enscape+ HTC Focus3 VR
1. 硬件: 设备连接 2. 软件: 安装steam steamVR Vive Business streaming 3. 操作: 双方登录steam 账号,然后带上头盔,用手柄在HTC Focus3 安装 串流软件,选择串流软件,在Enscape中选择 VR 模式即可 4.最终效果: SketchUp Enscape HTC Focus 3 VR 实时预览_哔哩哔哩_bi…...
推荐3款Windows系统的神级软件,免费、轻量、绝对好用!
DiskView DiskView是一款用于管理和查看磁盘空间的工具,它集成了于微软的Windows操作系统资源管理器中,以显示直观的磁盘空间使用情况。该软件通过生成图形化地图,帮助用户组织和管理大量文件和文件夹,从而高效地管理磁盘空间。用…...
-bash: /snap/bin/docker: 没有那个文件或目录
-bash: /snap/bin/docker: 没有那个文件或目录 解决办法 export PATH$PATH:/usr/bin/docker然后,重新加载配置文件 source ~/.bashrc...
[深度学习]卷积理解
单通道卷积 看这个的可视化就很好理解了 https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md 多通道卷积 当输入有多个通道时,卷积核需要拥有相同的通道数. 假设输入有c个通道,那么卷积核的每个通道分别于相应的输入数据通道进行卷积,然后将得到的特征图对…...
基于aardio web.view2库和python playwright包的内嵌浏览器自动化操作
通过cdp协议可以实现playwright操控webview。 新建Python窗口工程 修改pip.aardio 修改pip.aardio,并执行,安装playwright。 //安装模块 import process.python.pip; //process.python.path "python.exe";/* 安装模块。 参数可以用一个字…...
《数据仓库与数据挖掘》 总复习
试卷组成 第一章图 第二章图 第三章图 第四章图 第五章图 第六章图 第九章图 第一章 DW与DM概述 (特点、特性) DB到DW 主要特征 (1)数据太多,信息贫乏(Data Rich, Information Poor)。 &a…...
EtherCAT主站IGH-- 8 -- IGH之domain.h/c文件解析
EtherCAT主站IGH-- 8 -- IGH之domain.h/c文件解析 0 预览一 该文件功能`domain.c` 文件功能函数预览二 函数功能介绍1. `ec_domain_init`2. `ec_domain_clear`3. `ec_domain_add_fmmu_config`4. `ec_domain_add_datagram_pair`5. `ec_domain_finish`6. `ecrt_domain_reg_pdo_en…...
《昇思25天学习打卡营第10天|使用静态图加速》
文章目录 今日所学:一、背景介绍1. 动态图模式2. 静态图模式 三、静态图模式的使用场景四、静态图模式开启方式1. 基于装饰器的开启方式2. 基于context的开启方式 总结: 今日所学: 在上一集中,我学习了保存与加载的方法ÿ…...
【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十二)
课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 32 节) P32《31.通知-基础通知》 基础文本类型通知:briefText 没有用,写了也白写。 长文本类型…...
六西格玛绿带培训如何告别“走过场”?落地生根
近年来,六西格玛绿带培训已经成为了众多企业提升管理水平和员工技能的重要途径。然而,不少企业在实施六西格玛绿带培训时,往往陷入形式主义的泥潭,导致培训效果大打折扣。那么,如何避免六西格玛绿带培训变成“走过场”…...
Linux——提取包文件到指定目录,命令解释器-shell,type 命令
- 提取包文件到指定目录 bash tar xf/-xf/-xzf 文件名.tar.gz [-C 目标路径] tar xf/-xf/-xjf 文件名.tar.bz2 [-C 目标路径] tar xf/-xf/-xJf 文件名.tar.xz [-C 目标路径] ### 示例 - 将/etc下所有内容打包压缩到/root目录中 bash [rootserver ~]# tar -cvf taretc…...
【最详细】PhotoScan(MetaShape)全流程教程
愿天下心诚士子,人人会PhotoScan! 愿天下惊艳后辈,人人可剑开天门! 本教程由CSDN用户CV_X.Wang撰写,所用数据均来自山东科技大学视觉测量研究团队,特此鸣谢!盗版必究! 一、引子 Ph…...
Excel多表格合并
我这里一共有25张表格: 所有表的表头和格式都一样,但是内容不一样: 现在我要做的是把所有表格的内容合并到一起,研究了一下发现WPS的这项功能要开会员的,本来想用代码撸出来的,但是后来想想还是找其他办法,后来找到"易用宝"这个插件,这个插件可以从如下地址下载:ht…...
AI作画工具深度剖析:Midjourney vs. Stable Diffusion (SD)
在人工智能技术的推动下,艺术创作的边界被不断拓宽,AI作画工具成为数字艺术家与创意人士的新宠。其中,Midjourney与Stable Diffusion(SD)作为当前领域的佼佼者,以其独特的算法机制、丰富的功能特性及高质量…...
ASP.NET Core Blazor 5:Blazor表单和数据
本章将描述 Blazor 为处理 HTML 表单提供的特性,包括对数据验证的支持。 1 准备工作 继续使用上一章项目。 创建 Blazor/Forms 文件夹并添加一个名为 EmptyLayout.razor 的 Razor 组件。本章使用这个组件作为主要的布局。 inherits LayoutComponentBase<div …...
C++ 仿QT信号槽二
// 实现原理 // 每个signal映射到bitset位,全集 // 每个slot做为signal的bitset子集 // signal全集触发,标志位有效 // flip将触发事件队列前置 // slot检测智能指针全集触发的标志位,主动运行子集绑定的函数 // 下一帧对bitset全集进行触发清…...
联合概率密度函数
目录 1. 什么是概率密度由联合概率密度求概率参考链接 1. 什么是概率密度 概率密度到底在表达什么? 外卖在20-40分钟内送达的概率 随机变量落在[20,40]之间的概率。下图中,对总面积做规范化处理,令总面积1, f ( x ) f(x) f(x)则成…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
C#最佳实践:为何优先使用as或is而非强制转换
C#最佳实践:为何优先使用as或is而非强制转换 在 C# 的编程世界里,类型转换是我们经常会遇到的操作。就像在现实生活中,我们可能需要把不同形状的物品重新整理归类一样,在代码里,我们也常常需要将一个数据类型转换为另…...
