🌠专栏:测试
目录
一、报告简述
1、项目背景
本项目为电商商城系统,旨在为用户提供便捷的在线购物体验。系统包含商品展示、用户管理、购物车、订单处理、支付集成、后台管理等核心功能模块,支持多用户并发访问和交易处理。
2、测试目的
(1)功能验证
核心业务功能验证:
用户注册、登录、个人信息管理功能完整性;
商品浏览、搜索、分类展示功能准确性;
购物车添加、修改、删除商品功能正确性;
订单创建、支付流程验证;
- 系统设置:界面风格、安全设置;
(2)用户体验优化
界面交互体验:
页面加载速度和响应时间优化;
操作流程简洁性和直观性评估;
移动端适配和触控操作友好性;
用户操作便利性:
关键功能操作步骤简化;
错误提示信息明确性和指导性;
导航结构和信息架构合理性;
(3)系统稳定性保障
性能稳定性:
系统在高并发访问下的稳定性表现;
长时间运行的内存泄漏和资源释放;
数据库连接池管理和事务处理可靠性;
容错能力:
服务异常时的降级和恢复机制;
网络中断后的数据同步和状态恢复;
第三方服务不可用时的应对策略;
(4)安全性加固
数据安全保护:
用户敏感信息加密存储和传输;
SQL注入、XSS跨站脚本等Web安全防护;
支付环节的数据加密和防篡改机制;
权限控制:
用户角色权限划分和访问控制;
越权操作检测和防护;
会话管理和超时处理安全性;
(5)兼容性确认
浏览器兼容性:
Chrome、Firefox、Edge等主流浏览器兼容;
不同浏览器版本的功能一致性;
设备兼容性:
桌面端不同分辨率显示适配;
移动端iOS和Android系统兼容;
平板设备横竖屏显示优化;
环境兼容性:
不同操作系统(Windows、macOS、Linux)兼容;
网络环境(WiFi、4G/5G)下的功能稳定性;
二、测试用例


商城系统测试用例脑图链接:商城系统测试用例脑图
三、手动测试
1、用户注册
测试场景一:点击首页的“注册”,跳转到注册页面,填写相应的注册信息:用户名、登录密码、验证码,勾选阅读并同意,点击“注册”。
预测结果:注册成功,直接跳转到刚注册的用户页面上。



测试场景二:点击首页的“注册”,跳转到注册页面,未填写:用户名
预测结果:提示:请使用字母、数字、下划线2~18个字符

测试场景三:点击首页的“注册”,跳转到注册页面,未填写:登录密码
预测结果:提示:密码格式6~18个字符之间

测试场景四:点击首页的“注册”,跳转到注册页面,未填写:验证码
预测结果:提示:请输入有效的图形验证码

测试场景五:点击首页的“注册”,跳转到注册页面,输入的用户名:<2 个字符
预测结果:提示:请使用字母、数字、下划线2~18个字符

测试场景六:点击首页的“注册”,跳转到注册页面,输入的登录密码: <6 个字符
预测结果:提示:密码格式6~18个字符之间

测试场景七:点击首页的“注册”,跳转到注册页面,输入错误的验证码
预测结果:提示:请输入有效的图形验证码

2、用户登录
测试场景一:点击首页的“登录”,跳转到登录页面,登录信息:登录账号、登录密码、验证码,点击“登录”
预测结果:提示:登录成功,页面跳转到登录成功的商城首页面。




测试场景二:点击首页的“登录”,跳转到登录页面,未输入:登录账号
预测结果:提示:请输入登录账号。

测试场景三:点击首页的“登录”,跳转到登录页面,未输入:登录密码
预测结果:提示:密码格式6~18个字符之间

测试场景四:点击首页的“登录”,跳转到登录页面,未输入:验证码
预测结果:提示:请输入有效的图形验证码

测试场景五:点击首页的“登录”,跳转到登录页面,输入错误的登录账号
预测结果:提示:账号不存在

测试场景六:点击首页的“登录”,跳转到登录页面,输入错误的登录密码
预测结果:提示:密码错误

测试场景七:点击首页的“登录”,跳转到登录页面,输入错误的验证码
预测结果:提示:验证码错误

3、商城首页
测试场景一:未登录的首页,点击“个人中心”
预测结果:跳出弹窗,提示进行登录


测试场景二:未登录的首页,点击”我的商城“,点击“我的订单”
预测结果:跳转到登录页面


测试场景三:未登录的首页,点击“我的收藏”,点击商品收藏
预测结果:跳转到登录页面


测试场景四:未登录的首页,点击“更多入口”,点击“订单”
预测结果:跳转到登录页面


测试场景五:未登录的首页,点击“购物车”
预测结果:跳转到登录页面


测试场景六:未登录的首页,点击“消息”
预测结果:跳转到登录页面


测试场景七:未登录的首页,点击任意一个商品,点击“收藏”
预测结果:跳转到登录页面



测试场景八:未登录的首页,点击任意一个商品,点击“加入购物车”
预测结果:跳转到登录页面



测试场景九:已登录的首页,点击“个人中心”
预测结果:跳转到“个人中心页面”


测试场景十:已登录的首页,点击“我的商城”,点击“订单”
预测结果:跳转到“订单管理页面”


测试场景十一:已登录的首页,点击“我的收藏”
预测结果:跳转到我的收藏页面


测试场景十二:已登录的首页,点击“消息”
预测结果:跳转到消息页面


测试场景十三:首页搜索栏,在搜索框输入:包包,点击“搜索”按钮
预测结果:页面显示出符合的商品


4、商品详情页
测试场景一:点击任意一个商品,跳转到商品详情页,点击数量“-” / “+”
预测结果:数量相应的减少/增加



测试场景二:点击任意一个商品,跳转到商品详情页,点击“立即购买”
预测结果:跳转到“订单确认页面”



测试场景三:点击任意一个商品,跳转到商品详情页,点击“加入购物车”
预测结果:跳出弹窗,提示:商品已成功加入购物车!并显示购物车里商品的数量



测试场景四:点击任意一个商品,跳转到商品详情页,点击“收藏”
预测结果:提示:收藏成功,图标变红


测试场景五:点击任意一个商品,跳转到商品详情页,点击“详情”
预测结果:显示:商品的详情信息

测试场景六:点击任意一个商品,跳转到商品详情页,点击“评价”
预测结果:显示:该商品的评价信息

5、商品全部分类
测试场景一:在首页:点击 数码办公
(1)选择全部,预测结果:展示该类型所有的商品
(2)点击“手机通讯”,预测结果:筛选出相应的商品
(3)点击“电脑整机”,预测结果:筛选出相应的商品



测试场景二:在首页:点击 时尚服饰
(1)选择全部,预测结果:展示该类型所有的商品
(2)点击“女装”,预测结果:筛选出相应的商品
(3)点击“男装”,预测结果:筛选出相应的商品



测试场景三:在首页:点击 名品潮包
(1)选择全部,预测结果:展示该类型所有的商品
(2)点击”潮流女包”,预测结果:筛选出相应的商品


测试场景四:将商品添加到购物车,点击”购物车“图标,跳出弹窗,点击套餐中的”套餐二“,点击颜色中的”金色“,点击容量中的”128G“,选择数量,点击”加入购物车“
预测结果:提示:加入成功



6、个人中心
测试场景一:点击“个人中心”,点击“修改头像”,点击“选择图片”,点击“确认上传”
预测结果:提示:上传成功




测试场景二:点击“个人中心”,点击“修改资料”,点击“编辑”,填写:昵称(必填项)、生日、所在省、所在市、所在区/县、详细地址、性别,点击“保存”
预测结果:提示:修改成功



测试场景三:点击“个人中心”,点击“我的地址”,点击“新增”,填写必填项:姓名、电话、省市区、详细地址,点击“保存”
预测结果:提示:操作成功



测试场景四:点击“个人中心”,点击“我的地址”,点击”编辑“跳出弹窗,修改内容,点击”保存“
预测结果:提示:操作成功


测试场景五:点击“个人中心”,点击“我的地址”,点击”删除“,跳出弹窗,点击”确认“
预测结果:提示:删除成功



测试场景六:点击“个人中心”,点击“我的地址”,在地址栏上,直接点击”设为默认“,跳出弹窗,点击”确认“
预测结果:提示:设置成功



测试场景六·:点击“个人中心”,点击“我的足迹”,跳转到“我的足迹”页面,显示我浏览过的商品,点击“详情”
预测结果:出现浏览过的商品详情信息



测试场景七·:点击“个人中心”,点击“我的足迹”,跳转到“我的足迹”页面,显示我浏览过的商品,点击“删除”,跳出弹窗,点击“确认”
预测结果:提示:删除成功



测试场景八·:点击“个人中心”,在业务管理中,点击“商品收藏”,页面跳转到我收藏的所有商品,查找收藏的商品,输入正确且存在的商品信息:销售价格、原价、创建时间
预测结果:预期结果:查找成功



测试场景九:点击“个人中心”,在业务管理中,点击“商品收藏”,页面跳转到我收藏的所有商品,查找收藏的商品,输入正确且存在的商品信息:销售价格、原价、创建时间,点击“清除搜索条件”
预测结果:清除成功,页面显示全部收藏的商品


测试场景十:点击“个人中心”,在业务管理中,点击“商品收藏”,点击“详情“
预测结果:跳出弹窗,点击”商品信息“框


测试场景十一:点击“个人中心”,在业务管理中,点击“商品收藏”,点击”删除“,跳出弹窗,点击“确认”
预测结果:提示:删除成功



测试场景十二:点击“个人中心”,点击”安全退出“
预测结果:登录退出,并跳转到商城首页



7、购物车
测试场景一:点击“购物车”,跳转到购物车页面,选择要结算的商品,点击“结算”
预测结果:跳转到”订单确认“页面



测试场景二:点击“购物车”,跳转到购物车页面,点击“删除”,跳出弹窗,点击“确认”
预测结果:提示:删除成功



测试场景三:点击“购物车”,跳转到购物车页面,点击“收藏”
预测结果:提示:收藏成功


测试场景四:点击“购物车”,跳转到购物车页面,点击 数量“-” / “+”,数量相应的减少/增加,合计金额也相应的减少/增加
预测结果:提示:更新成功


8、我的订单
测试场景一:点击商品里面的“立即购买”按钮 / 点击购物车里的“结算”按钮,跳转到“订单确认”页面,选择取货方式,点击“快递”,
预测结果:选择成功

四、兼容性测试
测试场景一:在Chrome浏览器下进入商城系统
预期结果:无异常且一切布局显示功能等与其一致



测试场景二:在Edge浏览器下进入商城系统
预期结果:无异常且一切布局显示功能等与其一致



测试场景三:在Firefox浏览器下进入商城系统
预期结果:无异常且一切布局显示功能等与其一致



五、自动化测试
1. 项目结构

2. 项目的各个具体实现代码
(1)Utils.py
# 生成测试文件中需要用到的配置内容
# 创建浏览器对象,请求url访问应的页面
import datetime
import os
import sys
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
class Driver:
driver = ""
def __init__(self):
driver_path = r"E:\apply\driver\chromedriver-win64\chromedriver.exe" # 驱动路径
options = webdriver.ChromeOptions()
self.driver = webdriver.Chrome(service=Service(driver_path), options=options)
# 隐式等待
self.driver.implicitly_wait(10)
# 设置窗口最大化
self.driver.maximize_window()
def getScreenshot(self):
# 创建屏幕截图
# 图片路径:../images/日期/图片名称.png
dirname = datetime.datetime.now().strftime("%Y-%m-%d") # 获取当前时间,并将日期时间格式化为指定格式字符串
if not os.path.exists("../images/" + dirname):
os.mkdir("../images/" + dirname)
# 图片名称:方法名-日期-时分秒.png
filename = sys._getframe().f_back.f_code.co_name + "-" + datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S") + ".png"
self.driver.save_screenshot("../images/" + dirname + "/" + filename)
SS_Driver = Driver()
(2)SS_RegisterTest.py
# 用户注册 测试用例
import time
import ddddocr
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
from common.Utils import SS_Driver
class RegisterTest:
url = ""
driver = ""
def __init__(self):
self.url = "http://8.155.1.153/?s=user/regInfo.html" # 注册页面的url
self.driver = SS_Driver.driver
self.driver.get(self.url)
def captcha(self):
ele = self.driver.find_element(By.XPATH, '//*[@id="form-verify-img"]')
ele.screenshot('code.png')
ele_bytes = ele.screenshot_as_png
ocr = ddddocr.DdddOcr()
text = ocr.classification(ele_bytes)
self.driver.find_element(By.XPATH, '//*[@type="text" and @name="verify"]').send_keys(text)
######################################################################################################################################################################
# 检查注册页面元素
def CheckEle(self):
# 检查 “欢迎注册”
self.driver.find_element(By.CSS_SELECTOR, "body > div.body-content-container > div.body-content-formal-container > div.nav-seasrch.header-nav-simple > div > p.login-title.am-fl.am-vertical-align-middle.am-margin-left-main")
# 检查 “账号注册”
self.driver.find_element(By.CSS_SELECTOR, "body > div.body-content-container > div.body-content-formal-container > div.am-g.user-register-container.theme-data-edit-event > div > div > div.am-radius-lg.am-background-white > div > ul > li.am-active > a")
# 检查 “用户名输入框”
self.driver.find_element(By.CSS_SELECTOR, "body > div.body-content-container > div.body-content-formal-container > div.am-g.user-register-container.theme-data-edit-event > div > div > div.am-radius-lg.am-background-white > div > div.am-tabs-bd.am-border-0 > div.am-tab-panel.

最低0.47元/天 解锁文章
617

被折叠的 条评论
为什么被折叠?



