理论、经验拷打
印象最深的一次测试经历
印象中最深的是一次测试组件,测试用例上面只要求拖动某一模块的组件后可以改变组件顺序即可,但是在真实拖动组件的过程中发现如果把组件拖动到超出这个模块的另一个模块范围时会闪退,应该是内存泄漏或性能问题,导致应用崩溃。这个之前没有人上报,我就提了jira上报给开发
觉得具体原因是
在拖动组件时,应该有足够的坐标边界检查,确保组件的位置不会超出有效范围,导致数组越界或空指针异常。在代码中需要确保对数组、集合等数据结构的操作是安全的,避免越界访问。拖动组件可能会导致大量的资源操作,例如内存的分配和释放。确保在拖动过程中合理管理资源,防止内存泄漏或不足导致的异常
闪退原因
手机内存不足、内存泄漏(程序中分配的内存在不再需要使用时未被正确释放的情况,导致系统中的可用内存逐渐减少,最终可能导致程序性能下降或崩溃)、权限问题、网络原因
怎么做弱网测试
模拟3g 4g 5g WIFI网络状态以及丢包情况,网络切换测试。fidder弱网测试(相比charles,fidder免费但是只能用于windows):设置弱网参数,修改文件中上传下载速度,修改控制发送或响应的请求延迟的那行代码;直接启动弱网模式,勾选performance里的simulate modem speed
我觉得比较通用的app测试(除了功能测试)
性能测试:
加载性能:
- 加载界面速度是否在合理范围内?
- 部分关键数据缓存是否有效减少加载时间?
响应性能:
- 操作是否响应迅速?
- 在大数据量情况下,使用、滑动是否仍然保持流畅?
网络性能:
- 在不同网络条件下,使用、滑动屏幕性能如何?
- 弱网络情况下是否能够正常加载?
用户体验测试:
用户界面:
- 是否符合用户界面设计规范?
- 用户界面的交互是否直观?
错误处理:
- 是否提供清晰的错误提示信息?
- 用户输入错误时,系统的反应是否友好?
设备兼容性:
- 在不同设备上,文字图片的显示和交互是否一致?
- 不同分辨率和屏幕尺寸下,文字图片的显示是否合理?
安全性测试:
数据隐私:
- 用户位置信息是否得到妥善保护?
- 是否有足够的隐私设置?
网络安全:
- 是否有足够的安全措施防范网络攻击?
- 用户的个人信息是否得到加密传输?
日志和记录测试:
- 检查是否能够正确记录运行日志和事件。
- 测试日志的可读性和完整性。
兼容性测试:
- 在不同操作系统上的表现如何(iOS、Android)?
- 不同浏览器(Chrome、Firefox、Safari)下的兼容性如何?
自动化测试:
- 是否有自动化测试脚本覆盖关键功能?
- 是否使用模拟器和真实设备进行测试?
版本回归测试:
- 在新版本发布前是否进行全面的回归测试?
- 新版本是否修复了之前版本的缺陷?
辅助功能测试:
- 是否支持辅助功能(屏幕阅读器、语音输入等)?
- 对于不同用户群体的可访问性如何?
登录测试(输入)
功能测试:
-
有效用户名和密码登录:
- 输入正确的用户名和密码。
- 点击登录按钮。
- 验证是否成功登录到系统。
-
无效用户名和密码登录:
- 输入不存在的用户名和密码或错误的密码。
- 点击登录按钮。
- 验证系统是否给出适当的错误提示,而不进行登录。
-
用户名为空登录:
- 将用户名字段保持为空。
- 输入有效密码。
- 点击登录按钮。
- 验证系统是否给出适当的错误提示。
-
密码为空登录:
- 输入有效用户名。
- 将密码字段保持为空。
- 点击登录按钮。
- 验证系统是否给出适当的错误提示。
-
多次登录尝试:
- 连续多次使用无效的用户名和密码进行登录尝试。
- 验证系统是否在一定尝试次数后锁定用户或采取其他安全措施。
-
记住用户名和密码:
- 使用"记住我"功能登录。
- 关闭浏览器并重新打开。
- 验证系统是否自动登录用户,而不需要再次输入用户名和密码。
-
密码重置功能:
- 测试密码重置链接的有效性。
- 请求密码重置邮件。
- 点击邮件中的链接并输入新密码。
- 验证是否成功重置密码并能够登录。
-
社交媒体登录:
- 如果系统支持通过社交媒体账号登录,测试该功能。
- 使用社交媒体账号进行登录。
- 验证系统是否能够正确关联并创建用户账户。
-
跨设备登录:
- 在一个设备上登录系统。
- 尝试在另一个设备上登录相同的账户。
- 验证系统是否能够处理跨设备登录并保护用户安全。
购物车测试(跳转)
功能测试:
-
添加商品到购物车:
- 打开购物平台并登录。
- 浏览商品页面,选择商品并添加到购物车。
- 验证购物车内显示的商品信息是否正确。
-
跳转到购物车页面:
- 从商品页面或其他页面点击购物车图标或链接。
- 验证是否成功跳转到购物车页面。
- 检查购物车页面的内容是否正确显示。
-
购物车页面元素验证:
- 验证购物车页面包含商品名称、数量、价格等信息。
- 检查购物车中是否显示正确的商品图片。
- 确保购物车中有删除、修改数量等操作选项。
-
修改购物车商品数量:
- 在购物车页面修改商品数量。
- 验证购物车总价是否随着数量的变化而正确更新。
- 确保相关的商品信息也随之更新。
-
删除购物车商品:
- 在购物车页面删除一个或多个商品。
- 验证购物车总价是否随着商品删除而正确更新。
- 确保相关的商品信息也从购物车中移除。
-
空购物车状态验证:
- 删除购物车中的所有商品。
- 验证购物车页面是否显示适当的空购物车状态提示。
- 点击继续购物或其他操作,验证是否正常跳转。
-
继续购物流程:
- 从购物车页面点击继续购物或选择其他商品。
- 验证是否成功跳转到相关页面。
- 检查所选商品是否正确添加到购物车。
-
结算流程验证:
- 在购物车页面点击结算按钮。
- 验证是否成功跳转到结算页面或下单流程。
- 检查结算页面是否包含正确的商品信息和总价。
-
返回上一步操作:
- 在购物车或结算页面执行返回上一步操作。
- 验证是否成功返回到前一页面,并且之前的购物车状态得以保留。
-
异常情况测试:
- 测试购物车页面是否能够正确处理异常情况,如网络中断、超时等。
- 模拟购物车中商品已下架或库存不足的情况,验证系统的提示和处理是否合理。
地图测试(界面)
功能测试:
地图浏览功能:
- 手势操作(缩放、旋转、拖动)是否流畅?
- 地图标记和标签是否正确显示?
- 地图的缩放级别是否准确?
搜索功能:
- 地点搜索功能是否返回准确的结果?
- 是否支持不同类型的地点搜索(餐厅、酒店、商店等)?
- 搜索结果的排序是否合理?
导航功能:
- 是否能够规划准确的导航路线?
- 路线规划是否考虑实时交通情况?
- 导航语音提示是否清晰准确?
收藏和历史记录:
- 是否能够添加和管理收藏的地点?
- 历史记录是否能够正确显示最近的搜索和导航记录?
实时交通信息:
- 实时交通信息是否准确?
- 是否能够在导航过程中动态调整路线?
卫星地图:
- 卫星地图图像的清晰度如何?
- 是否支持实时卫星图像?
共享位置:
- 是否能够准确共享自己的位置?
- 共享位置的隐私设置是否生效?
电梯测试(非app)
功能测试:
基本操作测试:
- 启动电梯。
- 停止电梯。
- 开关门操作。
- 选择楼层并确保电梯准确到达。
多电梯协同测试:
- 多部电梯同时运行时的协同操作。
- 同时请求不同楼层,确保每部电梯能够响应正确。
用户界面测试:
- 测试电梯按钮是否灵敏,用户是否能够方便地选择楼层。
- 测试语音或显示屏的信息是否清晰、准确。
安全测试:
紧急情况测试:
- 火警时,电梯是否自动停靠在最近的楼层。
- 电梯内的紧急按钮是否正常工作,触发后是否采取相应的紧急措施。
负载测试:
- 在电梯内放置不同负载,测试电梯是否正常运行。
- 超过额定负载时,电梯是否能够拒绝进入、提供警告或以安全方式处理。
电力故障测试:
- 模拟电梯停电情况,检查备用电源是否能够正常启动。
- 在运行中切断电源,观察电梯的应对措施。
故障恢复测试:
- 模拟电梯在运行中遇到故障,例如传感器故障,测试电梯是否能够正确报告故障并采取适当的措施。
- 测试电梯在修复故障后是否能够正常恢复。
网络通信测试:
- 如果电梯系统涉及到网络通信,测试通信的稳定性和可靠性。
- 模拟网络断开连接的情况,检查电梯系统的应对措施。
报警系统测试:
- 测试电梯报警按钮的功能。
- 检查报警系统是否能够正确地通知相关人员或部门。