一、接口测试
1. 测试数据管理
原则:数据与脚本分离
数据分类与存放策略:
- 全局参数(如账号密码):存放在配置文件(如ini格式)
- 一次性消耗数据(如注册数据):使用随机函数生成
- 多组测试参数:采用参数化,存放于yaml、text、json、excel等文件
两大禁忌:
- 测试数据不能硬编码在代码中
- 面试时避免说"将少量数据放在.py文件开头"
2. 接口测试重点
- 接口地址和参数的正确性
- 接口返回与预期结果的一致性
- 数据库数据的正确性验证
3. Fiddler断点测试作用
- 构造请求数据:突破表单限制,绕过前端校验,验证后端校验和数据库数据
- 拦截响应数据:修改响应实体,验证后端返回在前端的展示效果
4. 接口测试流程
- 关注接口地址和参数是否正确
- 验证接口返回是否与预期一致
- 检查数据库数据的正确性
二、H5测试
1. 业务逻辑测试
登录测试:
- 客户端已登录 → H5保持登录状态
- 客户端未登录 → H5点击登录需拉起native登录
- 取消登录后能否再次拉起或显示提示
翻页测试:
- 数据分页加载时,验证后续页面数据正确性
- 快速操作场景中,请求页数是否依次递增
- 快速上拉时是否发送对应请求
刷新与返回测试:
- 下拉刷新是否保持当前页面
- 主动刷新是否保持当前页面
- 返回操作是否跳转到期望页面
数据请求与返回:
- 提交数据是否正确整理到后台
- 请求是否返回正确数据
2. H5适配测试
重点覆盖:
- 大屏(7201280)与小屏(320480)手机
- Android 2.3、Android 4.X系统
- iOS 5、6、7系统
- 浏览器展示效果
3. 安全测试
- 涉及金钱相关功能需接入支付宝实名认证
- 链接分享需做限制,防止脚本操作
4. 用户体验测试
资源优化:
- 图片不大于50kb
- 资源压缩与CDN加载
- 二次发布后的有效更新
- 文本自适应屏幕而非截断
流量控制:
- 静态资源本地缓存
- 大数据量时做分页加载
页面性能:
- 关注首屏加载时间
- 弱网络下的loading提示
- 接口异常时的友好提示
- 页面刷新/加载时避免抖动
手机操作:
- 锁屏后页面展示
- 后台重新呼出展示
- 滑动流畅性与点击准确性
弱网络体验:
- 网络状态差时的降级处理
5. 埋点数据检查
- 与前端确认埋点情况
- 收集用户点击量数据
三、H5测试方法
1. 功能测试
- 页面请求:数据正确性、重复请求、响应速度
- Application Cache:Cookie值正确性、清除后表现、重试机制
- Session失效机制
- 返回逻辑:页面返回与浏览器返回
- 页面刷新
- 图片适配与动画加载
- 转场动画与loading效果
- 隐私模式下的功能正常性
- 接口异常提示
- 输入框校验(黑洞词汇、特殊字符)
- 弱网降级处理
- 网络切换影响
- 横竖屏切换布局
- 滑动定位准确性
- 浮层拖动穿透
- 文件导入导出功能
2. 适配测试
- 机型适配(高中低端代表机型)
- 操作系统适配(Android 6.x~8.x,iOS 9.x~13.x)
- 品牌适配(OPPO、华为、小米、三星、vivo、魅族、中兴等)
3. 性能测试
- 关键指标:加载时间、页面大小、请求数量、错误数
- 测试工具:云测平台、dynatrace、yslow、page speed、firebug
- 翻页测试:快速连续翻页时的请求处理
4. 安全测试
- URL直接请求拦截
- 接入集团安全,设置白名单
- 防止信息窃取和财产盗取
5. 线上回归
- 4G网络下验证功能
- 检查测试环境与生产环境URL差异
6. 接口测试关注点
- 请求返回结果符合预期
- 参数边界值校验
- 入参错误处理
- 响应性能
- 敏感信息加密传输
四、APP测试点
1. 移动测试设计要点
安装测试:应用程序正确安装到设备
软件权限:
- 扣费风险:短信、电话、网络连接提醒
- 隐私泄漏风险:访问手机信息、联系人信息
登录测试:
- 删除/修改后的用户登录
- 登录超时处理
应用切换:
- 后台切换回前台的功能状态
- 程序崩溃检查
- 数据自动更新
- 锁屏解屏后的应用状态
- 电话中断后的功能恢复
- 用户切换后的数据清理
更新测试:
- 新版本更新提示
- 非强制升级的用户取消
- 强制升级的处理
- 本地直接更新
消息推送:
- 不接受推送时的消息接收
- 推送消息与用户身份的匹配
性能测试:
- 断网重启后的正常启动
- 长期操作下的系统资源占用
交叉事件:
- 运行时切换网络
- 运行时使用蓝牙
- 运行时使用相机、计算器等设备
兼容性测试:
- 不同系统和分辨率的兼容性
用户体验测试:
- 用户引导设计
- 菜单层次深度
- 交互流程分支
- 选项布局合理性
- 数据加载量控制
- 按钮点击范围适中
网络环境测试:
- 无网络时的友好提示
- 弱信号下的功能正常性和防crash
- 各种网络环境下的应用表现
服务器异常测试:
- 域名解析故障(404等)的异常处理
其他测试:
- 中文字符处理
- 信息重复性检查
- 输入法表情使用
- 回车键功能检查
五、通用测试思路
1. 对象测试方法(如纸、杯子)
- 从物体本身的属性/功能出发
- 逐步拓展测试范围
2. 功能测试通过标准
- 测试用例执行完毕
- 通过率95%以上
- 无一级bug
- 无影响功能的二级bug
- 界面问题或非关键bug可延后处理
3. APP测试与WEB测试差异
参考一:
- 性能测试:APP需增加流量和耗电量测试
- 兼容性测试:WEB兼容浏览器,APP兼容手机设备
- 安装测试:APP存在客户端安装测试
- 专项测试:交叉事件、操作类型、网络测试
- 更新机制:WEB同步更新,APP需用户更新客户端
参考二:
- 中断测试:来电、短信、蓝牙、闹钟等中断
- 安装卸载:版本升级测试
- 兼容性:不同手机型号、厂家、分辨率
- 测试工具:Fiddler用于抓包和模拟网络延时
六、测试思路与实践
1. 模块测试设计(如注册模块)
测试思路:数据 → 入口 → 出口 → 数据库验证
步骤:
- 需求分析(输入、处理、输出分析)
- 数据构造
- 编写测试用例
分析维度:
- 输入分析:长度、类型、规则、空值、重复
- 处理分析:正常处理、异常处理
- 输出分析:前台、后台、数据
2. 自动化测试原则
- 使用场景:APP升级时测试原有功能影响
- 测试范围:重要或重复调用的接口
- 用例设计:只需设计正向用例
- 脚本要求:可重复执行,最后清除新增数据
- 组织方式:一个线程组只设计一个取样器
3. 功能测试心得体会
- 深入理解业务需求
- 加强团队沟通
- 关注测试用例覆盖率
4. 业务流程理解示例
云上殿堂在线祭奠项目:
- 项目核心:追思平台,提供创建殿堂、在线祭拜、亲友留言
- 功能模块:后台(审核管理)、PC端、小程序
- 用户角色:堂主(殿堂创建者)、非堂主
- 闭环流程:用户创建殿堂 → 后台审核 → 殿堂展示 → 用户互动(送礼、留言) → 内容审核展示
七、开发流程
1. 需求分析
- 接收业务需求
- 需求调研与分析
- 评估工作量和优先级
2. 方案设计&评审
- 输出流程图并与需求方确认
- 原型设计
- PRD文档编写
- 必要成果物:状态流程图、产品文档、原型
3. Coding&自测
- 内部评审(流程图→原型→PRD)
- 复杂需求分阶段评审
- 评审通过后进行需求宣讲
4. 测试
- 原型设计与需求方确认
- 前端文案(页面文案、短信通知)与业务方确认
5. 部署上线
- 文档上传wiki
- 建立需求JRA并关联wiki
- 提前3天发出宣讲邮件
- 预订会议室(含zoom)