基础就业班、自动化班课程

涨价在即

预交定金,锁定优惠

等你来

 

 


 

松勤VIP系统宕机的原因剖析

 

 

关键词:Jmeter、并发、错误推测、缺陷攻击、性能测试、松勤软件测试培训

 

案例背景:2019324号,松勤软件测试学员,在小猪老师的课堂上学习了Jmeter工具,并结合松勤公司项目《VIP系统》开展性能测试实战演练。

 

案例系统:VIP系统》是松勤公司自研的教学综合系统,正式的系统已经上线并投入使用。为了保障课程的实战性,研发团队专门搭建了一套和正式系统一样的测试系统给学员做企业项目实战使用。

 

突如其来的系统宕机(系统无法访问):

2019325 晚上2345分,班主任收到学员在群里面的紧急信息,反馈VIP系统无法登录,导致部分学习任务无法完成。随后,其他班级群陆陆续续收到学员反馈。

 

系统故障第一时间反馈给开发团队,凌晨也不例外: 

 

反应神速的开发团队(快速定位问题,并进行确认):

 

故障得到初步的确认:系统崩溃的原因是学员大并发的访问。

 

 


 

 01 开发小哥的疑惑:

 

学员针对的是VIP测试环境开展的性能压测,如果出现问题,应该是测试环境崩溃,为什么现在出现问题的是正式的现场环境呢?

 

开发人员陷入了沉思,整个问题分析现场一片寂静:

 

 


 

 02 旁观者清:

 

学员为什么可以使用工具开展大量的同时登陆系统操作呢?登陆界面不是有验证码的吗?

 

站在一旁的测试经理说道,并贴图:

 


 

 03 开发经理道出缘由:

 

为了方便学员开展性能测试,在测试环境中,开发人员在界面上面把验证码去掉了,在代码里面设置了一个万能验证码,脚本里面只需要带上这个万能的验证码,就可以正常登陆。可是这个是在测试环境里面做的修改啊,怎么会出现在现场的环境中,这个时候,开发经理好像想起来什么,随即调出了真实环境中的登陆模块的代码,然后,盯着屏幕一言不发:

 

原来,开发人员把测试环境的代码和真实环境的代码弄混淆了,导致真实环境里面留有一个验证码的后门,这个就是写死在代码里面的189的验证码,这个验证码在项目实战练习里面,已经告知过了学员。难道是学员知道测试系统这个固定验证码后,然后应用到真实环境当中,从而把真实环境压崩溃。

 


 

 04 测试经理道破天机:

 

听了开发经理的分析后,测试经理露出了神秘的微笑道,完全有这个可能,松勤软件测试课堂里面讲过,软件测试方法里面,有一种方法叫做错误推测,也叫做缺陷攻击法。

 

就是测试工程师根据自己测试的经验和相关系统之前出现过的缺陷,把这些经验和缺陷点记录下来,应用到新的系统或项目。看来我们松勤的同学们,学的还是挺扎实的,活学活用,哈哈。

 

看着测试经理娓娓而谈,开发经理似乎陷入了沉思,虽然没有说什么,但是明显感觉到压力山大。

 


 

 05 后记:

 

这次VIP系统崩溃的故障已经查明,开发团队也第一时间修复问题。到了下班时间,开发团队迟迟没有离开座位,后来听他们说,是开发老大发话了,要加班排查系统模块和优化代码管理流程,杜绝类似问题的再次发生。同时,对测试经理的支持和及时提供信息表示感谢。测试经理也为开发团队点赞,拥有开发团队的支撑和保障,才让松勤广大学子们的项目实战如此的贴近企业实战。

 


 

 06 相关知识点补充:

 

学员在本次测试中应用的思维是基于经验的测试,即根据测试人员对相似的应用或技术的经验以及知识和直觉来进行测试的。

 

采用的方法叫做《基于经验的技术-错误推测法》。即测试人员靠经验来预测缺陷。并设计测试来攻击这些错误,这种系统的方法也称之为缺陷攻击法。测试工程师根据经验、已知的缺陷和失败数据以及有关软件失败的常识等方面的知识来设计测试用例并对系统开展测试。