软件测试以及自动化测试(笔记)
有些关键的数据需要一定的技术去测试,如果不合格就打回去,直到合格为止


案例:

我们限制的提示词,可以进一步提高我们的精准性
你是一个软件测试师,你的任务就是帮我分析一下以下需求,然后设计一下测试用例。1、账号密码登录 • 系统验证账号和密码的正确性。 • 验证通过,用户登录成功,进入个人中心;验证失败,提示错误信息并允许用户重新输入。 2、短信验证码登录 • 用户输入手机号,点击获取验证码,系统向用户手机发送验证码。 • 用户输入验证码,点击登录,系统验证验证码的正确性。 • 验证通过,用户登录成功,进入个人中心;验证失败,提示错误信息并允许用户重新输入。 3、第三方授权登录 • 用户点击第三方登录按钮(如微信、QQ、支付宝),系统跳转至第三方授权页面,用户进行授权操作。 • 第三方返回授权信息至系统,系统验证授权信息的有效性,创建或绑定用户账号。 • 验证通过,用户登录成功,进入个人中心。输入:功能测试,兼容性测试,SQL注入。输出:使用excel表格,并且格式参考用例测试的八大要素
以下是根据您提供的需求设计的测试用例,以Excel表格形式呈现,并参考了测试用例的八大要素(用例编号、用例标题、测试目的、前置条件、测试步骤、预期结果、测试数据、优先级):

一、基础:




黑盒测试:只对界面功能验证,源代码不可见 常用系统测试


灰盒测试:组装测试


白盒测试:条件判断,条件覆盖率


其他测试:


回归测试:对已经修复得bug或者是更新后对已经测试过的内容再次进行测试


新增模块,也需要对相关联的旧功能测试。严谨的需要全部重新测

二、质量模型

功能性:简单说就是说功能是否正常

性能测试:
兼容性:看显示是否正常

易用性:

安全性:

可靠性:长时间是否稳定,是否卡顿,无响应
可移植性:
可维护性:比如出现404,出现异常易修复

三、web客户端测试:
单功能测试:

根据质量模型多维度去测试:

比如:以下是一个测试需求:
根据测试需求去设计测试点,而且必须满足覆盖

等价类划分:采用代表性的


有效等价类:比如需求就是注册过的手机号,选一个就行了
无效等价类:比如未注册过的
然后解决需求覆盖的问题

然后根据需求,编写xmind




我们测试的时候,多个选项有效数据组合应用单个选项;无效数据结合其他有效数据应用


四、边界值



通常配合等价类


1.先进行密码的边界值分析,两个8,和16要测。然后就是离点

2.然后是离点。无效又分为离点和规则
离点就是不符合范围内的,但是必须符合小写和数字组成的密码字符串
规则这里就是,符合范围内的,但是不满足密码的输入规则的,因为这部分也是属于无效等价类

3.然后的话就是进行一个等价类划分注册功能的账户和条款


4.测试点提取 ,有效:多项有效数据单独使用
无效:各个无效组合和其他有效数据组合

账号

密码

协议不勾选

五、非功能测试
我们在功能测试中对功能测试点的提取之后,还需要对非功能设计 围绕软件质量模型
比如:安装,卸载

web项目:

比如兼容性:所有功能显示和操作页面正常


然后我们需要把测试点转成可执行的测试用例
六、测试用例

增加了一些测试输入的一些数据,和一些执行的条件以及预期结果。相对来说会比较精准点
确保测试点能精准被执行(八大要素)




测试文档其实就是测试点的文档更加精细

如果说是同一个项目可以继续往下写,不是的话就新建一个

七、判定表

主要对条件规则约束的
条件桩:就是列出该问题中所有包含的条件
1.指定时间范围内
2.满1000

条件项:列出条件的取值,真值 (是和否)
动作庄:满足条件和不满足条件所作出的行为 比如折扣
动作项:推导出条件项下应该采取的操作结果


通过先以下的判断表绘画出来后,再编写测试点

然后编写测试点

然后编写测试用例

八、执行用例
我们编写完测试用例之后,就是说还不能开始执行,有一定的条件


用户角度考虑
步骤:
1.打开项目的页面

2.然后根据测试用例,测试(前提已经有相关已注册好的)


3.输入数据

预期结果满足

4、然后编写我们测试的实际结果



九、缺陷管理以及缺陷提交
缺陷描述以及提交给开发
1、少功能(交给我测试的时候,少了某一些功能)
2、多功能(是否合理)
3、功能错误
4、隐形功能(带有广告词等/敏感/不友好/模棱两可)

比如:

多了
![]()

然后的话就是该如何提交给开发



记得带上附件
禅道步骤 点击bug 提交bug

标题见名知义,然后的话就是严重程度,优先级



然后带上附件

十、缺陷跟踪流程

开发人员选择已解决后,再次进行验证(回归测试)
验证通过后关闭,没有再次走一个循环
步骤:
开发人员先确认是否为bug,

然后修复完提交

验证没问题后

主要就是提交缺陷
提交缺陷
关闭缺陷
十一、业务测试


比如:记住从图中得出每一条的测试用例。先编写测试点 然后进行编写测试用例 然后开测

记住:总共是三条

然后编写测试用例



十二、非功能测试


针对整个项目写一次测试用例就行




十三、软件测试-AI



持续集成:每次集成需要对旧功能复测,因为已经对已有的功能
举例:

我们需要一条一条的对测试用例进行粘贴测试,现在不需要了。




可以调各种方法 比如点击按钮
配置浏览器谷歌驱动(通过代码启动浏览器)


十四、Deepseek生成自动化测试脚本




十五、pycharm集成Deepseek

插件:通义灵码






最大难点就是让ai去定位




然后我们手动去定位 开发者工具

十六、web自动化测试基础



检查:

需要先暂停两秒,否则代码获取不到,需要一个缓冲



十七、pytest
批量管理多个用例,自己去搜索用例然后去执行
可以在同一个目录下只要是pytest里面的,一个命令所有用例都会执行
并打印几个通过





也可以去打开官网


存放公共方法


import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Fixture封装浏览器初始化和关闭操作
@pytest.fixture(scope="module")
def browser():
# 初始化Chrome浏览器
driver = webdriver.Chrome()
# 设置隐式等待时间为10秒
driver.implicitly_wait(10)
# 最大化浏览器窗口
driver.maximize_window()
# 返回浏览器实例供测试用例使用
yield driver
# 测试结束后关闭浏览器
driver.quit()
# 测试登录功能
def test_login(browser):
"""
测试登录功能
"""
# 步骤1:打开登录页面
browser.get("https://hmshop-test.itheima.net/Home/user/login.html")
# 步骤2:定位用户名输入框并输入用户名
username_input = browser.find_element(By.CSS_SELECTOR, "#username")
username_input.send_keys("13600001113") # 输入测试用户名
# 步骤3:定位密码输入框并输入密码
password_input = browser.find_element(By.CSS_SELECTOR, "#password")
password_input.send_keys("8888888") # 输入测试密码
# 步骤4:定位验证码输入框并输入验证码
verify_code_input = browser.find_element(By.CSS_SELECTOR, "#verify_code")
verify_code_input.send_keys("8888") # 输入万能验证码
# 步骤5:定位登录按钮并点击
login_button = browser.find_element(By.CSS_SELECTOR, "#loginform > div > div.login_bnt > a")
login_button.click() # 点击登录按钮
# 验证登录是否成功
# 等待登录后页面元素出现(根据实际页面调整)
WebDriverWait(browser, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, ".userinfo"))
)
# 编写注册测试用例
# def test_register(browser):
![]()

十八、allure


![]()




更多推荐


所有评论(0)