• 欢迎使用千万蜘蛛池,网站外链优化,蜘蛛池引蜘蛛快速提高网站收录,收藏快捷键 CTRL + D

特斯汀软件测试百度云(软件开发培训班百度云)


今日主讲:

1、混沌测试的概念

2、做混沌测试的原因和重要性

3、混沌测试的准备工作

4、实战混沌测试

5、总结

一、混沌测试的概念

什么是混沌测试呢?

混沌测试是一种可试验的、基于系统的方法来处理大规模分布式系统中的混乱问题。通过不断试验,了解系统的实际能承受的韧性边界并建立信心,通过不同的试验方法和目的,观察分布式系统的行为和反应。一句话——以试验的方法尽早揭露系统弱点。


二、做混沌测试的原因和重要性

混沌测试类似于“故障演练”,不局限于测试,而更像是工程实践。为什么这么说,通常的测试用例会有“期望结果”和“实际结果”,通过将两个结果比较,或者对用户行为的预期,来判断测试通过或失败。而混沌试验类似于”探索性测试“,试验本身没有明确是输入和预期结果,通过对系统和服务的干预,来观察系统的”反应“。将混沌测试原则融入在试验过程中:在生产环境小规模模拟系统故障并定期自动化执行试验,通过试验结果与正常结果进行比对,观察系统”边界“。


三、混沌测试的准备工作

需要提前列出需要演练的场景,比如:服务名称,场景描述,注入的故障类型,预期的故障结果,实际的故障结果,后续的优化计划等等。演练的内容可以有如下内容:(包括但不限于)


四、混沌测试实战

目前我公司是通过ChaosBlade平台进行二次开发,作为混沌测试演练平台

这里会以我司的混沌平台为例:


1、创建实验

填写一个实验名称,比如我们需要注入的是dubbo接口异常,我们可以设置该故障名称为XX服务XX接口dubbo接口异常,方便后续查找实验


2、配置实验参数。

演练维度:container

机器:选择对应服务的机器

添加演练内容:

chaosblade.container-dubbo.throwCustomException

注入异常接口名称:com.xx.xx.service.api

目标注入故障的方法:selectSellerShop

抛出的异常:java.lang.RuntimeException

注入方式:选择客户端注入,一般故障模拟都是从客户端调用

配置完成后保存参数


3、执行实验

执行实验,从客户端调用接口,并同时查看日志


这里我还添加了监控,可以查看比如CPU使用率,内存使用率等。

这里可以看到,已经打印了异常日志,该故障的预期是不展示对应的优惠券,此时从客户端的表现来看,确实没有展示优惠券,由此可见,该故障注入成功,且预期与实际表现一致。

终止实验:故障恢复,停止后要测试一下故障是否真的恢复


五、总结:

在做混沌测试的时候,一定要区分混沌和bug的区别,做混沌的目的是为了测试系统的容错能力,且对应的研发是否有真的实现对服务的兜底处理,尽量多的对线上已经出现的或者能预期的异常场景进行混沌测试,才能更大能力的保障系统的稳定。

最后,关于软件测试学习,offer选择等等,都可以通过后台私信交流。需要学习资料或者帮忙修改简历也可以私信!!也可百度搜索“特斯汀软件测试腾讯课堂”或关注公众号“特斯汀软件测试”,里面涵盖很多精彩免费视频或干货知识

本文链接:https://www.24zzc.com/news/169266910422114.html

相关文章推荐

    无相关信息