几周前发生了一个较为严重的线上问题,少量用户在打开App会出现白屏。这两周一直在思考如何针对这种隐藏很深的特定条件下触发的缺陷进行测试和预防。本文结合在金融App的特定业务场景下,进行思考如何使用业务异常注入的方式,快速、高效、可行的保障App版本质量。通过思考总结了四种常见的注入方式,本文从易于理解的角度进行分析总结,不可能面面俱到,仅提供一种思考方式供大家参考,期待同行能够提出更多建议。

基于输入的异常注入

每一个业务都有其成立的隐含条件,在特定的输入条件下才会产生特定的结果集。对于输入异常注入,需要关注输入约束、输入异常,这一点对于测试人员来说是比较轻车熟路。

比如16岁以下儿童身份证有效期5年。

某系统设计:在性别栏中,如果只有男、女,出现其他情况时,可能就会导致系统出现异常。

基于输出的异常注入

输入是正确的,但输出不一定是想要的结果,特别是后一业务依赖前置业务时,通过多次输出输入转换,可能会出现各种业务异常。常见的程序员在处理业务过程中的代码缺陷和业务理解歧义导致的业务处理异常。

输网络异常导致,因为传输过程各种原因的丢包、延迟,序列化和反序列化等原因导致的输出异常。网络异常包含网络本身的异常以及软硬件故障导致到异常注入。

不管是业务异常还是因为传输异常导致的各种问题,都会影响整体程序的正常运行。

比如:在业务处理过程中,因为程序员的疏忽,导致业务处理返回code码返回错误,导致相关依赖其业务code码的相关业务处理异常或者失效。

因为网络延迟,响应时间变长,导致相关业务调用接口熔断,出现的程序或者业务失效。

基于计算的异常注入

输入输出都没有问题,但在计算某个值时,程序失效。基于计算异常的注入包含计算本身的问题,以及因为计算异常导致的操作系统异常等情况的注入。

例如:将两个很大的数相乘,乘积太大不能出来,导致程序不能处理。

基于存储(或数据)的异常注入

输入、输出、计算、网络都是正常的,但是操作是程序耗尽内存,或者产生的数据文件过大,甚至内存突然出现故障等原因,程序不能处理。

对于以上内容在性能测试《京东金融App端链路服务端全链路压测策略》和乐高平台数据验证《京东金融移动端测试实践》等测试中有一些实践,但目前没有全方位的、系统化的应用和实践在项目中,期待未来能够围绕异常注入进行系统化的高标准的质量建设和探索。

文章来源:MiniStarClub北京,致力于提供最具价值的测试、测试管理及个人成长领域原创文章。包括测试技术、测试方法、测试思想、测试管理及个人成长等。

· 推 荐 阅 读 ·

RECOMMENDATION

京东金融云测平台方案

京东金融移动端测试实践

团队管理与个人成长文章汇总

你需要的测试策略都在这里!!!

深入学习自动化测试看这里就够了!!!

深入理解自动化测试基本原理和框架设计

打造用户满意的产品|互联网测试的初探

全面的质量保障体系之回归测试策略

京东金融App端链路服务端全链路压测策略

UI自动化应该实施哪些内容?

《高绩效成果教练》课程笔记及思考

基于业务分层的测试策略

基于风险的测试策略

高效学习之五星笔记法

你点的每个“在看”,我都认真当成了喜欢!

基于异常注入(混沌工程)的测试思考相关推荐

  1. 浩鲸科技基于ChaosBlade的混沌工程实践

    简介:浩鲸科技在海量互联网服务以及当前爆炸式增长的流量场景实践过程中,沉淀出了包括,链路压测,流控管理,动态扩缩容,故障演练等高可用核心技术,并通过云上服务化.平台化和工具化的形式,帮助内部产品研发部 ...

  2. 利用混沌工程测试以太坊客户端

    本文提供了混沌工程原理的实用知识,讨论了它在软件开发中的应用,并探讨了如何将其应用扩展到区块链开发中. 本文的教程部分演示了如何使用 ChaosETH 框架来利用混沌工程来测试以太坊客户端. 这种策略 ...

  3. Netflix混沌工程手册Part 2:混沌工程原则

    本文翻译自Netflix工程师合著的 *Chaos Engineering*一书.这本书介绍了混沌工程的主要概念,以及如何在组织中实践这些概念和经验.也许我们开发的相关工具只适用于Netflix自身的 ...

  4. Netflix 混沌工程手册:什么是混沌工程?

    作者 | Netflix 工程师团队 译者 | 侯杰 本文翻译自 Netflix 工程师合著的 Chaos Engineering 一书.这本书介绍了混沌工程的主要概念,以及如何在组织中实践这些概念和 ...

  5. Netflix 混沌工程手册 Part 3:实践方法

    本文翻译自 Netflix 工程师合著的 Chaos Engineering 一书.这本书介绍了混沌工程的主要概念,以及如何在组织中实践这些概念和经验.也许我们开发的相关工具只适用于 Netflix ...

  6. 未来技术展望(一):混沌工程与ChaosBlade

    -     起源     - 混沌工程是在分布式系统上进行实验的学科, 目的是建立对系统抵御生产环境中失控条件的能力以及信心.由Netflix在2010年底提出,2012开源Chaos Monkey( ...

  7. 都2021年了,你还不知道混沌工程( Chaos Engineering)?

    混沌工程是什么 混沌工程是一门新兴的技术学科,初衷是通过实验性的方法,让人们建立对于复杂分布式系统在生产中抵御突发事件能力的信心. 混沌工程是一门相对高级的系统稳定性治理方法论,它提倡采用探索式的研究 ...

  8. 如何设计一个混沌工程实验?

    文章目录 1 什么是混沌工程? 2 为什么需要混沌工程? 3 混沌工程和测试有什么区别? 4 混沌工程的先决条件是什么? 4.1 先解决确定会导致问题的弱点 4.2 监控系统来确定系统的状态 5 混沌 ...

  9. 云原生背景下故障演练体系建设的思考与实践—云原生混沌工程系列之指南篇

    ​作者:​智妍(郑妍).​浣碧(何颖)​ 什么是混沌工程,云原生大潮下的混沌工程特点 通过使用云计算厂商如阿里云.AWS 等提供的服务,现代服务提供者得以用更低廉的成本,更稳定地进行丰富的软件服务提供 ...

最新文章

  1. 手把手用YOLO做目标检测
  2. 虚拟机Linux下解决ping时出现 unknown host问题
  3. kafka实战最佳经验,阿里又现海王!某程序员同时约两个女生十一出游
  4. 钉钉项目任务怎么添加审批表单
  5. python实时读取日志并打印关键字怎么实现_python pytest测试框架介绍五---日志实时输出...
  6. 美国高校开源迄今为止最大新冠肺炎CT数据集
  7. 使用Sencha Touch加载本地Json数据
  8. linux mysql插入中文乱码_Unix下Mysql插入中文出现乱码
  9. python调用excel的宏_Python – 运行Excel宏
  10. 修改虚拟机设置过游戏检测
  11. MySQL 安装 + 入门大全 + 常用命令合集
  12. Regular进阶: 几点性能优化的建议
  13. 研究人类知识的计算机表示,人工智能中的知识表示及应用特点
  14. echarts x 起始_echarts中如何在dataZoom 最左侧和最右侧始终显示起始和结束的值
  15. 资产监测设备中GPS的C/N0和SNR的关系
  16. 不小心将 U 盘抹成 APFS 格式,应该如何恢复?
  17. 【研究生】这六种引用参考文献的行为,居然属于学术不端?
  18. ubuntu20.04运行网易云音乐出现无法播放、下载的情况
  19. 通常的六种网络拓扑结构
  20. 二叉树的遍历及根据遍历反推树的方法详解

热门文章

  1. nginx依靠超时时间实现上游负载web服务器重启时不影响访问
  2. 推特一名股东起诉马斯克,要求法庭强制完成收购交易
  3. 企业安全风险管理—应对风险
  4. 如何查看电脑最大支持多少GB内存
  5. 经典电路(一)“桥式整流电路”
  6. ubuntu的视频录制功能
  7. 基于面向对象的权限管理系统设计与实现[1]
  8. 数组元素作为函数参数
  9. STM32智能小车循迹教程
  10. 多光谱影像isodata非监督分类