高效的測試確??筛櫺院万炞C要求
這些標準的共同之處是運行以要求為基礎的測試。在這些標準之中最顯著(zhù)的是航彈系統標準,DO-178B。這個(gè)標準主要定義了兩個(gè)基于測試的要求活動(dòng)作為功能測試或黑盒測試(下圖),以及結構覆蓋或白盒測試。
功能測試需要開(kāi)發(fā)工程師或測試工程師掌握確定被測代碼行為的軟件要求。更確切的說(shuō),開(kāi)發(fā)工程師(或測試工程師)必須根據輸出和預期的結果來(lái)定義輸入和條件,以便制定出測試規范。該測試規范可能會(huì )以一或多個(gè)測試用例的形式給出,以便完全遍歷測試規范的要求。
結構覆蓋或白盒測試有助于驗證黑盒測試的完整性。結構測試也有助于確定實(shí)際建造設計的正確性;例如,如果所必的軟件功能已經(jīng)全部運行過(guò),但仍然有未覆蓋的代碼,那么,這段多余的代碼的作用就是問(wèn)題所在,代碼運行時(shí)間的可預測性也一樣。
本文第2部分將討論能力成熟度模型(CMMI)標準在改善軟件開(kāi)發(fā)過(guò)程中的作用,從中引出把測試信息映射為要求的工具。
基于需求的測試及其固有的需求可跟蹤性和驗證過(guò)程被普遍認為推廣企業(yè)標準的最佳實(shí)踐,如能力成熟度模型集成(CMMI)。CMMI是一個(gè)能夠為組織提供有效過(guò)程關(guān)鍵元素的過(guò)程改進(jìn)方法。它能夠用于引導一個(gè)項目、部門(mén)或整個(gè)組織的過(guò)程改進(jìn)。CMMI能同時(shí)使關(guān)鍵性及非關(guān)鍵性軟件均獲益。
如下方工程過(guò)程區域圖所示,需求管理(REQM)和需求開(kāi)發(fā)(RD)是CMMI的兩個(gè)主要的過(guò)程域。
表中的技術(shù)解決方案(TS)是將需求細化為原型或組件。驗證過(guò)程域(VER)確保所選擇的工作產(chǎn)品滿(mǎn)足規定的需求。驗證過(guò)程域(VAL)則根據客戶(hù)的需求加強對產(chǎn)品的驗證。驗證過(guò)程可以在工作環(huán)境或模擬工作環(huán)境中進(jìn)行。
最后,從編程標準的角度看,對于所有的開(kāi)發(fā)活動(dòng)來(lái)說(shuō),過(guò)程如極限編程(Extreme Programming)及基于需求的開(kāi)發(fā)和測試是不可或缺的。如下圖所示,采用極限編程,用戶(hù)的“故事”在代碼開(kāi)發(fā)之前,通過(guò)與客戶(hù)一起合作就可以準備好,并且用作測試場(chǎng)景的軟件前綴。
TBreq介紹
TBreq由LDRA Testbed(包括代碼評審、質(zhì)量評審、設計評審組件及代碼覆蓋)和TBrun(單元測試組件)構成,通過(guò)與LDRA工具包集成,能夠提供一套獨特的解決方案來(lái)克服困難,從而在測試規格、單元測試場(chǎng)景、測試數據及代碼覆蓋率驗證與高層次的設計需求之間建立映射關(guān)系。
TBreq直接與需求管理工具(DOORS、ReqPro、Word或Excel)接口來(lái)保證整個(gè)軟件生命周期中實(shí)現需求可跟蹤性,同時(shí)保證需求覆蓋的完整性(見(jiàn)下圖)。
在LDRA工具包里,TBreq根據需求直接生成測試規范和可執行的測試用例。測試結果自動(dòng)返回到需求管理工具中,提供“雙向”需求可跟蹤性驗證。
TBreq的作用描述如下:需求可通過(guò)需求管理工具,如DOORS、ReqPro、文擋或電子數據表獲取。TBreq作為這些需求源與LDRA Testbed測試管理儀表盤(pán)之間的網(wǎng)關(guān),并且直接與LDRA Testbed項目及其基層項目目錄接口。
評論