1、测试流程
需求熟悉:从需求评审时介入,评审前理解需求背景,需求内容。评审时将有疑问的需求点提出,了解清楚
项目排期:评审后评估大概测试时间,项目排期
输出测试方案:测试范围、测试方法、测试人员、测试排期
准备测试用例:理解需求、提炼测试点、设计测试用例;测试用例需标明优先级,若P0级用例执行不通过则不具备转测条件
测试用例评审:一般在提测前两天进行评审,评审前通知项目成员,提前发出测试用例;评审用例、并记录需要修改的点,记录需要新增的用例;评审后,确定最终用例
确定开始测试:提测邮件、冒烟测试通过
开始进行测试:用例执行,保证用例覆盖率、系统测试【功能、性能、UI、易用性、安全性、兼容性】、bug记录(不忽略任何与预期结果不一样的点,搞清楚原因)
回归测试:修复完bug提测时,需要确定改了哪些地方,可能会影响哪些地方;上一轮的bug需要全部处理;bug回归;再次执行用例测试,尽量全量执行
上线标准:需求的功能已实现,用例已完全执行且没有B级以上的bug,遗留bug已确定方案和责任人;满足需求
测试报告:记录版本功能,测试情况,遗留问题情况,测试过程种遇到的问题和解决方法、是否满足上线条件
2、接口测试方法
接口作用:知道接口功能,接口开发的背景。思考该接口的可能使用场景
接口文档:要求开发给出接口文档,包括请求参数说明、响应参数说明、错误码;对着接口文档设计测试用例,当不同的参数请求时,验证接口功能及异常处理能力
请求方法:POST/GET/DELETE;;http or https
header\body:熟悉参数内容、参数格式;按照测试用例设计不同的参数
熟悉请求、响应的参数含义,熟悉响应内容含义
状态码:200、3XX、4XX、5XX;一般3XX会进行重定向、4XX说明客户端存在问题、5XX说明服务器存在问题
错误码:确定各种情况后台会给出的错误码。如:参数错误、参数缺失、服务器错误...
接口性能:如果要求对接口进行性能测试,可使用性能测试工具(jmeter、LR)或第三方压测平台(阿里云PTS、云智慧等)进行性能测试
接口安全:接口参数安全,一些敏感数据不允许直接修改接口参数改变数据;不允许越权请求的情况;防刷
3、安全性测试方法(密码、敏感信息、权限控制、SQL注入、XSS攻击)
密码:密文输入(*)、接口/参数中不显示密码字段/服务器日志不显示密码、使用安全控件防刷、5分钟内错误次数过多锁定账号30分钟
敏感信息:如appsecret、手机号码、敏感的用户信息等,加密存储
权限控制:不允许跨权限请求数据,修改数据,删除数据等情况
4、兼容性测试方法(云测?手机选择?系统、品牌、CPU、屏幕尺寸、安卓版本)(友盟?)
手机选择:按系统(Android ios)、品牌(华为、小米、oppo、vivo等)、CPU(骁龙845、835、其他品牌CPU)、屏幕尺寸(各尺寸)、安卓版本(9.0、8.0...)
测试方法:在不同手机上安装app,检查页面样式、遍历所有功能
云测:可网上搜索兼容性云测平台(testin等),付费后选择需要测试的手机,得到兼容性情况
友盟:如果app接入了友盟,可以查看历史版本中各种手机的占比;对热门机型重点兼容测试
浏览器:谷歌、火狐、IE、其他(360、QQ)
测试方法:在不同浏览器上查看页面,检查功能
5、接口和服务的关系
在我看来,接口是调用某块服务的入口,一个服务中定义了多个接口,不同的接口实现不同的功能;
服务部署成功后即可调用相应的服务
对接口进行压测,也相当于压测了提供了该接口的服务
6、UI测试
必要性:页面美观,给人一种上档次的感觉,而不是像残次品一样。有助于提升用户体验,让用户用起来更舒服、感觉爽
对测试人员来说,UI测试是系统测试的一部分;需要严格要求测试人员,不放过UI方面存在的问题,交付一个尽量完美的产品
测试方法:对照UI设计师提供的设计稿,对照各部分的颜色、距离、字体、排版等;动画效果、页面切换效果等
优先级:UI测试低于功能测试等,首先保证功能的情况下不断优化UI效果
技巧:对照效果图测试通过后,让UI设计师做UI还原、或者让ta确认效果