一、基本测试
冒烟测试
由开发,测试,产品共同参与进行。
(1) 主流程和基本功能测试(要求产品参与,如果不参与,一定要说明原因。测试确认此过程完成)
a) 将本次提测的核心功能过一遍:全部case中的优先级为0作为冒烟测试,并提前2天发给开发,由开发自测。冒烟当天测试和产品再一起过一遍。
b) 核心功能列表,主要是本次主要新提测功能包括旧版本的核心功能。(仅测试执行,有自动化的跑自动化case,没有的,当天完成,并反馈执行结果)
执行结果:发送冒烟结论报告
(2 ) 自动化回归稳定的主流程和基本功能
业务线的核心功能都要求进行自动化,提测前自动执行一遍,如果没有问题,再进行冒烟。
功能测试
测试人员执行,测试设计在需求和详细设计完成后会进行编写和完善,提测前一周内完成测试设计评审,评审中考虑如下要点:
(1) 新提测功能本身验证(正常性测试和常见多种异常测试)
(2) 新功能影响范围和关联模块,通过开发提测单的说明和对比新旧代码来确认。
(3) 主要业务流程,用户场景
用户场景包括:网络切换、前后台切换、锁屏解锁、离线浏览、系统时间更改、缓存、来电、sim卡插拔、SD卡插拔、app交互等
(4) 稳定性测试: monkey测试(500ms间隔)5h以上无异常
(5) 其他测试:如超时测试、权限测试,配置文件测试等
安全测试
测试中发送安全部门同事执行。详细设计过程中,确认提测功能的业务影响,并和开发一起确定是否需要进行安全测试以及安全测试的关注点。
(1) SQL/OS命令注入
(2) XSS跨网站脚本攻击
(3) 安全配置错误
(4) 权限绕过等
(5) DNS劫持校验
App端测试有的也需要DEX加壳保护,防止静态反编译直接获取源码,反二次打包,使二次打包时无法成功或打包后的apk无法安装使用,屏蔽日志输出流中的info、debug等信息等。
接口测试
由测试人员进行,考虑如下测试点:
(1) 接口正确性测试(内部/外部)
(2) 必要参数正常,缺少,不对等
(3) 参数值类型正常,异常等
(4) 其他:同步/异步请求测试
兼容性测试/适配测试
测试人员执行,一般做系统版本兼容性测试、手机机型兼容性测试与分辨率适配测试,可根据具体的业务线要求进行。浏览器兼容性和平台兼容性测试根据业务线特点决定是否开展
(1) 浏览器的兼容性测试(市场占有率前十,具体业务根据实际情况增删,手机浏览器优先内置浏览器)
手机浏览器兼容性测试,目前包含chrome,Safari(iOS)、360,360极速,UC,QQ、Opera等浏览器。可根据具体的业务线要求进行。主要针对分享与分享回流,web端调起APP或某页面;注意浏览器的无痕模式是否影响功能
(2) 平台兼容性测试(手机和平板等)
根据客户端是否需要支持pad来决定是否测试
(3) 手机机型兼容性测试(市场占有率前十,具体业务根据实际情况增删)
360OS,MIUI系统,华为EMUI系统,一加系统,锤子系统,悟空系统,雷电os,Nexus原生系统等等。
(4) 系统分辨率兼容性测试(手机和web端)
测试手机不同分辨率下,app各个页面展示情况,主要考虑市场占有主流分辨率(如:10801920、7201280等),低分辨率(如:320480、480800、540*960等),高分屏(如:2K屏、4k屏等);
同时也包含iOS&Android系统不同操作场景下的页面展示,如:
a) Android隐藏虚拟系统键适配,分屏适配(若app支持分屏)
b) iOS半屏适配、通话适配等
c) 横屏显示
安装测试、卸载测试---(客户端或APP)
安装/卸载:升级安装
(1) 正常安装/卸载:升级安装/卸载。安装测试中需检查安装前后有安装包的大小(针对app),安装时可以正常启动,卸载时查看是否将已经下载文件包彻底删除。
(2) 异常安装/卸载:如安装空间不足,重复安装,卸载正在使用的软件,安装关机,安装/卸载断电,卸载是否干净等。在上述情况下异常安装卸载是否有友好提示,安装完成是否不能正常启动,删除是否不彻底,有遗留安装文件。
基本性能测试(如果没有明确的性能需求)
测试人员开展,详细设计评审过程中,确认提测功能的业务影响,和开发一起确定是否需要进行性能测试。以及性能测试的关注点。
(1) 客户端性能:如启动时间,app整体内存&CPU占用,耗电量,流量等
(2) 小用户量服务端性能:响应时间,并发用户,系统资源,吞吐量等(app不做)
以上测试完成后,需要发送测试完成报告。
线上(备机)回归测试
(原则上要求产品参与,如果不参与,一定要说明原因,测试也需要完成此过程)产品和测试共同参与,完成后发送正式上线报告
(1)新功能
(2)主流程
二、进阶测试
全面性能测试
(如果有明确的性能需求,以下为app的性能测试项)
(1) app各activity内存&CPU占用
(2) 耗电量
(3) 流量
(4) 主流业务响应时间
(5) 热/冷启动时间
(6) 内存泄露
(7) 页面过度渲染(3x 和 4x 重绘不超过 1/3)
(8) 帧率(大于60fps)
稳定性测试
(1) 正常网络环境下monkey 测试异常概率低于万分之7
(2) 弱网环境下monkey 测试异常概率低于万分之7
(3) 无网环境下monkey测试异常概率低于万分之7
(4) 无后台进程应用持续运行8小时以上无异常
(5) 系统Cpu占用率高于80%以上持续运行5小时无异常退出
静态代码检查
(1) 与开发共同制定代码规范,以工具扫描为主,人工审查为辅
三、高阶测试
推动单元测试完善
(1) 督促开发对每个函数/接口至少写一个正向和反向用例
(2) 代码行覆盖率>80%(可选)
代码走查,代码评审
(1)尽可能积极参与
线上自动化监控工具,线上故障报警
是WEB平台部测试技术平台化、效率化的先锋力量!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!