深入浅出SSD测试–理论篇

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

作者:妖二三

我们是QA,我们是摆渡人,我们会帮你上岸,那里阳光万里, 到处鲜花开放!

 

在一个夜黑风高的夜晚, 我突然萌发了一个想法, 我要写关于测试的东西,知道的不知道的都写,写光光,对!全部写光光!

我要写一个系列。一个很长很长的系列。

 

从哪里开始呢? 从段子开始, 知道你们喜欢段子。

 

某程序员: “编译终于通过了!太好啦!!!马上打包release给客户 !”

他TMD还真这么干了。

客户拿到软件后,使用后大为满意,立即送来一面 “技术很Diao”的锦旗,领导一拍桌子,升! 升职!!。工资double, 哦不, double 后再 double.

从此程序员过上幸福的生活。。。

故事讲完了。

 

第一章, 先从软件测试理论说起。

 

测试有多重要呢?

在测试界流传着很多恐怖故事,也称为恐怖事故

1. 千年虫的故事,别说你没听过。

2. 米帝国某次航天器发射,居然爆了。

3. 迪士尼的狮子王游戏。(你肯定没玩过,除了开发人员很少有人玩过)

4. 淫特尔的某芯片浮点运算错误导致一周亏钱4亿美刀+

5. 霓虹国前几天的某卫星失踪,据路边社报道,疑似被狂派变形金刚偷走(其实是有个软件Bug:)

6. 恐怖故事六, 请往下看(任务<1>开启,寻找第六个恐怖故事)

 

以上这些个故事都是经常听说的。

还有很多, 你都听过,只是听到一两个。估计你没感觉,反正和你没一毛钱关系。

 

我来编一个你没听过的:)

故事是这样的:(注意,是你,请入戏几分钟)

某天, 你去机场,听到广播:

“飞往XXX的XXX号航班旅客们请注意,据最新消息,此次航班的飞机是全新设计,现场组装!0启动! 0航程!幸运的你们是首飞。。bla bla…”

 

你一看机票,靠!正好是这个航班的机票,

。。。

请闭上眼睛想象一下如上剧情。并默念”飞机首飞, 首飞, 首飞!!!!!” 你大爷的, 都没测试过啊, 啊!啊!啊?

 

有没有点小感触?有没有突然间有”测试这么重要啊!我以前坐过的飞机是怎么测试的?以前没注意到啊”之类的感觉。

找到点感觉没?就是测试很重要那种感觉。找到就对了

好了,放心,飞机都经过严密的测试和验证,这里只是思想实验,如有雷同,纯属扯淡。

(适当想象即可,别入戏太深)

 

其实每个产品都是一架飞机,只不过承载的不是人,而是大家梦想。如果轻视测试,如同大家的梦想正在搭乘一架没有测试过的飞机,也许侥幸飞达成功的彼岸,但最有可能会(。。。。。此处悲剧不表)而成为上边第六个恐怖故事,在业界广为流传。。。。( 恭喜 !! 你找到了第六个故事—————–的线索,任务<1> —子任务1达成!,经验UP,… 咋有点递归的赶脚。。。 )

 

对测试重要性的认识是做好测试的前提,没有这一点,学会火星测试技术都没用。

 

这时,你要问了,妖先生, 我没明白你说的第六个恐怖故事到底是什么? 人物?,时间?,地点?三围?我只能说,别急。也许世界上就没有第六个恐怖故事,只要你修炼我的妖仙大法,即可趋吉避凶,化险为夷【任务开启: 寻找阻止第六个恐怖事故的秘籍】

 

我们回到开头的幸福程序员的小故事:

某程序员: 编译通过了啊!太好啦!!!马上打包release给客户 !

来,机智的你发挥你那野狗狂奔般的想象力,想象一下软件给客户后会发生什么 ?

我知道你心里头抱怨开头那个故事是扯淡。其实我也这么认为。(不好意思,没想起来吃药)

我们来看一下,真实情况是咋样的呢? 也许和你想的不一样哦。:))))

是这样的:客户打开软件后

 

 

Duang!!!!

 

 

Oh!No…

 

现实很残酷!现实就是这样的。

 

理想能不能高于现实那么一点点?!!

 

为什么客户看到了一堆恶心的bug. —–因为没有测试。

那测试到底是个什么鬼呢?

 

好的,我们来看看软件测试的官方定义

xxx.xxx,xxxxxx,xxxxxx,xxxxxxx

请百度,打字累

 

简单说就是找出小强。

题外话,为什么 叫 Bug,

任务开启三, 学绕口令:

Does not do something that the product specification says it should do

Does something that the product specification says it should not do

Does something that the product specification does not mention

Does not do something that the product specification does not mention but should

Difficult to understand, hard to use, slow, or–in the software tester’s eyes–will be viewed by the end user as just plain not right

 

【念完十遍, 任务达成!经验 UP, 等级UP, 攻击UP, 闪避UP…】

[什么是bug 解释, 待完成这一段。。。引出需求]

 

需求是啥?

 

想到 和 得到 中间还有一个 做到 (插入一个段子,引出软件开发流程)

 

测试人员眼中的软件项目流程:

 

1. Boom模式, 测试就是跟班,开发说啥就是啥,开发说怎么测,你就得怎么测.

 

开发指着一个鹿说: “这个是马”,

测试: “哦, 这个确实是马”

 

如果你有幸参加的是这样的团队, 那你有两个选择.

1. 你说是马,它就是马. 这样的团队测试地位低下, 没有自主性, 测试工作做得好, 开发说你瞎测, 乱开Bug, 扰乱开发进程. 做得不好, 你就是不好. 产品成功了, 那是开发团队厉害, 产品挂了, 那是测试不给力. 直到项目成功而结束,或者失败而结束,而你将化身为背锅侠,保重!

2. 赶紧准备简历, 外面的世界很精彩的, 外面的世界也很大, 来我这里也行, 憋多了,心理会不健康的! (注意我的联系方式. ezhu@cnexlabs.com,妖先生)

 

V mode , w model, x mode, y mode, (待写, 一个 一个写完)

 

Test case 设计, (待写,设计原则和如何设计好的用例,引出到底什么是好的测试?)

 

。。。

第二章: 装X篇

前面说了那么多, 不少读者向我反映, 文笔流畅, 但略显矫情,甚至浅薄庸俗。。。.

我去, 欺我读书少. 逼迫我装高大上阿?

好的 满足你们的要求,

 

下面我们把话题拔高一下.

拔多高呢?

拔高到人类思想领域的终极高度 ————-哲学的高度!!

 

 

哲学讨论的都是, 我们从那里来,要到那里去的, 上帝存在吗?或者在哪?这样的问题, 够高吧.

 

只要你够快,你可以到宇宙中任何地方—–甚至之外!!<<三体III>>

类似这种范。

 

警告! 前方避让, 我要开始装B了!!!!

 

测试行为就是一个归纳推论和演绎推论的过程,

证伪原则

波普尔同意对偶然真理的界定,但他强调这样的经验科学应该服从一种证伪主义。证伪主义至少存在两个优点。第一,科学理论的表达一般为全称判断,而经验的对象是个别的。所以,经验如果用来证实理论,那么它将是无法穷尽一般的理论的。比如,再多的白羊也不能证明所有的羊都是白的, 而只要一只黑羊就能证明所有的羊都是白的这个理论是错误的。所以,经验的真正意义在于可以证伪科学理论。第二,证伪主义可以避免对错误理论的辩护和教条。如果坚持实证主义,那么一旦出现与理论相悖的经验,人们便会做出特例假设或特殊的限制以使得理论能满足经验。但实际上这样的设定往往是极不科学的。证伪主义使人们相信所有的科学都只是一种猜测和假说,它们不会被最终证实,但却会被随时证伪。

 

待续。。。

分类目录 SSD.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。