技术标签: 自动化测试 测试用例 测试 功能测试 chatgpt
ChatGPT4已经发布了并引起了巨大的反响,有一些基于ChatGPT的应用还是令人印象深刻的,比如
在GPT4的论文中有一句话是这么说的:
GPT-4和类似的模型可能会从此引起失业,甚至那些需要多年经验和教育的职位也可能逐渐消失,比如法律服务。
简单理解就是GPT-4模型专治老专家,作为功能测试人员,领域经验往往是非常核心的竞争力,从业年限越久,老专家属性越明显。那么ChatGPT可以替代软件测试从业者么?
我们不妨直接试一试先,验证一下这个想法。
最简单的登录用例
ChatGPT4需要尊贵的会员才能使用,bing的聊天功能就成了比较理想的平替了,据说其背后也是gpt4模型。下面所有的内容均是使用bing生成的。
问:我有一个web系统的登录页面,其中有1个用户名的文本框,密码文本框以及登录按钮,请帮我写一些测试用例来验证登录功能?
你好,这是Bing。我可以帮你写一些测试用例来验证登录功能。根据网上的资料1234,你可以从以下几个方面来设计测试用例:
功能测试:检查用户名、密码、验证码的输入和校验,以及登录按钮的点击和跳转 性能测试:检查登录界面的加载速度,以及不同情况下的响应时间 界面测试:检查登录界面的布局、样式、字体、颜色等是否符合设计要求 安全性测试:检查是否有防止SQL注入、暴力破解、跨站脚本等攻击的措施 兼容性测试:检查在不同的浏览器、操作系统、分辨率下是否能正常显示和使用 可用性测试:检查是否支持Tab和Enter键,以及提示语是否友好 你想要我给你具体的例子吗?
问:是的,请给我一些功能测试的例子。
好的,我可以给你一些功能测试的例子。根据网上的资料²³⁴,你可以按照以下的表格来编写测试用例:
这些是一些基本的功能测试用例。你还想要我给你其他方面的测试用例吗?
问:是的,更多用例
你想要我给你哪个方面的测试用例?是性能测试、界面测试、安全性测试、兼容性测试还是可用性测试?
问:性能测试
好的,我可以给你一些性能测试的例子。根据网上的资料¹²,你可以按照以下的表格来编写测试用例:
这些是一些基本的性能测试用例。你还想要我给你其他方面的测试用例吗?
源: 与必应的对话, 2023/3/16(1) 性能测试中如何编写测试用例 - 知乎. https://zhuanlan.zhihu.com/p/373180730 访问时间 2023/3/16. (2) 登录功能常用测试用例 - 肖兔—随遇而安 - 博客园. https://www.cnblogs.com/Happy-To-Lucky/p/14183788.html 访问时间 2023/3/16. (3) 登录测试用例 - 知乎. https://zhuanlan.zhihu.com/p/375249371 访问时间 2023/3/16.
问:用什么工具做性能测试呢?
性能测试工具有很多种,你可以根据你的需求和预算来选择。根据网上的资料¹²³⁴⁵,一些主流的性能测试工具有:
这些只是一部分性能测试工具。你还想要我给你其他方面的信息吗?
问:能给一个jmeter进行登录测试的例子吗
JMeter是一款基于Java开发的性能测试工具,可以对Web应用、数据库、FTP等进行压力测试,支持多种协议和插件,易于扩展和定制。³
要使用JMeter进行登录测试,你需要先配置好HTTP请求的参数,如协议、服务器名称或IP、端口号、路径等。然后你需要添加一个HTTP请求采样器,填写登录接口的URL和请求方法(通常是POST),以及登录所需的参数(如用户名和密码)。²⁴⁵
如果登录接口需要携带Cookie或Session信息,你还需要添加一个HTTP Cookie管理器或HTTP Header管理器来保存和发送这些信息。¹⁴
最后,你可以添加一个查看结果树或聚合报告来查看登录测试的结果,如响应时间、响应数据、错误率等。²⁴⁵
下面是一个JMeter进行登录测试的例子:
Thread Group
- Number of Threads: 10
- Ramp-Up Period: 10
- Loop Count: 2
HTTP Request Defaults
- Protocol: http
- Server Name or IP: www.example.com
- Port Number: 80
HTTP Cookie Manager
HTTP Request (Login)
- Path: /login
- Method: POST
- Parameters:
- name: username, value: testuser
- name: password, value: testpass
View Results Tree
这个例子表示在10秒内模拟10个用户对www.example.com/login接口进行POST请求,发送用户名和密码参数,并保存Cookie信息。循环执行两次,共计20次请求,并查看结果树。
希望这个例子能对你有所帮助。
问:登录页面的安全测试怎么做?
登录页面的安全测试是指对登录页面的安全性进行检查,防止用户的信息被泄露或者被恶意攻击。²³⁴
登录页面的安全测试主要包括以下几个方面:
这些是一些常见的登录页面安全测试点,你还有其他问题吗?
初步看来
生成的功能测试用例还是水平在线的,特别是用例都有描述和预期结果,起码生成的都是结构完备的测试用例。从功能覆盖率上说也没啥问题,基本的要点都有,而且异常情况也有比较多的覆盖。
在性能测试方面也没啥大问题,尽管直接拿来执行不太可能,不过测试的思路是有了的。
安全测试方面很惊艳,比我自己考虑的都要全面。
难度升级
登录页面太简单,来点复杂的。
问: 我有一个测试用例管理系统,系统里有一个创建测试用例的功能。创建页面上有3个字段,用例名称,测试步骤,预期结果,这三个字段都是必填的,还有一个创建按钮,如果所有必填项都完备的话,点击后会成功创建,否则会给出错误提示。请根据我的描述尽可能多的生成测试用例
你好,我是Bing。我可以帮助你生成一些测试用例,但是你需要提供更多的信息,比如测试目标、测试范围、测试环境等。根据你的描述,我猜测你的系统是一个基于web的测试用例管理系统¹²⁴⁵,如果是这样的话,你可以参考以下的一些测试用例:
问:请补充更多用例
好的,我可以根据你的需求,再补充一些测试用例,但是你需要明确你的测试目标是什么,比如功能测试、性能测试、安全测试等。不同的测试目标,需要考虑的因素和场景也不同。¹²³⁴⁵
假设你的测试目标是功能测试,那么你可以参考以下的一些测试用例:
表现惊艳
不过因为用例管理系统里有很多领域相关的知识,比如用例编号应该有格式等,这些是bing的搜索结果里所缺失的,所以生成的用例偏common sense, 专业程度不够。但如果基于特定的领域去做训练的话,专业程度提升也是触手可得的事情。
我的看法
如果训练的材料足够多且精准,ChatGPT完全可以替代测试人员进行用例的编写,但是目前看来生成的用例还是需要人工去执行,所以点来点去的工作短期无法取代,不过后面AI的发展可能会从生成内容变成执行操作,因此未来的某一天点点点的工作也可能被取代。不过gpt生成的用例是否合理并且有无遗漏这点还是要专业人士来评判,所以测试老专家们大可不必担心,以后的测试行为可能变成:让AI写用例,老司机修改和补充用例,最后让初级和中级测试人员甚至是AI进行用例的执行和反馈。
除了写用例之外,测试同学还可以使用ChatGPT来进行自动化代码的生成,从而可以提高一些生产效率,所以短期来看,使用ChatGPT辅助进行自动化测试的生产力提升的操作还是可以期待一下的。这可以比较好的解决一些测试同学代码能力不足的问题,不过凡是都有两面性,尽管可以用AI来辅助做自动化测试,但是AI生成的代码如果有问题需要修改的话,还是需要很强的编程能力的。所以哪怕是辅助做自动化测试,本质上还是利好老司机。
中期看来AI将会成为强大的测试提效工具,比如生成一些测试文档,用例等。
从足够远的远期来看,最终大部分基于有限经验的进行测试的测试人员可能会被AI取代,剩下一些老司机进行更具创造性的测试工作。测试人员的规模可能会减少,但测试这个角色应该还会存在。
你的既有经验将被机器学习和传承,你的创造力才是立身之本。不论在任何时候,企业需要降本增效,员工需要增强自身核心竞争力,行业才能得到良性的发展。
如果你不希望一个人孤立无援的成长,可以从下方入口加入我们,有很多视频教程可以一起交流学习
文章浏览阅读1.3k次。SBEC016智能电池管理方案功能说明1、 SBEC016方案控制芯片采用Atmel AVR系列芯片,低功耗,工作稳定 2、 支持19V/4.5A DC输入3、 输出电压包含12V/6A 、5.1V/0.5A(5V standby )、5.1V/6.5A4、 支持双电池,选用电池符合智能电池规格(SBS V1.1)5、 支持2S1P~4S2P电池,通过修改EC参数实现,更换电池串并数无需修改硬件6、 系统关机及无DC输出时,EC可以进行休眠模式,达到最省电待机状态7、 Windows或lin_电池管理方案
文章浏览阅读2.8k次。oracle12c的em经过精简,比11g小 很多,登陆方式也发生了变化,原来的http://localhost:1158/em或者https://localhost:1158/em登陆总是会遇到问题,解决方法需要使用到XDB,需要设置一下端口。先连接上Copyright (c) 1982, 2014, Oracle. All rights reserved.请输入用户名_oracle12 访问http
文章浏览阅读2.6k次。问题描述项目压测的时候一直报错HikariPool-1 - Connection is not available, request timed out after解决方案在yml中配置如下参数hikari: connection-timeout: 60000 idle-timeout: 60000 login-timeout: 5 max-lifetime: 60000 maximum-pool-size: 400 mi
文章浏览阅读5.2k次。比如现在有以下两个包:现在想在Boss类里面实现对Employee的调用,怎么做呢?(视频教程推荐:java视频)Employee.java:package payroll2;public class Employee {public void move(){System.out.print("this is employee");}}如果想实现对包的调用,可使用import关键字,然后再用调用类..._java调用其他包的静态类
文章浏览阅读76次。运行级别 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行运行级别 1:单用户工作状态,root权限,用于系统维护,找回丢失root密码,禁止远程登陆运行级别 2:多用户状态没有网络服务(没有NFS)运行级别 3:多用户状态有网络服务(有NFS),登陆后进入控制台命令行模式运行级别 4:系统未使用保留给用户运行级别 5:图形界面运行级别 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动常用运行级别是3和5,工作中一般用3,也可以指定默认运行级别。_linux相关
文章浏览阅读4.7k次,点赞9次,收藏67次。一、软件准备前往恩智浦官网下载MCAL软件包、EB Tresos 、以及S32DS IDE:以下软件均有NXP免费提供,但需注册账号获取S32DS IDE下载EB Tresos以及MCAL下载S32DS版本为:S32 Design Studio 3.2其中EB Tresos版本为:24.0MCAL版本为:S32K14X_MCAL4_2_RTM_1_0_0NXP MCAL软件包后缀说明:HF为补丁版本 RTMC为发布版本软件安装请参考:NXP_AUT.._s32ds教程
文章浏览阅读1.3k次。如果打开Beyond Compare如图:删除C:\Users\<计算机名>\AppData\Roaming\Scooter Software\Beyond Compare 4路径下的所有文件然后重新打开就可以了_bc密钥吊销
文章浏览阅读7.3k次,点赞38次,收藏162次。文章目录1、简介2、快速入门3、功能3.1 标记( Markers)3.2 矢量图层( Vector Layers)3.3 事件处理( Event Handling)后记JavaScript library for mobile-friendly interactive maps1、简介https://github.com/Leaflet/Leaflethttps://leafletjs.com/SlavaUkraini/index.htmlLeaflet.js是一个开源库,使用它我们可以部_leaflet.js教程
文章浏览阅读2.8k次,点赞6次,收藏36次。点评项目面试版_黑马点评
文章浏览阅读1.1k次。在MS SQL SERVER中,我们有时候会碰到下面这种数据库,所有者是登录数据库的用户,如下图,但我们却没有办法直接在数据库管理工具中直接修改数据库所有者。这样会给我们后继的一些操作带来不便,至少对MitchellChu我来说是非常不便的,因为我后继想对登录用户的权限做些限制,因此需要寻求数据库所有者的修改办法。修改数据库所有者的方法有两种:一种老方法,一种新方法 ——当然,都是在SQL语句中操..._更改相应数据库的所有者
文章浏览阅读5.3k次,点赞9次,收藏85次。本人Web安全初学者,记录分享一下学习历程,推荐评价仅代表个人观点,不足之处欢迎各位表哥指正……CTF基础知识:分类: 基础知识 | CTFHubEnjoy your's CTFhttps://writeup.ctfhub.com/categories/Skill/%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/CTFHub这里讲得很全面了……题目类型、比赛模式都有学习视频: 1. i春秋渗透测试工程师就业班-基础篇vm和L..._ctf web题 local access hacker
文章浏览阅读1k次。如果您要花时间浏览网页,您可能遇到的一项任务就是从HTML中删除可见的文本内容。如果您使用的是Python,我们可以使用BeautifulSoup来完成此任务。设置提取首先,我们需要获取一些HTML。我将使用Troy Hunt最近关于“Collection#1”Data Breach的博客文章。以下是您下载HTML的方法:import requestsurl = 'https..._beautifusoup提取汉字