类“网关”系统的测试经验分享

发表于:2019-12-17 10:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:薛立斌    来源:51Testing软件测试网原创

   什么是类“网关”系统?
  网关(Gateway)实现网络互连的网络连接设备,实现“网”间的互连。这里说的类“网关”系统,与网关异曲同工,它实现了前端各应用系统和后台各服务系统间的互相连接。它的主要功能除了实现各系统间不同报文格式间的互相转换,保证各系统间的链接外,还进行了部分应用层面上的安全验证,比如报文来源(前端系统)的合法性验证、用户身份的合法性验证等。
  类“网关”系统对用户透明的(这里说的用户主要是前端用户),并且它的很多功能都是“隐性”功能,即更多是面向应用系统层面,而非面向用户层面的应用,这也就给测试带来了很大麻烦。
  如何获取测试需求/依据?
  从需求说明书中获取?只能说你想得太简单了。“用户不可见”的属性,也就“保证”了它在需求说明书中出现的概率很小,不可能像前端系统的需求说明书那样,描述有什么样的功能,界面是什么样子,更何况它不会有界面,所以呢,我们只能另想他法。
  测试前移的好处其他文章里说了不少,这里就不多说了,对于测试最大的好处就是提高后期测试版本的质量。对于类“网关”系统,除了能在前期避免一些设计上的缺陷以外,还能从系统设计和详细设计阶段中逐步整理测试需求/依据,特别是对于报文转换这种没办法从其他途径获取需求的功能来说,测试人员能够参与到设计阶段的设计方案讨论、技术方案评审中,更是尤为重要。比如系统应急场景的测试设计,需求及其他文档中只字未提,所有测试案例的设计依据全部是我们通过参与开发人员的方案、技术讨论会的方式获取和整理的。
  测试设计从何入手?
  根据系统的特点,我主要从4个方面进行了场景和案例的设计,也引用了一些工具,如常用的Postman、Jmeter,还使用了自研的自动化工具和日志回放工具。
  正常场景测试
  这里说的是系统完全正常状态下的测试,不止是正向逻辑的验证,还包括功能容错性的验证等,主要通过客户端和一些工具对功能和接口进行测试,和其他功能测试没多大区别,不多说了。
  我们采用了自研的自动化测试工具,主要原因是他能更好的贴合系统的测试要求,并且测试人员也比较熟悉,同时使用了Postman对接口和缓存功能进行测试。
  图1:自研自动化测试工具
  图2:使用Postman进行测试
  应急场景验证
  即系统异常情况下的功能验证,比如部分服务器异常、数据库异常等情况,这部分主要是对系统高可用性的验证,验证异常场景下系统是否正常对外提供服务,系统对的特殊处理方式,以及系统恢复后对外服务的连续性是否正常。
  例如,我们模拟了系统一套服务异常后,负载均衡是否能将交易路由到另外一套服务,应急后前端系统是否有正确的提示信息、各类交易能否正常使用,系统恢复后应急前后的业务数据是否连续、完整,如能否正确查询和展示应急前后的交易记录等。
  日志回放验证
  我们是采用自研的日志回放来对测试场景进行补充,它可以实现日志的回放和返回数据的报文级对比。现有生产系统的日志包括丰富的应用场景,能够在一定程度上补充因测试人员能力不足或设计不周造成的场景缺失,尽可能多的覆盖生产系统的常用场景。
  这种方法也存在一定的局限性。首先,日志数据与铺底数据要匹配,因此回放一次后数据基本上不能再次使用,若多次回放,恢复数据会占用比较多的时间;其次,某一天的日志覆盖的场景有限,需要尽可能多的回放日志才能达到比较好的效果;最后,采用这种方法时,测试人员不便于统计覆盖了哪些场景,不能有效的评估测试效果。虽然有诸多的不足,这种方法还是帮我们发现了一些缺陷,避免了一些比较偏的应用场景问题。
  图3:自研日志回放工具
  性能测试关注什么?
  从上面的图可以看出,类“网关系统”的性能非常重要,如果他成为瓶颈,便会严重影响整个系统群的服务能力。性能方面,TPS、交易相应时间、数据库指标、应用服务器指标等,这些和其他项目几乎一样都需要关注。但类“网关”系统主要是起到连接的功能,它对于交易在后端服务系统中执行结果并不太关心,因此,我们首先在用了挡板方式,屏蔽了后端服务系统的处理能力对本系统测试结果的影响,使测试结果数据专注与本系统的指标,针对性验证系统本身的性能,判断本系统的性能是否满足要求。当然,此时使用的测试报文、数据,也只是保证了交易在本系统的处理结果的正确性。
  图4:Jmeter性能测试
  而后去掉挡板,补充了交易全链路的下系统性能测试,如交易相应时间包括了后端服务系统的处理时间,这种方式更贴近生产场景,同样也可以作为判断系统投产后运行效果的参考。
  结束语
  以上便是我对类“网关”系统测试经验的简单总结,头一次比较完整的测这类系统,过程中也有很多做的不到位或不周全的。系统投产后有些小磕绊,但总体正常,也比较欣慰。

      版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号