發(fā)布時(shí)間: 2012-10-31 11:20 作者: 未知 來源: 51Testing軟件測(cè)試網(wǎng)采編摘要:隨著軟件測(cè)試受關(guān)注程度越來越高,如何采用技術(shù)手段有效提高軟件測(cè)試質(zhì)量就成了軟件測(cè)試領(lǐng)域的一個(gè)重要課題。本文從軟件測(cè)試的基本概念開始,對(duì)如何以軟件測(cè)試性設(shè)計(jì)為中心、合理運(yùn)用軟件測(cè)試技術(shù)來提升軟件測(cè)試質(zhì)量提出了自己的看法。 關(guān)鍵詞:軟件測(cè)試;測(cè)試設(shè)計(jì);測(cè)試質(zhì)量 軟件產(chǎn)品的質(zhì)量取決于軟件開發(fā)過程,軟件測(cè)試作為軟件生存期中的一個(gè)重要階段,受重視程度越來越高。軟件測(cè)試是保證軟件質(zhì)量和可靠性的關(guān)鍵步驟,也是用來驗(yàn)證軟件是否能夠完成所期望功能的唯一有效的方法。測(cè)試已不僅僅局限于軟件開發(fā)中的一個(gè)階段,它已開始貫穿整個(gè)軟件開發(fā)過程,進(jìn)行測(cè)試的時(shí)間越早,整個(gè)軟件開發(fā)成本下降就越多。大量統(tǒng)計(jì)表明,軟件測(cè)試的工作量往往占到軟件開發(fā)總量的40%以上,在極端的情況下,甚至可能高達(dá)軟件工程其它步驟成本總和的三至五倍,其目的是盡可能的提高軟件產(chǎn)品的質(zhì)量和可靠性。 1、軟件測(cè)試相關(guān)概念 ?。?)軟件測(cè)試:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程?;蛘哒f,軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)出一批測(cè)試用例,并利用這些測(cè)試用例的運(yùn)行結(jié)果來發(fā)現(xiàn)程序錯(cuò)誤的過程。 ?。?)軟件測(cè)試用例:測(cè)試用例實(shí)際上是對(duì)軟件運(yùn)行過程中所有可能存在的目標(biāo)、運(yùn)動(dòng)、行動(dòng)、環(huán)境和結(jié)果的描述。測(cè)試用例是測(cè)試組織的最小單位,指對(duì)一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測(cè)試任務(wù)的描述,體現(xiàn)測(cè)試方案、方法、技術(shù)和策略。內(nèi)容包括測(cè)試目標(biāo)、測(cè)試環(huán)境、輸入數(shù)據(jù)、測(cè)試步驟、預(yù)期結(jié)果、測(cè)試腳本等,并最終形成文檔。 軟件測(cè)試的核心是設(shè)計(jì)和執(zhí)行測(cè)試用例。而測(cè)試用例的選擇問題可以看作是從龐大的輸入狀態(tài)組合中,搜尋哪些可以發(fā)現(xiàn)錯(cuò)誤的狀態(tài)組合。因此需要用抽象的手段來盡量使測(cè)試更加有效。 ?。?)測(cè)試用例庫:完整的單元測(cè)試很少只執(zhí)行一個(gè)測(cè)試用例,開發(fā)人員通常都需要編寫多個(gè)測(cè)試用例才能對(duì)某一軟件功能進(jìn)行比較完整的測(cè)試,這些相關(guān)的測(cè)試用例稱為一個(gè)測(cè)試用例集。將大量的測(cè)試用例收集到測(cè)試用例庫中,合理的分類后供測(cè)試人員選擇使用,能夠極大地提高軟件問題的發(fā)現(xiàn)率。 2、提高測(cè)試質(zhì)量的方法 2.1 采用測(cè)試性設(shè)計(jì)技術(shù) 軟件測(cè)試是目前用來驗(yàn)證軟件是否能夠完成所期望的功能的唯一有效的方法。但是在測(cè)試的實(shí)施過程中,由于種種原因?qū)е聹y(cè)試的難度相當(dāng)大,甚至出現(xiàn)了無法測(cè)試的情形。為了提高軟件的可測(cè)試性,我們?cè)谲浖O(shè)計(jì)時(shí)應(yīng)當(dāng)遵循測(cè)試性設(shè)計(jì)原則,通過改變?cè)O(shè)計(jì)或代碼、為軟件增加專門測(cè)試結(jié)構(gòu)等方法來提高軟件的可測(cè)試性。 ?。?)測(cè)試驅(qū)動(dòng)設(shè)計(jì)。這種設(shè)計(jì)就是直接把軟件需求變成測(cè)試代碼。在確定軟件測(cè)試性能要求的基礎(chǔ)上優(yōu)先編寫測(cè)試代碼。先寫驗(yàn)收測(cè)試,再寫單元測(cè)試,并在開發(fā)過程中不斷修正。 (2)每個(gè)操作對(duì)應(yīng)一個(gè)方法,使方法小型化。使用小型化方法說明和重載帶缺省方法參數(shù)的方法,使得測(cè)試中調(diào)用這些方法變的很容易。 ?。?)顯示與控制分離。把代碼移到GUI視圖的外面,各種GUI動(dòng)作就能成了模型上的簡單方法調(diào)用。這樣,在修改程序功能不會(huì)影響視圖,同時(shí)通過方法調(diào)用測(cè)試功能也比間接地測(cè)試功能更容易。 ?。?)對(duì)于可能要作為參數(shù)的類,做一個(gè)接口。用接口說明外部程序組件或在需要時(shí)改變接口形成一個(gè)空類作為參數(shù)傳入。 2.2 選擇合適的測(cè)試管理模型 模型是系統(tǒng)功能的形式化或半形式化的表示,支持輸入狀態(tài)組合的系統(tǒng)枚舉?;谀P偷臏y(cè)試主要考慮系統(tǒng)的功能,可以認(rèn)為是功能測(cè)試的一種。測(cè)試模型體現(xiàn)了被測(cè)試系統(tǒng)的最本質(zhì)的功能關(guān)系。而且要比系統(tǒng)本身更易于開發(fā)和分析。一個(gè)可測(cè)試的模型要能提供足夠的信息用來產(chǎn)生測(cè)試用例。所以可測(cè)試的模型必須滿足以下要求: (1)必須是某種測(cè)試實(shí)現(xiàn)的完全準(zhǔn)確的反映,模型必須表示要檢查的所有特征; ?。?)是對(duì)細(xì)節(jié)的抽象; ?。?)可以表示所有事件和所有的動(dòng)作;⑷可以表示系統(tǒng)的各種狀態(tài),以便由可知的方法來確定已達(dá)到或沒有達(dá)到什么狀態(tài)。 |
|