【实测】关于‘钱学森弹道’应用软件测试的设计与实现(01)

简介: 【实测】关于‘钱学森弹道’应用软件测试的设计与实现(01)

  实测系列是纯硬核技术文章,并且是博主亲自演示已经落地取得一定成果的技术和原创教程,无偿进行分享,大家一键三连,支持一下!

前言

   最近的世界又开始了战乱,不少小伙伴都开始对导弹感了兴趣,我想很多军迷小伙伴都知道,我国的导弹技术是世界顶级,发射的远程导弹敌人是根本无法拦截的,这也是让我们具备摧毁敌人的根本技术之一,而其中,最厉害的最无解的技术当属【钱学森弹道】了。

   来看看官方的解释:

   划重点:钱学森弹道是无法预测,随机变幻路线,以至于无法也不可能被精准拦截,但最终又能恰好击中目标的技术。

   像是魔法一样,无数个偶然最终的结果却是必然,全靠了我们的先辈钱学森爷爷的贡献,才得以让我们能在今天世界战乱的情况下得以和平和安乐的生活。

   如今,这个技术是否能应用在测试领域,又有什么意义?不妨跟着博主一起来探寻下吧~

正文

   一:具体有什么作用?背景?

   在我们软件测试工作中,一提起‘随机’这个词,你会想到什么?没错,就是monkey测试。

   但是monkey测试是没有准确目的的,更多时候属于负载测试,用来发现一些内存泄露或者崩溃等bug的。而钱学森弹道技术的特点中除了随机之外,还要有准确的目的地。

   那如果再给Monkey加上一个目的地,就变成了这样。从A页面,到E页面之间随机点点点,但是最终一定要到E页面。这个需求就需要随机且准确目的地,也就恰好契合了【钱学森弹道】。

   但是小伙伴又会问了:从A到E,中间随机,为什么会有这么奇怪的需求?这个需求的现实意义是什么?

   答:我换个说法,比如现在是一个民宿酒店房源下单流程,从页面详情页开始,到最终下单并确认成功。中间的路线是什么样的?有多少种路线?如果用户反复的下单取消订单,来回返回提交表单,刷新等操作,是否会引起bug?

   其实,如果你去那些专业薅羊毛群里,就会发现,好多人是专业来找到这个流程的bug的,靠的就是反复随机的操作去碰。【钱学森弹道】恰好能够覆盖这里的所有用例路线,那到底有多少种路线呢?

   答:相当之多,有些同样的步骤,反复快速操作几十次,bug就出来了...

   我再举个例子:测试游戏,角色需要从自家水晶走到大龙刷新点,中间有多少种走法?那是相当多了吧?是否会存在某个未知bug,某个路线,会最终导致去不了大龙点?或者去了之后伤害异常?这些都需要测试才能给出结论,那这个测试,你怎么做?随便选了个最短路线过去,没问题就完了?当然不是,而靠纯代码和逻辑推断出来的测试用例(比如运用流程图法,基本流、异常流)等等,去写用例并执行虽然靠谱,但成本颇高,远没有直接让角色随机选择路线(中间甚至还会走回头路的方式去目的地)自动去测试方便。

   再举个例子:很多第一人称射击游戏/角色扮演游戏大家都玩过吧?你们玩CF生化模式闯关的时候有试过来回在一个墙角移动就会卡进去的bug来过关么?试过永劫无间在秘宝洞穴某个墙外来回蹭就能直接卡进去么?这种bug不要太多,任何游戏都存在。但却几乎无法被测试覆盖到,那你想想为什么每次这种隐藏之深的bug都能被找到?那些专业去找这种bug的人他们是用了什么测试方案,就能在游戏公测第一天就能找到这几乎无法被发现的bug呢?答案就是大量的随机动作,并且设置了目的地:墙壁里、山体里、洞穴内等等,无数种随机的路线,来回移动,反复横跳的路线中,就会自动发现那一个bug。

   例子先不举了,太多了。

   言归正传,这种随机又有确定目标的测试技术,我就暂且叫做【钱学森弹道】测试法吧,如果你们有好听的名字可以留言哦。

   那这个技术的背景和意义,我们大致有画面了,但是如何实现呢?无数个随机事件,真的能在最终走向确定的目标么?

   欢迎继续收看【钱学森弹道】测试法的实现理论。

   明天更新...

相关文章
|
4月前
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
209 6
|
7月前
|
存储 人工智能 测试技术
HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试
本文深入解析HarmonyOS应用测试全流程,涵盖从一级类目通用测试到二级类目专项测试的技术方案。针对兼容性、性能、安全测试及分布式能力验证等关键环节,提供详细实践指导与代码示例。同时,结合典型案例分析常见问题及优化策略,帮助开发者满足华为严苛的质量标准,顺利上架应用。文章强调测试在开发中的核心地位,助力打造高品质HarmonyOS应用。
377 2
|
3月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
496 11
|
4月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
4月前
|
人工智能 IDE 测试技术
Browser-Use在UI自动化测试中的应用
Browser-Use是一款浏览器自动化工具,具备视觉与HTML解析、多标签管理、操作记录与复现、自定义操作、自我纠正及并行执行等功能,助力AI智能体高效完成网页任务。
352 0
|
7月前
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
253 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
7月前
|
测试技术 数据库 Python
解释测试中setup和teardown函数的应用。
总结起来,`setup`和 `teardown`函数就像扔宴会的主人,他们保障了宴会的流畅进行。他们是准备环境和清理现场的重要工作人员,他们的工作直接影响着我们的测试效率和质量。我们可以把 `setup`和 `teardown`想象成隐藏在幕后,默默为我们服务的工作者,他们做着我们需要但是往往忽视的工作。所以,下次当你写测试的时候,别忘了给你的 `setup`和 `teardown`留出足够的位置,因为他们的作用可能是你成功的保证。
166 14
|
7月前
|
存储 5G 测试技术
时钟同步测试校验仪的应用介绍
时间同步测试仪是一种高精度、高可靠性的设备,用于测量和评估时间同步系统的性能。它广泛应用于电力系统(如电网调度、继电保护)、通信网络(如5G基站、光传输网络)、铁路交通(如列车运行控制、信号系统)、工业自动化(如生产线、控制系统)以及科学研究(如天文观测、粒子物理实验)等领域。其功能包括高精度时间测量、多信号接口支持、自动测量与分析、数据存储导出及性能评估输出,确保各领域设备间的时间同步精度与稳定性,保障系统高效运行。
|
10月前
|
算法
MATLAB在风险管理中的应用:从VaR计算到压力测试
本文介绍如何使用MATLAB进行风险管理,涵盖风险度量(如VaR)、压力测试和风险分解。通过历史模拟法、参数法和蒙特卡洛模拟法计算VaR,评估投资组合在极端市场条件下的表现,并通过边际VaR和成分VaR识别风险来源。结合具体案例和代码实现,帮助读者掌握MATLAB在风险管理中的应用,确保投资组合的稳健性。
|
11月前
|
搜索推荐 测试技术 API
探秘电商API:从测试到应用的深度解析与实战指南
电商API是电子商务背后的隐形引擎,支撑着从商品搜索、购物车更新到支付处理等各个环节的顺畅运行。它通过定义良好的接口,实现不同系统间的数据交互与功能集成,确保订单、库存和物流等信息的实时同步。RESTful、GraphQL和WebSocket等类型的API各自适用于不同的应用场景,满足多样化的需求。在测试方面,使用Postman、SoapUI和jMeter等工具进行全面的功能、性能和安全测试,确保API的稳定性和可靠性。未来,随着人工智能、大数据和物联网技术的发展,电商API将进一步智能化和标准化,为用户提供更个性化的购物体验,并推动电商行业的持续创新与进步。
446 5