原創 一塊抹布引發的關於測試策略的思考

2021-08-27 23:57:43 字數 1702 閱讀 5928

其實,這篇文章最開始的標題是《如何用乙個抹布一次清理完乙個落滿灰塵的工位》,讀來讀去覺得有點繞,寫到最後也發現,哇,這個抹布好慘呀,就把標題改為《一塊抹布引發的**》,又感覺有標題黨的嫌疑,最終就確定了目前這個標題。

言歸正傳,不知道讀到這的同學裡面有沒有槓精,做測試的話,我相信肯定有,不管怎樣,我先解釋一下,本次主要是討論測試策略的話題,比如如何盡早發現嚴重程度比較高的 bug,有人會說,這和抹布有什麼關係?別著急,繼續看。

二我一直覺得,測試不只是單純的技術輸出型工種,有時候發揮好軟技能,會起到事半功倍的效果。

就本次「如何用乙個抹布一次清理完乙個落滿灰塵的工位」這個問題,我們可以想象下,落滿灰塵的工位,肯定比較髒,除了桌面,還有電腦顯示器、主機、櫃子等需要清理。

如果一塊抹布,我們拿來就上手,會發現桌子還沒擦完,抹布就得洗洗啦,那麼要想一次清理完,我們需要這個抹布可以多擦幾次,那我們要如何才能讓乙個抹布可以盡量多擦幾次呢?

經常做家務的(男)同學,這時候就比較有經驗了,我可以正面擦一次,反面再擦一次呀!

對,所以前提是,不能拿來抹布隨手就開始擦,而是先要平展開,規則的使用單面,這樣至少可以用兩次啦,但是兩次也不一定夠呀,怎麼辦?如何讓只有兩面的抹布出來多個有規則的面?

可能已經有人想到了,把抹布對折一下唄。

你看,折一次之後就是四個面,折兩次就是八個面啦,乙個抹布擦八次和擦一次,這反差效果還是挺大的吧。

咳咳,又有槓精來了:「理論上可以八次,實際上已經很髒了,越到後面效果越差呀。」

嗯,這是當然,所以除了摺疊,我們還需要規劃好擦拭的優先順序,比如顯示器這種不好擦又貴重的物品,可以優先擦,桌面就留到最後啦,這樣雖然後面效果會差,但也是可以接受的啦。

好了,乙個抹布我們說了這麼多,感覺到慘了沒?其實我主要想表達的還是,合理調整測試策略,可以讓測試執行事半功倍。

三看,抹布終於和測試扯上關係了哈,不過我們還是舉個測試的例子再詳細說明下吧。

比如有個專案,寫了 100 條用例,現在大家要幫忙做第一輪覆蓋的測試執行,常規來說只需要把用例從上到下、從前到後執行就行啦,但是呢,有可能出現跑到第 80 條用例時,突然發現乙個 p1 的 bug,然後一通搗鼓和定位,發現是技術架構的問題,如果修改,前面的所有付出全部白費,囧吧。

那基於前面抹布的**,我們可以想象一下,如果執行人員中有乙個對測試策略有一定了解的人,那麼他拿來用例的第一反應並不是立刻執行,而是先看看需求涉及的關鍵修改點,然後看看用例和需求的對應關係,並按照需求關鍵點的順序把所有 p1 + p0 的用例重新做個排序,並按照這個順序優先執行 p1 + p0 的重點用例,這樣,或許就能第一時間發現這個潛在的 p1 級別 bug 了。

當然這樣的話,對執行人員的要求就比較高了,那我們再想象一下,如果主導該項目的專案負責人,在分配任務的時候,告知了哪部分功能的重要程度比較高,並且把所有用例按優先順序順序標註好,具體執行時也明確要求先執行優先順序高的用例,只要執行人員能聽明白,也同樣可以盡早發現這個 p1 的 bug。

那有同學說了,p1 級的用例,我們肯定都是優先執行的,這個例子不恰當呀,好吧,那 p2 的也可以這麼來呀,當然,p2 的用例一般都比較多,那麼策略還可以繼續優化下,比如兩個人執行的話,乙個從上往下執行,乙個從下往上執行,如果多個人的話,每個人可以劃分出自己優先執行的範圍,自己負責部分執行完了再去覆蓋其他的部分。

總的原則就是,重要性高的用例優先覆蓋,盡可能早的完成第一次的完整覆蓋。四

一塊抹布蘋果賣145元還被搶光!三星免費贈送

上個月,蘋果 商店的一塊抹布 引發業界關注。這塊擦眼鏡 擦螢幕的拋光布定價145元,上架後就被搶購一空。這種情況讓華強北商家都感到意外 沒想到這麼小眾的產品會斷貨 蘋果拋光布定價145元程式設計客棧 面對蘋果,三星發布了一項公告,免費向galaxy使用者贈送清潔布。11月10日訊息,據galaxy ...

關於一塊藍芽模組的使用實錄

公司購進藍芽模組oe mesh1010sc01的藍芽mesh組網模組,在我手上耗時三個多月。這是一塊基於csr1010晶元上設二級的相容藍芽4.2低功耗ble以及mesh租完各功能的藍芽模組。它在智慧型燈控方面的確可靠性比較好,但是利用他來進行資料傳輸就比較狗血了。我們使用場景是 多個裝置組成mes...

IronPython的第一塊鱗片(補充)

昨天,帶著堅定的決心開始去摸索ironpython身上的每一塊鱗片了,而在前一篇post當中有乙個最經典的例子 出現了exception,以致於無法繼續下去。事實上,這樣的操作在python上面是一切ok的,另外一方面,如果你 將那幾行簡單的 寫入乙個.py檔案 譬如說hello.py 並且通過ir...