不少测试是和后台代码逻辑相关的,好比:前端
接口文档里面包含了接口的url、用途、一些上行参数和下行参数的描述信息。web
可是要想知道这些参数取值的前因后果,仍是要回归到后台项目代码中,咱们能够对上行参数和下行参数是如何处理和生成的有一个全面的了解。浏览器
咱们拿到需求,根据需求文档、交互视觉设计文档来编写测试用例。服务器
在测试的过程当中,须要了解后台功能是如何实现的。例如一些wap页发送的请求,咱们经过抓包捕捉到请求的url,经过请求的url在后台找到相应的接口代码,最终仍是会落到接口的逻辑实现上。网络
只有清楚了后台代码的逻辑,才能更好的设计测试用例。这就是针对后台的一些测试。框架
和前端测试不一样,前端的代码咱们经过浏览器就能够看到。后台的代码更要求咱们能对IDE熟练使用并掌握如何查看代码逻辑的能力。工具
任何的测试涉及到后台,最终无非是落到接口的测试上。测试
步骤:加密
1. 经过抓包能够获得接口的基本信息,经过url中的内容咱们能够在后台项目代码里找到相应的Controller,方便咱们查看接口的逻辑;url
2. 对于上行参数的处理通常有对应的拦截器,咱们能够在对应的web.xml文件中查到相应url段的过滤器名称,而后查到对应的过滤器;
3. 在过滤器里咱们能够看到对上行参数的预处理逻辑(包括对一些加密参数的解密逻辑),从而找到和Controller里面的入参的对应关系。
一些关键点:
1. 由于咱们抓包抓到的上行参数可能是通过拦截器预处理后再传给Controller处理的,因此Controller中的入参名称和咱们抓包抓到的上行参数名称可能会不一样。
2. 在拦截器中咱们经过request.getParameter方法获取到上行参数,而后经过request.setAttribute方法设置处理后的上行参数并传递给对应的Controller做为入参。
1. Eclipse/Intellij(IDE)中按关键字、方法名、文件名进行查找;
2. 了解SpringMVC框架结构,例如web.xml等文件的做用;
3. 对后台代码逻辑的查看能力,知道方法的调用与被调用关系。可以理清代码逻辑;
4. 可以在理解代码逻辑的基础上,知道在哪里打log排查问题;
5. 能够经过SecureCRT等远程软件在后台服务器指定项目路径下查看log输出;
6. 可以经过Fiddler/Charles/Mitxproxy等代理抓包工具对http/https类型的网络请求(PC/移动端)进行抓包、拦截、改包;
7. 对于须要加密和解密的参数可以根据后台项目代码中的加密解密逻辑进行提取使用并制做相应工具;
8. Git工具使用(建立、合并、拉取、推送分支),及时将开发修改后的开发分支代码合并到测试分支并部署到测试环境进行测试。