【AI+手工/自动化测试】— 测试全流程解析+自动化测试(从需求分析到测试报告的完整学习记录,解锁AI工具如何赋能测试)

【AI+手工/自动化测试】— 测试全流程解析+自动化测试(从需求分析到测试报告的完整学习记录,解锁AI工具如何赋能测试)
案例:我尝试了课程中的TpShop网页无法正常访问,所以学习过程中我自己换成了网易邮箱登录界面来进行验证!注意该篇笔记中在底部放入了我自己的验证过程!(见目录:⭐6.网易邮箱登录测试的实现代码)大家可自行复制我的代码尝试!

视频链接:黑马程序员(仅做学习记录,如有侵权请告知删除)https://www.bilibili.com/video/BV1edEizxEbU/?spm_id_from=333.1387.favlist.content.click

目录

一、AI手工测试入门

1.测试基础

2.AI工具基本应用(DeepSeek)

3.编写测试计划

4.设计测试

5.描述缺陷

6.编写测试报告

二、AI自动化测试

1.自动化测试基础

2.环境搭建

3.Web自动化测试快速入门

4.Pycharm集成AI编码工具

5.通义灵码应用实战

⭐6.网易邮箱登录测试的实现代码

7.断言

8.pytest框架

⭐8.4 对网易邮箱登录模块进行提取公共代码测试:

9.测试报告(基于pytest)

本篇完结!


一、AI手工测试入门

1.测试基础

1.1 软件测试是什么

         软件测试是检查软件是否按预期运行的过程。

1.2 作用

         保证质量、降低成本、提升体验。

1.3 测什么

         测试内容主要围绕质量模型展开——是确保软件在功能、性能、安全性、易用性、兼容性、可维护性、可迁移性、可靠性方面达到预期质量水平。

1.4 测试流程

         需求分析、测试计划、测试设计、测试执行、缺陷管理、测试报告。

1.5 质量模型的应用示例


2.AI工具基本应用(DeepSeek)

2.1 DeepSeek三种模式应用:

基础模式:常规问题、速度快深度思考(R1):复杂问题、速度慢联网搜索:时效问题、适中

 2.2 AI沟通使用:

          使用结构化的表达,可提高精准率。结构化公式:角色+任务+背景+要求+输出

 2.3 应用案例:(假设示例已存在背景条件)

提示词:

需求文档:

     

将需求文档和评审要求发送给AI工具:

生成结果如下: 

结果不同取决于投喂的提示词!


3.编写测试计划

3.1 测试计划介绍

3.2 如何用AI编写


4.设计测试

4.1 AI测试步骤:

提供需求给AI,设计测试点评审测试点将测试点转为可执行文档(测试用例)

4.2 功能测试点要求:

100%覆盖需求边界范围覆盖格式不正确类型不正确为空

4.3 登录案例实战——设计测试

步骤:

1.根据需求设计测试点

       测试点:一个功能需要被检查的“点”,是需要覆盖的测试目标。

2. 测试点评审

        评审:AI进行查漏补缺。

3.将测试点转为测试用例

生成结果如下:

复制到表格文件:

 4.4 登录案例实战——执行测试


5.描述缺陷

5.1 缺陷介绍

          软件中存在的任何问题都是缺陷(bug)。

缺陷判断的衡量标准:1.少功能:软件为实现需求规格说明书中明确要求的功能2.多功能:软件实现的功能超出需求规格说明书指明的范围3.功能错误:软件出现了需求规格说明书中指明不应该出现的错误4.隐形功能缺失/错误:软件为实现需求规格说明书中虽未明确指明但应该实现的要求5.不易使用:软件难以理解,不易使用,运行缓慢,用户体验不好。

5.2 缺陷描述

重点内容:

当前指派:将bug提交给谁Bug类型: 代码错误、设计缺陷、········Bug标题: 描述bug问题严重程度:bug的严重程度优先级:    bug的修复紧急程度重现步骤:复现步骤附件:       执行实际结果截图或日志文件

5.3 案例实战——执行失败的用例提交bug

发送给AI工具: 

 生成结果如下:

登录禅道官网提交Bug:

输入Bug内容信息,点击保存: 

后续由指派的开发人员点击bug详情,并验证复现一下问题,如果确认是bug,则点击确认。修改完善代码后,再上传代码并点击已解决

再由测试人员进行复现,如果bug不存在了,则点击关闭bug。

以上即为一个bug的测试生命周期。


6.编写测试报告

6.1 测试报告

定义:测试报告是测试工作的总结,记录测试过程、结果和结论。

内容:

6.2 如何利用DS编写测试报告

1.准备数据:

2.编写提示词:

生成结果如下:


二、AI自动化测试

1.自动化测试基础

1.1 自动化测试介绍

定义:自动化测试是通过工具或脚本自动执行测试用例,验证软件功能的过程。

对比:

优势:

 

 1.2 自动化测试示例

1.3 自动化测试流程

          挑选用例—>搭建环境—>编写脚本—>回归测试


2.环境搭建

2.1 所需环境

2.2 环境搭建—Python

2.3 环境搭建—Pycharm

2.4 环境搭建—Selenium

①第一种方式:在终端页面下载安装

②第二种方式:在Pycharm中下载安装(推荐)

2.5 环境搭建—浏览器


3.Web自动化测试快速入门

3.1 快速入门——Selenium

  • 概念:是一个用于Web应用程序测试的工具。
  • 作用:可以使用代码对Web页面进行操作,完成Web应用程序自动化测试。

3.2 快速入门——案例实战

实现步骤:

1.启动浏览器

2.打开百度首页

3.搜索操作

       ①查找搜索文本框,输入:搜索关键字

       ②查找“百度一下”按钮,点击开始搜索

4.关闭浏览器

代码框架:

3.3 如何利用DS实现

提示词:

 

生成结果如下:(实现代码)

# 导入selenium相关模块 from selenium import webdriver from selenium.webdriver.common.by import By import time # 用于添加简单等待 # 1. 启动Edge浏览器 driver = webdriver.Chrome() # 创建Edge浏览器实例 # 2. 打开百度首页 driver.get("https://www.baidu.com") # 访问百度网址 time.sleep(2) # 等待2秒让页面加载(简单等待方式) # 3. 定位搜索框并输入关键词 # 通过ID定位搜索框元素,ID为'kw' search_box = driver.find_element(By.ID, value="kw") search_box.clear() # 清空搜索框原有内容 search_box.send_keys("北京烤鸭") # 输入指定关键词 time.sleep(2) # 等待2秒让页面加载(简单等待方式) # 4. 定位并点击搜索按钮 # 通过ID定位搜索按钮,ID为'su' search_btn = driver.find_element(By.ID, value="su") search_btn.click() # 执行点击操作 time.sleep(5) # 等待2秒让页面加载(简单等待方式) # 后续可添加更多操作,如等待搜索结果加载、验证结果等 # 最后关闭浏览器(可根据需要保留,若脚本执行完自动关闭) driver.quit() 

4.Pycharm集成AI编码工具

小结:

4.1 安装 

4.2 注释

4.3 为#注释文本处给出智能提示补全代码


5.通义灵码应用实战

5.1 利用AI工具编写登录自动化测试脚本

自动化测试流程:

这里因为老师提供的TpShop部署环境,我登陆其网址不能正确访问,于是我决定将用例换成网易邮箱的登录界面:  https://mail.163.com/

编写脚本:

案例提示词:

(注意:以上为老师的步骤模板,某些部分不同的元素我都相应改成了网易邮箱登陆页面的元素,动态变化的元素需要手动地在开发者工具中查找定位元素名并修改)

 5.2 小结

⭐6.网易邮箱登录测试的实现代码

from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time # 初始化浏览器驱动(这里以Chrome为例) driver_path = r'C:\Users\lenove\Downloads\chromedriver-win64\chromedriver.exe' #下载浏览器驱动到本地路径 service = Service(driver_path) #保存驱动路径的服务 driver = webdriver.Chrome(service=service) #启动服务 # 打开网易邮箱登录页面 driver.get("https://mail.163.com/") driver.maximize_window() # 最大化浏览器窗口 # 显式等待:等待表单iframe加载完成(网易邮箱登录框在iframe内) WebDriverWait(driver, 5).until( EC.frame_to_be_available_and_switch_to_it( (By.CSS_SELECTOR, "iframe[id^='x-URS-iframe']") ) ) time.sleep(3) # 定位账号输入框 email_input = driver.find_element( By.CSS_SELECTOR, "input[name='email'][data-placeholder='邮箱账号或手机号码']" ) email_input.send_keys("你的账号") # 替换为你的实际测试账号 time.sleep(3) # 定位密码输入框 pwd_input = driver.find_element( By.CSS_SELECTOR, "input[name='password'][data-placeholder='输入密码']" ) pwd_input.send_keys("你的密码") # 替换为你的实际测试密码 time.sleep(3) # 定位登录按钮 login_btn = driver.find_element( By.CSS_SELECTOR, "#dologin" ) login_btn.click() time.sleep(10) driver.quit() # 关闭浏览器 

 运行结果:


7.断言

7.1 断言的介绍

断言:是一种检查机制,用于验证某个条件是否为真,如果条件为真测试通过,如果条件为假测试失败。

应用:

1.验证相等



2.验证为真或假



3.验证是否存在集合中

思考:

7.2 登录断言实现

  • 获取文本方法:
driver.find_element(By.CSS_SELECTOR, "value").text
  • 捕获断言:
  • 提示词: #暂停2秒,断言昵称为 1362220000

7.3 小结


8.pytest框架

8.1 知识介绍入门

介绍:Pytest是功能强大且灵活的Python测试框架,广泛用于单元测试、功能测试、集成测试。

特点:

自动搜索测试用例。支持参数化测试,fixture等高级功能。详细的测试失败报告,便于调试。丰富的插件生态系统,可扩展功能。

安装:

 

验证:

更多学习用法可参考官方文档:pytest 文档 - pytest 测试框架

8.2 基本应用

说明:Pytest的测试文件通常以 test_*.py 开头,测试函数也是以 test 开头。

fixture:Pytest为测试提供可重用的代码功能,可以使用scope控制的作用域。

作用:将公共代码抽取出来,后期便于代码复用

8.3 案例应用(提示词)

⭐8.4 对网易邮箱登录模块进行提取公共代码测试:

import pytest from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys # 使用pytest的fixture来封装浏览器的启动和关闭 @pytest.fixture(scope="module") def browser(): # 初始化浏览器驱动(这里以Chrome为例) driver_path = r'C:\Users\lenove\Downloads\chromedriver-win64\chromedriver.exe' # 下载浏览器驱动到本地路径 service = Service(driver_path) # 保存驱动路径的服务 driver = webdriver.Chrome(service=service) # 启动服务 driver.implicitly_wait(10) # 设置隐式等待时间为10秒 yield driver # 返回浏览器对象 driver.quit() # 测试结束后关闭浏览器 # 测试登录功能 def test_login(browser): # 打开163邮箱登录页面 browser.get("https://mail.163.com/") # 切换到登录iframe,因为登录表单在iframe中 iframe = browser.find_element(By.CSS_SELECTOR, "iframe[id^='x-URS-iframe']") browser.switch_to.frame(iframe) # 定位邮箱账号输入框并输入账号 email_input = browser.find_element(By.CSS_SELECTOR, "input[name='email'][data-placeholder='邮箱账号或手机号码']") email_input.send_keys("你的账号") # 定位密码输入框并输入密码 password_input = browser.find_element(By.CSS_SELECTOR, "input[name='password'][data-placeholder='输入密码']") password_input.send_keys("你的密码") # 定位登录按钮并点击 login_button = browser.find_element(By.CSS_SELECTOR, "#dologin") login_button.click()

运行结果:

8.5 小结


9.测试报告(基于pytest)

pytest 默认可以生成一些简单报告,比如命令:pytest --html=report.html可生成静态的 HTML 格式报告(报告格式简单,包含测试用例列表、执行结果(通过 / 失败)、耗时等基本信息。)

Allure 报告是一种更美观、信息更丰富、功能更强大的测试报告。

下面是使用 pytest 生成可视化 Allure 报告的步骤:

9.1 Allure报告介绍、安装 (前置:已有Java运行环境)

介绍:Allure报告是一个开源的、多语言支持的自动化测试报告工具,皆在生成可视化的、直观、交互式的HTML测试报告。

安装:Allure报告的安装分为两部分,Pytest  Allure插件Allure命令行工具

9.2 Allure应用

步骤:1.使用 pytest 运行测试并生成 Allure 数据:pytest --alluredir=report (指定目录名)

示例:2.启动临时服务生成并查看allure报告:allure serve report(指定目录名)

示例:

3.将Allure数据生成静态HTML报告allure generate report -o allure-report --clean

 9.3 小结

本篇完结!

Read more

GLM-4.6V-Flash-WEB Web界面使用指南,拖图就出结果

GLM-4.6V-Flash-WEB Web界面使用指南,拖图就出结果 你不需要配置环境、不用写一行推理代码、甚至不用打开终端——只要把一张截图拖进浏览器窗口,几秒钟后,它就能告诉你图里写了什么、画了什么、哪里有问题。这不是未来预告,而是你现在就能在本地跑起来的真实体验。 GLM-4.6V-Flash-WEB 是智谱AI最新开源的轻量级视觉语言模型,专为Web端实时交互而生。它不像某些“实验室模型”那样只存在于论文和Benchmark表格里,而是真正做到了:部署快、启动快、响应快、上手更快。一块RTX 3090,一个浏览器,一次拖拽,结果即刻呈现。 本文不讲训练原理,不列参数表格,不堆技术术语。我们只聚焦一件事:怎么用好它的Web界面?从零开始,到稳定产出,每一步都清晰可操作。 1. 为什么说“拖图就出结果”不是宣传话术? 很多多模态模型标榜“支持图文理解”,但实际用起来才发现:要装依赖、改路径、调精度、修CUDA版本、

前端防范 XSS(跨站脚本攻击)

目录 一、防范措施 1.layui util  核心转义的特殊字符 示例 2.js-xss.js库 安装 1. Node.js 环境(npm/yarn) 2. 浏览器环境 核心 API 基础使用 1. 基础过滤(默认规则) 2. 自定义过滤规则 (1)允许特定标签 (2)允许特定属性 (3)自定义标签处理 (4)自定义属性处理 (5)转义特定字符 常见场景示例 1. 过滤用户输入的评论内容 2. 允许特定富文本标签(如富文本编辑器内容) 注意事项 更多配置 XSS(跨站脚本攻击)是一种常见的网络攻击手段,它允许攻击者将恶意脚本注入到其他用户的浏览器中。

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录 1. 打开浏览器开发者工具 2. 使用 Network 面板 3. 查看具体的API请求 a. Headers b. Payload c. Response d. Preview e. Timing 4. 实际操作步骤 5. 常见问题及解决方法 a. 无法看到API请求 b. 请求失败 c. 跨域问题(CORS) 作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。 1. 打开浏览器开发者工具 按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。 2. 使用

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例)

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例) 前端开发中最令人头疼的莫过于那些难以定位的UI问题——元素错位、样式冲突、响应式失效...传统调试方式往往需要反复修改代码、刷新页面、检查元素。现在,通过Cursor编辑器集成的Codex功能,你可以直接用截图交互快速定位和修复这些问题。本文将带你从零开始,掌握这套革命性的调试工作流。 1. 环境准备与基础配置 在开始之前,确保你已经具备以下环境: * Cursor编辑器最新版(v2.5+) * Node.js 18.x及以上版本 * React 18项目(本文以Chakra UI 2.x为例) 首先在Cursor中安装Codex插件: 1. 点击左侧扩展图标 2. 搜索"Codex"并安装 3. 登录你的OpenAI账户(需要ChatGPT Plus订阅) 关键配置项: // 在项目根目录创建.