【测试】商城系统---测试报告

🌻个人主页路飞雪吖~

       🌠专栏:测试


目录

一、报告简述

1、项目背景

2、测试目的

(1)功能验证

(2)用户体验优化

(3)系统稳定性保障

(4)安全性加固

(5)兼容性确认

二、测试用例

三、手动测试

1、用户注册

2、用户登录

3、商城首页

4、商品详情页

5、商品全部分类

6、个人中心

7、购物车

8、我的订单

四、兼容性测试

五、自动化测试

1. 项目结构

2. 项目的各个具体实现代码

(1)Utils.py

(2)SS_RegisterTest.py

(3)SS_LoginTest.py

(4)SS_HomePageTest.py

(5)SS_ProductDetailTest.py

(6)SS_AllProductListTest.py

(7)SS_UserCenterTest.py

(8)SS_ShoppingCarTest.py

(9)SS_MyOrdersTest.py

六、性能测试

1、单一接口测试

(1)搜索事务

(2)商城首页事务

(3)分类栏事务

(4)商品详情信息事务

(5)个人中心事务

(6)购物车和购买事务

(7)收藏事务

2、聚合报告

3、TPS曲线分析

4、响应时间统计与可视化

5、活跃线程数趋势

6、性能测试报告

七、Bug描述

1、商城首页页面

2、全部分类功能页面

3、商品详情页

4、购物车页面

5、支付页面

6、个人中心页面

7、我的地址页面

八、测试总结


一、报告简述

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.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值