测试思路非常棒,值得学习!!!!
正文开始:
对于测试人员的基本技能——测试用例的编写方法,我们已经分享过通用的用例编写方法(在公众号中回复“搜:用例”即可返回相关文章),通用方法在不同类型的功能运用时会有一些灵活运用,目前功能类型划分为四类:偏UI的功能,偏逻辑的功能,服务器交互功能和数据收集功能,我们已经分享过偏UI的功能、偏逻辑的功能和数据收集类的功能如何进行编写用例,这次我们再来看一下服务器交互功能如何进行用例编写~
我们先来看一下服务器交互的功能有什么特点呢。
服务器交互功能是软件客户端通过网络协议与服务器进行互通的功能,因此可以将该类功能先拆分为客户端和服务器两大部分。在我们的生活中,各种网购、搜索,各种手机软件的功能,其实都是属于服务器交互的功能,下面我们拿搜索来举例进行说明
需求:在浏览器中输入内容,能显示正确的搜索结果
需求分析:
搜索是一个客户端发送请求到服务器,服务器进行解析,返回对应的结果给客户端并展现出来这样一个过程。
功能拆分:
根据通用方法,首先进行对象拆分,分为客户端和服务器两个对象,然后再分别进行深入分析。为何要分为客户端和服务器呢?客户端和服务器本身的逻辑是可以独立的,它们的相互关系是依靠URL请求来维持的,分开测试便于区分重点,避免相互干扰,便于定位问题
客户端功能分析:
客户端发送URL请求
客户端获取服务器返回结果进行展现
服务器功能分析:
接收客户端发送的请求并进行分析,返回对应的结果给客户端
拆分测试对象到这里是否结束了呢?
结果是因人而异的,在这里我拆分出来的测试对象为:
客户端:
客户端请求
客户端展现
服务器:
数据解析结果
拆分测试对象的原则是拆分到最小原子,就是拆分到自己所认为的最小粒度,因此不同的人拆分出来的测试对象可能是不一样滴~
拆分完测试对象后,根据通用方法,下一步是找出检查点
检查点是测试对象的某一属性。
客户端:
客户端请求
请求URL及其参数
客户端展现
浏览器中显示的搜索结果
服务器:
服务器数据解析结果
服务器返回的内容(一般可以通过抓包工具来看)
OK,检查点也找完了,下一步是什么呢?根据通用方法流程,应该是找影响因素了。
如何找影响因素呢?不要忘了,两个方向:内因和外因;两个方面:正常和异常
客户端:
客户端请求
请求URL及其参数
请求时机
网络状况(断网、超时等)
影响参数值的因素
……
客户端展现
浏览器中显示的搜索结果
当前使用的浏览器
服务器返回值(404、302等)
服务器返回内容(格式、内容)
……
服务器:
服务器数据解析结果
服务器返回的内容(一般可以通过抓包工具来看)
请求URL中的参数
请求URL中的头信息
……
到此为止,功能大纲基本就出来了,剩下的就是整理和填写用例了。
我们再来回顾一下,为何服务器交互的功能要先拆分为客户端和服务器呢?
对客户端来讲,实际情况应该是:不管服务器返回什么样的结果,客户端都能进行处理,且结果显示友好不突兀
对服务器来讲,实际情况应该是:不管客户端给什么样的数据,服务器都能反馈回相对应的结果
这样来看,客户端和服务器分别测试是更有效率的,但是,千万千万不要忘了最后一步,客户端要与服务器进行联调测试哦,这一步是绝对不可以省略掉的~