关注

【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 小结

本篇完结!

转载自CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/Fxy200466/article/details/148019230

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--