一、提测项目信息
开发提测前理想状态下测试已获取以下文档信息,这些文档都是作为开展测试的必要输入内容,也将减少测试开发之间的沟通成本。
需求文档
- 描述被测系统的业务逻辑,并据此文档编写测试用例
原型设计
- 展示被测系统使用逻辑,补充用例细节
技术文档
- 系统交互、技术实现以流程图、时序图方式呈现
- 接口文档:描述接口的访问方式和出入参说明,以及一个完整的示例;http接口目前使用swagger工具接口,这个接口工具是代码生成可根据代码的变更而更新。
二、无接口文档
非理想情况下,由于项目紧急程度或者开发态度可能不会提供详细的接口文档,接口测试则需要分三步走。
工具辅助
- 借助fidder、charles等抓包工具在本地建立代理服务,当浏览器和服务器之间交互时会经由代理,因此截获接口信息流。
接口分析
- 获取接口信息后,分析接口
- 接口请求头信息
- cookie等信息需要被关注用于确认用户身份
HOST,它表示指定访问的服务器域名;
Connection 的值为 keep-alive,这表示需要持久连接;
Accept,它表示客户端可以接受的内容类型为 application/json, text/plain, / ;
User-Agent,它说明请求是从什么浏览器发出去的;
Sec-Fetch-Site 和 Sec-Fetch-Mode,它们是 JS 中对跨域的一些设置;
Accept-Encoding 设置为 gzip、deflate、br,这表示可以支持的 Web 服务器返回内容压缩编码类型;
Accept-Language,它表示接受的语言。
- 接口入参含义、来源
- 请求入参的含义以及参数来源于什么数据,如该请求入参为上一个接口出参返回,过户系统预约过户时间接口中的过户单号入参,为创建过户单接口返回的出参。
- 接口入参作用域
- 这个入参在接口中的作用是什么,是否导致了业务的逻辑分支。如在创建支付单的接口中,业务类型入参,则标识着不同业务场景下创建的支付单
- 接口出参
- 理解接口出参含义,是否串联了业务逻辑即在业务逻辑上依赖此出参
问题询问
针对以上接口分析的未解决的问题询问开发解决,接口信息记录、更新至文档,形成对改接口的认知。
三、接口串行测试
单接口无法校验场景流程是否正确,接口测试仍需要依据场景进行业务逻辑的接口串行。甚至编写出该业务流程的自动化脚本。
四、实践
1、实际在测试工作中,无接口文档的情况下可选择获取开发代码git权限,查询实际代码。
2、接口信息可通过postman等工具维护