测试客户端与服务器交互的功能,如何进行测试,需要考虑哪些内容呢?下面我们分阶段来说明一下~
  测试沟通阶段
  需要跟客户端和服务器端开发沟通,确定客户端发送请求的样式,需要包含哪些参数值,参数值具体有什么样的作用。
  跟服务器端确认是否需要添加特定的user-agent(添加user-agent的目的:确保服务器安全)。
  确认客户端和服务器端交互时是否需要对文件进行加密操作。
  跟开发确认请求时是否需要增加重试和具体的超时机制,有无下载的断点续传。
  确认服务器的具体类型,是apache的还是Ngnix的。
  对于需要客户端识别的参数,确认服务器端返回该参数是可能存在的返回值。
  对于异常情况,跟服务器和客户端的开发确定相应的容错处理。
  需要注意询问开发,与服务器之间的交互是用什么做的,标准的http协议还是自写的协议。
  还要注意,交互时的http连接,是用get还是post。
  需要和开发事先沟通清楚,是否需要特殊工具。
  如果客户端与服务器端交互的配置文件为密文时,需要询问开发有没有需要特别关注测试的地方。
  需要和开发对一下url中的参数,是否可以满足需求
  需求了解时,要注意跟产品/开发确认好测试范围;
  跟开发确认好,是否需要进行压力测试
  跟开发确认都哪些地方需要加防盗链;
  如果涉及到网页相关,要确认好测试环境:xp、win7、Win8、Win10及IE版本等
  跟开发确认好待测试的常规网络错误,以及测试方法;
  对于服务器端策略,需要和该服务的运营负责人沟通清楚,是否需要测试关注
  功能划分
  如果一个功能同时涉及服务端和客户端的修改,首先从功能上要分别对客户端和服务端分别进行测试。
  测试准备阶段
  尽量使用线上的服务器;如果需要搭建服务器则尽量保持跟线上或未来线上的服务器类型一致。
  搭建测试服务器环境时,测试服务器的返回策略,尽量跟线上或未来线上的服务器端策略一致。
  用例设计
  写case的时候,详细了解客户端和服务端的逻辑后,要确认一下,之前定好的测试范围是否合理,是否有部分不需测试的逻辑可能会存在问题,如果有这种不确认的地方,需要再次确认测试范围;
  要考虑不联网时,待测模块是否仍需支持某些功能;
  执行阶段
  1.1.  客户端关注

  尝试连接时,不联网,要有超时
  对于本地无连接的测试,一定要区分断网和禁用网卡,这两种情况不同。
  下载过程中,网络情况不佳或者断网,要有超时,好也有三次重连机制,重连的时间不宜过短建议20ms
  文件过大,建议需要有断点续传逻辑
  要验证各种网络错误环境,起码要包括200、302、403、404、417、500、502等错误和服务器超时、本地超时
  测试时需要关注,每条url请求是否支持302跳转
  需要模仿502跳转,确保调整后,客户端能够正常运行
  服务器返回文件类型需要关注:文件格式错误、Html格式文件、空文件、0字节的文件。
  服务器返回文件时,文件的储存路径,空间,路径的读写权限、储存路径是否已经存在文件,存在文件的数据(0字节,其他类型的文件、损坏的文件、下载的文件不完整)
  服务器端返回的url值的类型、长度的容错,服务器返回文件的内容:是否加密,参数值为中英文、简繁体、特殊符号、数字、空、缺省、零、小数、负值、超长、乱码等,参数缺省,规定下载的文件个数与下载的文件实际个数不匹配。