簡介
ImprovedMulti-BandExcitation的縮寫。IMBE是MBE的改進算法,INMARSAT-M系統中的6.4kbit/s語音編碼標準採用IMBE算法,其中語音編碼的淨速率為4.15kbit/s,其餘用於糾錯編碼。
相關資料
單元測試是在軟體開發過程中要進行的最低級別的測試活動,在單元測試活動中,軟體的獨立單元將在與程式的其他部分相隔離的情況下進行測試。在一種傳統的結構化程式語言中,比如C,要進行測試的單元一般是函式或子過程。在象C++這樣的面向對象的語言中,要進行測試的基本單元是類。對Ada語言來說,開發人員可以選擇是在獨立的過程和函式,還是在Ada包的級別上進行單元測試。單元測試的原則同樣被擴展到第四代語言(4GL)的開發中,在這裡基本單元被典型地劃分為一個選單或顯示界面。
單元測試不僅僅是作為無錯編碼一種輔助手段在一次性的開發過程中使用,單元測試必須是可重複的,無論是在軟體修改,或是移植到新的運行環境的過程中。因此,所有的測試都必須在整個軟體系統的生命周期中進行維護。
經常與單元測試聯繫起來的另外一些開發活動包括代碼走讀(codereview),靜態分析(Staticanalysis)和動態分析(Dynamicanalysis)。靜態分析就是對軟體的原始碼進行研讀,查找錯誤或收集一些度量數據,並不需要對代碼進行編譯和執行。動態分析就是通過觀察軟體運行時的動作,來提供執行跟蹤,時間分析,以及測試覆蓋度方面的信息。
單元測試
中科永聯高級技術培訓中心(www.itisedu.com)
單元測試(模組測試)是開發者編寫的一小段代碼,用於檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用於判斷某個特定條件(或者場景)下某個特定函式的行為。例如,你可能把一個很大的值放入一個有序list中去,然後確認該值出現在list的尾部。或者,你可能會從字元串中刪除匹配某種模式的字元,然後確認字元串確實不再包含這些字元了。
單元測試是由程式設計師自己來完成,最終受益的也是程式設計師自己。可以這么說,程式設計師有責任編寫功能代碼,同時也就有責任為自己的代碼編寫單元測試。執行單元測試,就是為了證明這段代碼的行為和我們期望的一致。
工廠在組裝一台電視機之前,會對每個元件都進行測試,這,就是單元測試。
其實我們每天都在做單元測試。你寫了一個函式,除了極簡單的外,總是要執行一下,看看功能是否正常,有時還要想辦法輸出些數據,如彈出信息視窗什麼的,這,也是單元測試,老納把這種單元測試稱為臨時單元測試。只進行了臨時單元測試的軟體,針對代碼的測試很不完整,代碼覆蓋率要超過70%都很困難,未覆蓋的代碼可能遺留大量的細小的錯誤,這些錯誤還會互相影響,當BUG暴露出來的時候難於調試,大幅度提高后期測試和維護成本,也降低了開發商的競爭力。可以說,進行充分的單元測試,是提高軟體質量,降低開發成本的必由之路。
對於程式設計師來說,如果養成了對自己寫的代碼進行單元測試的習慣,不但可以寫出高質量的代碼,而且還能提高編程水平。
要進行充分的單元測試,應專門編寫測試代碼,並與產品代碼隔離。老納認為,比較簡單的辦法是為產品工程建立對應的測試工程,為每個類建立對應的測試類,為每個函式(很簡單的除外)建立測試函式。首先就幾個概念談談老納的看法。