业务容错测试总结

发表于:2013-10-16 11:24

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

 作者:襄玲    来源:51Testing软件测试网采编

  一.我们线容灾测试现状和实践总结
  目前工作过程中遇到的一些涉及到容灾的场景:
  1、atpp_case_remote  case远程通信插件测试,容灾场景:
  a、消息发送端在网络异常场景下,第一次发送消息失败之后的处理。
  手段:拔网线模拟;
  结果:开发设计之初没有考虑这种场景,后增加一个google的queue依赖
  解决这个问题。实现方式是,当第一次发送失败后会将发送数据保存一份到本地文件中,然后不断进行重试发送,直到发送成功;
  2、法网狙击项目暴露了很多异常测试和容灾测试方面的考虑欠缺:
  a、 PMC流程某个节点服务调用异常的情况下,系统的处理。
  按照开发的设计,需要在此时进行调用重试,每2分钟一次,共重试5次,最后失败才生成小二任务。
  手段:日常下,利用TCC工具对azeroth里面的代码进行异常注入,使代码运行到该方法时抛出异常,从而模拟异常场景。
  结果:发现从开始使用PMC开始,就没有对这些异常情况进行考虑,所有的异常都是马上生成了小二任务进行处理,甚至有一些流程就这样一直卡住,没有任何补救措施。
  解决:修改PMC的配置,添加异常重试的处理,按照之前的设计进行。
  b、 调用消保的冻结、解冻、转移保证金接口,发生不同的异常场景,返回不同的ERROE CODE,最后本系统进行处理的细节考虑不全。
  系统间交互容易出现的问题(针对hsf调用):
  (异常场景)
  1、超时时抛出超时异常;
  2、序列化/反序列化失败时抛出HSF异常;
  3、没有可用的目标服务地址时抛出HSF异常;
  4、服务端抛出业务异常,返回同样的业务异常;
  5、依赖应用封装了下一级应用的异常,返回相应的ERROE_CODE;
  6、调用的目标服务地址有通信问题,自动尝试有限次数重新选址;
  (并发场景)
  1、识别可能存在并发的场景,模拟依赖应用返回并发的ERROR_CODE
  (幂等调用)
  1、如何模拟幂等调用??看对方是怎样判断幂等性的,如果无法真实模拟对方返回幂等调用结果的场景,则mock掉真实的调用情况,直接返回幂等调用时候的ERROR_CODE。
  解决方案:
  测试场景应该细化考虑异常场景,包括,超时异常,hsf异常以及各种业务异常返回的处理,而不仅仅是类似系统异常(RuntimeException然后看系统是否重试这么简单而已)
  采用的方式,mockHsf服务调用的返回。之前的方式(bugfix的时候)通过开发在日常debug,修改服务调用返回值来处理。
  第一步,先梳理所有调用到消保接口的类和方法;
  第二步,每个调用到的地方都尝试进行mock超时、hsf异常返回的处理,并且明确其他业务异常的返回和处理。
  第三部,补充接口脚本覆盖这些场景。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号