水大了,還是面大了?

2021-04-22 11:06:00 字數 1232 閱讀 2424

早年間北方人過年的時候,有很多忌語的,凡是不好的字眼一律不許多。比如包餃子的時候,水少了不能說水少了,要說「面大了」,麵少了呢,要說「水大了」,總之不允許說「少」、「小」一類的字眼。

我們固然宣稱自己是無神論者,也不信仰什麼宗教,但也沒必要對此上綱上線,因為這也是人之常情,古今中外皆是如此,外國人過聖誕節時也是見面互稱「哈屁」,大過年的——你看,又帶個大字——誰不圖個吉利呢。然而凡事都有個度,過了就不好了。還拿包水餃這事來說,即使是上了年紀的老人們,也是在過年這種特殊的時候才提這檔子事情,沒有說平時過日子的時候就定這麼些個規矩的。

那麼我們在做軟體測試時,是不是覆蓋率越高越好呢?

軟體測試對應不同的開發階段也有不同的測試方法,一般來說從小到大有單元測試、元件測試、整合測試、系統測試等,這些不同的測試方法測的物件不同,針對的內容也就有所不同。例如單元測試驗證類、函式這個級別的**,元件測試是驗證元件的介面,整合測試驗證子幾個模組組成的子系統,系統測試當然就是面向終端使用者的應用級別的驗證工作了。跟洗汽車一樣,相對於把整個車放水龍頭下亂噴一氣而言,肯定是拆開了乙個乙個零件的插洗能夠更全面的——單元測試就像洗零件,覆蓋率最高,很容易達到100%。但只有單元測試是遠遠不夠,畢竟,每個零件都鋥亮並不說明拼裝起來就能跑,零件之間能不能很好的相互協作還是個問題呢,所以我們還需要元件測試、整合測試、系統測試等等,需要一層一層地逐步驗證,從小到大保證在每乙個級別都是可用的,最後拿出去乙個完整的產品才放心。

是不是在每一級的測試都要保證100%的**覆蓋率呢?我看並不一定,我們知道,對於大型的商用軟體來說,異常處理往往佔據相當多的**量,小到系統級別的記憶體等資源申請失敗,大到錯誤的流程、操作,這些異常處理的**通常並不長,也不太涉及太多的模組互動,通過單元測試很容易覆蓋到,也可以保證充分驗證。但是利用其它測試方法,比如元件測試來覆蓋這些異常處理的**相對來說就很困難了,而且也沒多大必要。軟體**畢竟不是汽車,不是每行**都測試過,就保證一定沒有問題了,從理論上講,乙個小到幾十行的**可能其路徑數就已經是相當大的天文數字了,**行100%覆蓋,並不能保證路徑、判定等也100%覆蓋。所以,只要保證良好的設計,在做較高階別的測試時,只要得出乙個穩定的覆蓋率就已經足夠了,倒並不一定越高越好。話說回來,在同乙個專案中,同一批人寫的**,前幾個星期的覆蓋率是80%,這個星期是70%,那說明可能是測試不充分。但如果是這個星期突然變成90%呢,倒不一定說明測試充分,而是很可能異常處理沒有做充分。

軟體的質量有很多資料可以衡量,但並不是所有的資料都是越「大」越好,過分地追求「大」的資料,很可能丟了西瓜撿個芝麻。畢竟,在浩如煙海而又變化莫測的軟體**面前,人的精力是有限的。

水題遞迴 HDU2044 我大沙茶了

有乙隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。其中,蜂房的結構如下所示。輸入資料的第一行是乙個整數n,表示測試例項的個數,然後是n 行資料,每行包含兩個整數a和b 0 output 對於每個測試例項,請輸出蜜蜂從蜂房a爬到蜂房b的可能路線...

還是想你了

又想你了,怎麼辦?人有的時候真的很賤,是不是?也有不少人說過很欣賞我,關於我的種種優點,但那些都是可有可無的,我最期待的還是你的一句認可。我知道自己在你的眼裡什麼都不是,充其量是 好朋友 誰知道呢。可我偏偏就是認定你了,呵呵,受孽傾向,對,就是這樣。其實真的很想給你打 但害怕打擾你,影響你學習。回想...

畢業了,壓力大了,就想跳樓?

有時候生活壓力大了,心情會變得暴躁不安,思想在不知不覺地偏激起來,有時候工作壓力大了,清晰的方向會變得模糊,有時候感情壓力大了,世界上一切都不值得珍惜,離開是最好的選擇嗎?在那空氣中感受飛翔的感覺,離地面僅僅一步之遙,我們的朋友,我們的家人,已在那模糊的視線當中漸漸消失,痛苦是一瞬間的,而記憶是一輩...