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

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

前言

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

    来看看官方的解释:

图片

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

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

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

正文

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

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

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

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

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

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

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

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

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

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

    例子先不举了,太多了。

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我去热饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值