以下是针对微信小程序的软件测试用例编写指南及示例,涵盖功能测试、兼容性测试、性能测试、安全测试等核心维度,结合代码逻辑与用户场景设计测试点:
一、功能测试用例
1. 页面加载与导航
测试项 | 测试步骤 | 预期结果 | 关联代码逻辑 |
---|---|---|---|
页面初始化数据加载 | 进入小程序首页,观察地址、轮播图、分类标签、店铺列表是否显示 | – 地址显示为“南阳路” – 轮播图显示正确图片及标题 – 分类标签显示“全部”“餐饮”等选项 |
data.address 、banners 、categories |
分类标签切换 | 点击分类标签(如“休闲娱乐”) | 店铺列表刷新为对应分类数据,currentCategory 更新为对应索引 |
onCategoryChange 方法 |
排序选项切换 | 点击“积分优先”排序选项 | 店铺列表按积分降序排列,activeSort 更新为对应索引 |
onSortChange 方法 |
2. 搜索与添加功能
测试项 | 测试步骤 | 预期结果 | 关联代码逻辑 |
---|---|---|---|
搜索按钮点击 | 点击搜索栏(disabled状态下) | 跳转至搜索页面(/pages/alliance/index/Search ) |
onSearch 方法 |
添加按钮点击 | 点击地址右侧的“+”图标 | 跳转至添加店铺页面(/pages/alliance/index/addlist ) |
onadd 方法 |
3. 店铺列表交互
测试项 | 测试步骤 | 测试数据 | 预期结果 | 关联代码逻辑 |
---|---|---|---|---|
店铺项点击 | 点击任意店铺项 | 跳转至店铺详情页,URL包含店铺ID(如/pages/alliance/store/detail?id=1 ) |
goToStoreDetail 方法 |
|
绿色积分标签显示 | 检查店铺项的“绿色积分”标签 | 存在hasGreenPoints 为true 的店铺 |
标签显示“绿色积分”及对应百分比 | store-tags 模板条件渲染 |
二、兼容性测试用例
测试项 | 测试设备/环境 | 测试步骤 | 预期结果 |
---|---|---|---|
不同屏幕尺寸适配 | iPhone SE(小屏)、iPad(大屏) | 打开首页,观察布局缩放 | 元素无溢出,图片/文字自适应缩放,按钮点击区域适配 |
微信版本兼容性 | 微信7.0.x(旧版本)、微信8.0.x(新版本) | 验证轮播图、标签切换等功能 | 组件样式无错乱,交互逻辑正常 |
操作系统兼容性 | iOS 15、Android 12 | 测试下拉刷新、上拉加载更多功能 | 手势操作流畅,数据加载无延迟 |
三、性能测试用例
测试项 | 测试工具 | 测试步骤 | 预期结果 |
---|---|---|---|
页面加载耗时 | 微信开发者工具性能面板 | 冷启动进入首页,记录加载时间 | 首屏加载时间≤3秒,轮播图/列表数据同步渲染 |
大数据量渲染性能 | 模拟50条店铺数据 | 滚动浏览店铺列表 | 滑动流畅,无卡顿;列表渲染耗时≤1.5秒(通过requestAnimationFrame 优化) |
内存占用峰值 | 微信开发者工具内存监控 | 持续切换分类/排序,重复加载更多数据 | 内存占用≤150MB,无内存泄漏(stores 数组未被意外污染) |
四、安全测试用例
测试项 | 测试步骤 | 风险点 | 预期结果 |
---|---|---|---|
URL跳转安全 | 构造非法URL(如javascript:alert(1) ) |
通过uni.navigateTo 跳转 |
拒绝执行非法URL,页面无异常弹窗 |
用户数据传输加密 | 抓包工具拦截请求/响应 | 查看地址、店铺信息等数据传输 | 敏感数据(如用户位置)通过HTTPS传输,响应体加密处理 |
未授权访问控制 | 直接访问需要登录的页面(如店铺详情页) | 未登录状态下跳转 | 自动重定向至登录页,禁止未授权访问 |
五、异常场景测试用例
测试项 | 测试步骤 | 模拟条件 | 预期结果 |
---|---|---|---|
网络中断处理 | 关闭Wi-Fi/移动网络,刷新页面 | 无网络连接 | 显示“网络异常”提示,loadingStatus 为ERROR ,点击重试可重新请求 |
空数据状态展示 | 清空店铺数据(stores 为空数组) |
分类筛选后无结果 | 显示空状态图及“暂无店铺数据”提示,点击可重新加载 |
加载超时处理 | 模拟API响应超时(>5秒) | 调用getStoreList 方法 |
显示“加载超时”提示,loadingStatus 为ERROR ,支持重试 |
六、测试用例执行说明
优先级标注:
P0:核心功能(如页面加载、分类切换)
P1:次要功能(如排序展示、标签显示)
P2:兼容性/性能/安全测试
执行工具:
功能测试:微信开发者工具内置模拟器 + 真机调试
性能测试:微信开发者工具“性能”面板 + Lighthouse
安全测试:Charles/Fiddler抓包工具 + 代码审计
缺陷记录:
若发现轮播图未加载(如图片URL失效)、分类切换后数据未刷新(filters
参数未正确传递)等问题,需关联代码行定位修复(如检查banners
数组路径、onCategoryChange
中filters
赋值逻辑)。
通过以上测试用例,可全面覆盖小程序的功能性、可靠性、性能及安全性,结合代码逻辑与用户场景提升测试效率。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
暂无评论内容