【正文】
只要客觀地反映出缺陷的現(xiàn)象和完整信息即可,不要對軟件的質(zhì)量優(yōu)劣做任何主觀性強(qiáng)烈的批評、嘲諷; 再次指明該缺陷是否在前一版本已經(jīng)存在; 使用注釋(Notes)部分列出缺陷的其它問題; 沒有任何多余的步驟; 由于提供的步驟不完整,開發(fā)人員經(jīng)常需要種種猜測,努力嘗試復(fù)現(xiàn)的步驟,浪費(fèi)了大量時(shí)間。 請查看下面的表格,該表格列出了有問題的標(biāo)題,給出了如何改進(jìn)的示例。 缺陷的基本信息; o 測試的軟件和硬件環(huán)境; o 測試的軟件版本; o 缺陷的類型; o 缺陷的嚴(yán)重程度; o 缺陷的處理優(yōu)先級。 易于搜索軟件測試報(bào)告的缺陷; 基于硬件的代碼覆蓋分析工具的侵入程度要小一些,但是價(jià)格一般比較昂貴,而且限制被測代碼的數(shù)量?;谲浖膬?nèi)存分析工具可能會對代碼的性能造成很大影響,從而嚴(yán)重影響實(shí)時(shí)操作;基于硬件的內(nèi)存分析工具價(jià)格昂貴,而且只能在工具所限定的運(yùn)行環(huán)境中使用。為了保證正確地測試,還須要檢驗(yàn)軟硬件之間的接口。在嵌入式系統(tǒng)設(shè)計(jì)中,軟件正越來越多地取代硬件,以降低系統(tǒng)的成本,獲得更大的靈活性,這就需要使用更好的測試方法和工具進(jìn)行嵌入式和實(shí)時(shí)軟件的測試。白盒測試與黑盒測試 一般來說,軟件測試有兩種基本的方式,即白盒測試方法與黑盒測試方法,嵌入式軟件測試也不例外。目前的趨勢是把更多的測試轉(zhuǎn)移到宿主環(huán)境中進(jìn)行,但是,目標(biāo)環(huán)境的復(fù)雜性和獨(dú)特性不可能完全模擬。根據(jù)這些數(shù)據(jù),確定哪些例程消耗部分執(zhí)行時(shí)間,從而可以決定如何優(yōu)化軟件,獲得更好的時(shí)間性能。對于嵌入式軟件測試技術(shù)的研究人選測試工具有待開發(fā),仍須要做很多進(jìn)一步的工作。 2. 缺陷報(bào)告的寫作準(zhǔn)則 書寫清晰、完整的缺陷報(bào)告是對保證缺陷正確處理的最佳手段。 注釋文字和截取的缺陷圖像。斷言(Assert)太長。例如,如果默認(rèn)項(xiàng)或預(yù)設(shè)、調(diào)試版本或發(fā)布版本等存在問題,請指明使用的操作系統(tǒng)和應(yīng)用程序的環(huán)境變量; o 設(shè)置變量:指明哪種打印機(jī)、字體或驅(qū)動程序是復(fù)現(xiàn)Bug所必需的信息; o 復(fù)現(xiàn)路徑。 實(shí)際結(jié)果(Actual result) 實(shí)際結(jié)果是執(zhí)行復(fù)現(xiàn)步驟后軟件的現(xiàn)象和產(chǎn)生的行為。 為了更清楚地理解良好的期望結(jié)果應(yīng)該包含什么信息,請看下面的例子: Expected result: The text that appears should be fully highlighted so that if the user wishes to make changes, they don39。 自我檢查和提問 如果對測試軟件的某個(gè)現(xiàn)象不確定是否是軟件缺陷,可以通過電子郵件或口頭交流,確認(rèn)是缺陷后再報(bào)告到數(shù)據(jù)庫中。 缺陷的標(biāo)題是按照原因與結(jié)果的方式書寫的嗎? 注釋部分可以包含以下各方面的內(nèi)容: 例如: Actual Result: 1. Assert:“CmdLineofCodeBlahBlah…” 2. When this assert is dismissed, app bees active but all text is unrecognizable. 3. After selecting the text by dragging the text tool, the text appears normally once again. 對于這些較難處理的情況,有多種使之易于閱讀的解決方法: 每一個(gè)步驟前使用數(shù)字對步驟編號; Application suspended during transmission. 復(fù)現(xiàn)步驟(Reproducible Steps) 復(fù)現(xiàn)步驟包含如何使別人能夠很容易的復(fù)現(xiàn)該缺陷的完整步驟。 盡量按缺陷發(fā)生的原因與結(jié)果的方式書寫(“執(zhí)行完A后,發(fā)生B,”或者“發(fā)生B,當(dāng)A執(zhí)行完后”); Complete(完整):包含復(fù)現(xiàn)該缺陷的完整步驟和其他本質(zhì)信息; 1. 缺陷報(bào)告的讀者對象 在書寫軟件缺陷報(bào)告之前,需要明白誰是缺陷報(bào)告的讀者對象,知道讀者最希望從缺陷報(bào)告中獲得什么信息。覆蓋分析工具 在進(jìn)行白盒測試時(shí),可以使用代碼覆蓋分析工具追蹤哪些代碼被執(zhí)行過。二、嵌入式軟件的測試工具 用于輔助嵌入式軟件測試的工具很多,下面對幾類比較有用的有關(guān)嵌入式軟件的測試工具加