四、產(chǎn)品元素
軟件產(chǎn)品終體現(xiàn)為提供給客戶的一種操作經(jīng)歷或解決方案,包括 支撐平臺 、 軟件元素 和用戶 操作 ,以及相互之間的數(shù)據(jù)交互,具有多維的特點。為了測試工作取得成效,必須綜合考慮這些層面。以下給出軟件產(chǎn)品應(yīng)包含的一些重要的元素類別,如果僅注意測試其中幾個類別則可能會遺漏重要錯誤。這些類別提供了一個起始點,需要在特定環(huán)境中細化。
4.l 支撐平臺
指軟件產(chǎn)品所依賴的任何事物。
· 外部硬件
用于支撐軟件產(chǎn)品工作的硬件元素和配置,不作為產(chǎn)品的組成部分,如 CPU 、內(nèi)存、鍵盤、外設(shè)等等。
· 外部軟件
用于支撐軟件產(chǎn)品工作的其他軟件元素和配置,不作為產(chǎn)品的組成部分,如操作系統(tǒng)、驅(qū)動程序、字體等等。
4.2 軟件元素
· 結(jié)構(gòu)
指組成軟件產(chǎn)品的任何事物。
代碼: 組成產(chǎn)品的任何代碼結(jié)構(gòu),從可執(zhí)行碼直至單個例程。
接口: 子系統(tǒng)之間的連接和通信點。
硬件: 任何作為為產(chǎn)品組成部分的硬件元素。
非執(zhí)行文件: 除程序外的任何文件如文本文件、樣本數(shù)據(jù)、幫助文件等等。
其他介質(zhì): 軟件和硬件之外的任何介質(zhì),如紙面文檔、 Web 連接和內(nèi)容、包裝、許可證協(xié)議等等。
· 功能
指產(chǎn)品要完成的任何事情。
用戶接口: 任何協(xié)調(diào)與用戶交換數(shù)據(jù)的功能。
系統(tǒng)接口: 任何協(xié)調(diào)與用戶之外的其他實體(如其他程序、硬盤、網(wǎng)絡(luò)、打印機等等)交換數(shù)據(jù)的功能。
應(yīng)用: 任何用于定義產(chǎn)品、區(qū)分產(chǎn)品或完成核心需求的功能。
錯誤處理: 任何檢測錯誤和從錯誤中恢復(fù)的功能,包括所有的錯誤消息。
可測試性: 任何支持測試該產(chǎn)品的功能如診斷程序、日志文件、聲明、測試菜單等等。
· 數(shù)據(jù)
指產(chǎn)品要處理的任何任何事物。
輸入: 產(chǎn)品要處理的任何數(shù)據(jù)。
輸出: 經(jīng)產(chǎn)品處理后產(chǎn)生的任何結(jié)果數(shù)據(jù)。
預(yù)置值: 要作為產(chǎn)品的一部分提供給客戶、或直接構(gòu)建在產(chǎn)品內(nèi)部的任何數(shù)據(jù)如預(yù)制數(shù)據(jù)庫,缺省值等等。
固定值: 存儲在內(nèi)部、在多個操作中應(yīng)保持一致的任何數(shù)據(jù),包括產(chǎn)品模式或狀態(tài)如選項設(shè)置、視圖模式、文檔內(nèi)容等等。
時序: 數(shù)據(jù)和時間之間的任何關(guān)系,如每秒擊鍵次數(shù)、文件的時間戳、或分布式系統(tǒng)的同步。
非法: 任何能夠觸發(fā)錯誤處理函數(shù)的數(shù)據(jù)或狀態(tài)。
4.3 操作
指產(chǎn)品將被如何使用。
· 使用情景
與時間相關(guān)的操作模式,包括產(chǎn)品在相關(guān)領(lǐng)域要典型處理的數(shù)據(jù)模式,隨用戶而變化。
· 物理環(huán)境
產(chǎn)品運行的物理環(huán)境,比如噪音、照明等等。
五、質(zhì)量準(zhǔn)則
當(dāng)聲稱一個產(chǎn)品是“高質(zhì)量”時,意味著“高度”滿足了該產(chǎn)品的受益人所定義的質(zhì)量準(zhǔn)則。測試工作常常不得不在質(zhì)量準(zhǔn)則不很明確的情況下進行,以下所給出的準(zhǔn)則類別可幫助進行“頭腦風(fēng)暴式”思考或揭示那些需要知道的問題,尤其適合根據(jù)實際項目進行定制。建 議同時參考 ISO 9126 質(zhì)量特性標(biāo)準(zhǔn)或其他相關(guān)軟件工程標(biāo)準(zhǔn)。
5.1 操作準(zhǔn)則
· 能力
產(chǎn)品能否執(zhí)行要求的功能?
· 可靠性
在所有要求的情況下產(chǎn)品均能正常工作并抵御失敗嗎?
錯誤處理: 產(chǎn)品在錯誤的情況下可抵御失敗,失敗時能夠妥善應(yīng)對并很容易恢復(fù)。
數(shù)據(jù)完整性: 產(chǎn)品可 防止系統(tǒng)數(shù)據(jù)的丟失或損壞。
安全( Security ): 產(chǎn)品可防止未授權(quán)用戶的訪問。
保險( Safety ): 產(chǎn)品的失敗不會造成生命或財產(chǎn)的損失。
· 可用性
產(chǎn)品是否很容易被真實用戶使用?
易學(xué)習(xí)性: 產(chǎn)品操作可很快被潛在用戶掌握。
易操作性: 產(chǎn)品的操作只需付出很少努力,不會引起混亂。
· 性能
速度和相應(yīng)能力如何?
· 可安裝性
是否能很容易地安裝在目標(biāo)平臺上?
· 兼容性
能否與外部元素和配置協(xié)同一致地工作?
應(yīng)用兼容性: 產(chǎn)品能夠與其他軟件產(chǎn)品一起工作。
操作系統(tǒng)兼容性: 產(chǎn)品可與某種特定操作系統(tǒng)協(xié)同工作。
硬件兼容性: 產(chǎn)品可與某種特定硬件平臺元素和配置協(xié)同工作。
后向兼容性: 產(chǎn)品能夠與其早期版本協(xié)同工作。
資源使用: 產(chǎn)品不會濫用內(nèi)存、存儲介質(zhì)或其他系統(tǒng)資源。
5.2 開發(fā)準(zhǔn)則
· 可支持性
產(chǎn)品技術(shù)支持工作的經(jīng)濟性如何?
· 可測試性
產(chǎn)品測試工作的有效性如何?
· 可維護性
產(chǎn)品構(gòu)建、糾錯或功能增強的經(jīng)濟性如何?
· 可移植性
移植或在其他環(huán)境下重用產(chǎn)品相關(guān)技術(shù)的經(jīng)濟性如何?
· 可定域性
以其他語言發(fā)布產(chǎn)品的經(jīng)濟性如何?
六、測試技術(shù)選擇
需求: 包括產(chǎn)品元素、質(zhì)量準(zhǔn)則、測試環(huán)境和參考資料,從總體上表達了受益人的愿望以及各種資源限制。完整需求的獲得決非易事,并隨著受益人經(jīng)驗的增加或環(huán)境的改變而處于連續(xù)變化當(dāng)中。 參考資料是任何可用作需求來源的文檔或?qū)嶓w,包括顯式參考(由受益人明確指定)和隱式參考(任何其他未指定的有用資料)。