2010年軟考軟件評(píng)測(cè)師測(cè)試工作管理與規(guī)范(7)

字號(hào):

2010年軟考軟件評(píng)測(cè)師測(cè)試工作管理與規(guī)范(7)

    軟件測(cè)試的組織與管理(一)
    隨著軟件開發(fā)規(guī)模的增大、復(fù)雜程度的增加,以尋找軟件中的錯(cuò)誤為目的的測(cè)試工作就顯得更加困難。然而,為了盡可能多地找出程序中的錯(cuò)誤,生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,加強(qiáng)對(duì)測(cè)試工作的組織和管理就顯得尤為重要。
    從軟件的生存周期看,測(cè)試往往指對(duì)程序的測(cè)試,這樣做的優(yōu)點(diǎn)是被測(cè)對(duì)像明確,測(cè)試的可操作性相對(duì)較強(qiáng)。但是,由于測(cè)試的依據(jù)是規(guī)格說明書、設(shè)計(jì)文檔和使用說明書,如果設(shè)計(jì)有錯(cuò)誤,測(cè)試的質(zhì)量就難以保證。即使測(cè)試后發(fā)現(xiàn)是設(shè)計(jì)的錯(cuò)誤,這時(shí),修改的代價(jià)是相當(dāng)昂貴的。因此,較理想的做法應(yīng)該是對(duì)軟件的開發(fā)過程,按軟件工程各階段形成的結(jié)果,分別進(jìn)行嚴(yán)格的審查。
    1.測(cè)試的過程及組織
    當(dāng)設(shè)計(jì)工作完成以后,就應(yīng)該著手測(cè)試的準(zhǔn)備工作了,一般來講,由一位對(duì)整個(gè)系統(tǒng)設(shè)計(jì)熟悉的設(shè)計(jì)人員編寫測(cè)試大綱,明確測(cè)試的內(nèi)容和測(cè)試通過的準(zhǔn)則,設(shè)計(jì)完整合理的測(cè)試用例,以便系統(tǒng)實(shí)現(xiàn)后進(jìn)行全面測(cè)試。
    在實(shí)現(xiàn)組將所開發(fā)的程序經(jīng)驗(yàn)證后,提交測(cè)試組,由測(cè)試負(fù)責(zé)人組織測(cè)試,測(cè)試一般可按下列方式組織:
    (1)首先,測(cè)試人員要仔細(xì)閱讀有關(guān)資料,包括規(guī)格說明、設(shè)計(jì)文檔、使用說明書及在設(shè)計(jì)過程中形成的測(cè)試大綱、測(cè)試內(nèi)容及測(cè)試的通過準(zhǔn)則,全面熟悉系統(tǒng),編寫測(cè)試計(jì)劃,設(shè)計(jì)測(cè)試用例,作好測(cè)試前的準(zhǔn)備工作。
    (2)為了保證測(cè)試的質(zhì)量,將測(cè)試過程分成幾個(gè)階段,即:代碼審查、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。
    (3)代碼會(huì)審
    代碼會(huì)審是由一組人通過閱讀、討論和爭(zhēng)議對(duì)程序進(jìn)行靜態(tài)分析的過程。會(huì)審小組在充分閱讀待審程序文本、控制流程圖及有關(guān)要求、規(guī)范等文件基礎(chǔ)上,召開代碼會(huì)審會(huì),程序員逐句講解程序的邏輯,并展開熱烈的討論甚至爭(zhēng)議,以揭示錯(cuò)誤的關(guān)鍵所在。實(shí)踐表明,程序員在講解過程中能發(fā)現(xiàn)許多自己原來沒有發(fā)現(xiàn)的錯(cuò)誤,而討論和爭(zhēng)議則進(jìn)一步促使了問題的暴露。
    (4)單元測(cè)試
    單元測(cè)試集中在檢查軟件設(shè)計(jì)的最小單位-模塊上,通過測(cè)試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯(cuò)誤。
    (5)集成測(cè)試
    集成測(cè)試是將模塊按照設(shè)計(jì)要求組裝起來同時(shí)進(jìn)行測(cè)試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。如數(shù)據(jù)穿過接口時(shí)可能丟失;一個(gè)模塊與另一個(gè)模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產(chǎn)生預(yù)期的主功能;個(gè)別看起來是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。(6)確認(rèn)測(cè)試
    確認(rèn)測(cè)試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測(cè)試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。
    (7)系統(tǒng)測(cè)試
    軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測(cè)試。包括恢復(fù)測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。
    經(jīng)過上述的測(cè)試過程對(duì)軟件進(jìn)行測(cè)試后,軟件基本滿足開發(fā)的要求,測(cè)試宣告結(jié)束,經(jīng)驗(yàn)收后,將軟件提交用戶。
    2.測(cè)試的人員組織
    為了保證軟件的開發(fā)質(zhì)量,軟件測(cè)試應(yīng)貫穿于軟件定義與開發(fā)的整個(gè)過程。因此,對(duì)分析、設(shè)計(jì)和實(shí)現(xiàn)等各階段所得到的結(jié)果,包括需求規(guī)格說明、設(shè)計(jì)規(guī)格說明及源程序都應(yīng)進(jìn)行軟件測(cè)試?;诖?,測(cè)試人員的組織也應(yīng)是分階段的。
    (1)軟件的設(shè)計(jì)和實(shí)現(xiàn)都是基于需求分析規(guī)格說明進(jìn)行的。
    需求分析規(guī)格說明是否完整、正確、清晰是軟件開發(fā)成敗的關(guān)鍵。為了保證需求定義的質(zhì)量,應(yīng)對(duì)其進(jìn)行嚴(yán)格的審查。
    (2)設(shè)計(jì)評(píng)審
    軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換成軟件表示的過程。主要描繪出系統(tǒng)結(jié)構(gòu)、詳細(xì)的處理過程和數(shù)據(jù)庫(kù)模式。按照需求的規(guī)格說明對(duì)系統(tǒng)結(jié)構(gòu)的合理性、處理過程的正確性進(jìn)行評(píng)價(jià),同時(shí)利用關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論對(duì)數(shù)據(jù)庫(kù)模式進(jìn)行審查。
    (3)程序的測(cè)試
    是指軟件測(cè)試。是整個(gè)軟件開發(fā)過程中交付用戶使用前的最后階段,是軟件質(zhì)量保證的關(guān)鍵。軟件測(cè)試在軟件生存周期中橫跨兩個(gè)階段:通常在編寫出每一個(gè)模塊之后,就對(duì)它進(jìn)行必要的測(cè)試(稱為單元測(cè)試)。編碼與單元測(cè)試屬于軟件生存周期中的同一階段。該階段的測(cè)試工作,由編程組內(nèi)部人員進(jìn)行交叉測(cè)試(避免編程人員測(cè)試自己的程序)。這一階段結(jié)束后,進(jìn)入軟件生存周期的測(cè)試階段,對(duì)軟件系統(tǒng)進(jìn)行各種綜合的測(cè)試。測(cè)試工作由專門的測(cè)試組完成,負(fù)責(zé)整個(gè)測(cè)試的計(jì)劃、組織工作。測(cè)試組的其他成員由具有一定的分析、設(shè)計(jì)和編程經(jīng)驗(yàn)的專業(yè)人員組成,人數(shù)根據(jù)具體情況可多可少,一般3~5人為宜。
    3.軟件測(cè)試文件
    軟件測(cè)試文件描述要執(zhí)行的軟件測(cè)試及測(cè)試的結(jié)果。由于軟件測(cè)試是一個(gè)很復(fù)雜的過程,同時(shí)也是設(shè)計(jì)軟件開發(fā)其他一些階段的工作,對(duì)于保證軟件的質(zhì)量和它的運(yùn)行有著重要意義,必須把對(duì)它們的要求、過程及測(cè)試結(jié)果以正式的文件形式寫出。測(cè)試文件的編寫是測(cè)試工作規(guī)范化的一個(gè)組成部分。
    測(cè)試文件不只在測(cè)試階段才考慮,它在軟件開發(fā)的需求分析階段就開始著手,因?yàn)闇y(cè)試文件與用戶有著密切的關(guān)系。在設(shè)計(jì)階段的一些設(shè)計(jì)方案也應(yīng)在測(cè)試文件中得到反映,以利于設(shè)計(jì)的檢驗(yàn)。測(cè)試文件對(duì)于測(cè)試階段工作的指導(dǎo)與評(píng)價(jià)作用更是非常明顯的。需要特別指出的是,在已開發(fā)的軟件投入運(yùn)行的維護(hù)階段,常常還要進(jìn)行再測(cè)試或回歸測(cè)試,這時(shí)仍須用到測(cè)試文件。
    (1)測(cè)試文件的類型
    根據(jù)測(cè)試文件所起的作用不同,通常把測(cè)試文件分成兩類,即測(cè)試計(jì)劃和測(cè)試分析報(bào)告。測(cè)試計(jì)劃詳細(xì)規(guī)定測(cè)試的要求,包括測(cè)試的目的和內(nèi)容、方法和步驟,以及測(cè)試的準(zhǔn)則等。由于要測(cè)試的內(nèi)容可能涉及到軟件的需求和軟件的設(shè)計(jì),因此必須及早開始測(cè)試計(jì)劃的編寫工作。不應(yīng)在著手測(cè)試時(shí),才開始考慮測(cè)試計(jì)劃。通常,測(cè)試計(jì)劃的編寫從需求分析階段開始,到軟件設(shè)計(jì)階段結(jié)束時(shí)完成。測(cè)試報(bào)告用來對(duì)測(cè)試結(jié)果的分析說明,經(jīng)過測(cè)試后,證實(shí)了軟件具有的能力,以及它的缺陷和限制,并給出評(píng)價(jià)的結(jié)論性意見,這些意見即是對(duì)軟件質(zhì)量的評(píng)價(jià),又是決定該軟件能否交付用戶使用的依據(jù)。由于要反映測(cè)試工作的情況,自然要在測(cè)試階段內(nèi)編寫。
    (2)測(cè)試文件的使用
    測(cè)試文件的重要性表現(xiàn)在以下幾個(gè)方面:
    a.驗(yàn)證需求的正確性:測(cè)試文件中規(guī)定了用以驗(yàn)證軟件需求的測(cè)試條件,研究這些測(cè)試條件對(duì)弄清用戶需求的意圖是十分有益的;
    b.檢驗(yàn)測(cè)試資源:測(cè)試計(jì)劃不僅要用文件的形式把測(cè)試過程規(guī)定下來,還應(yīng)說明測(cè)試工作必不可少的資源,進(jìn)而檢驗(yàn)這些資源是否可以得到,即它的可用性如何。如果某個(gè)測(cè)試計(jì)劃已經(jīng)編寫出來,但所需資源仍未落實(shí),那就必須及早解決;
    c.明確任務(wù)的風(fēng)險(xiǎn):有了測(cè)試計(jì)劃,就可以弄清楚測(cè)試可以做什么,不能做什么。了解測(cè)試任務(wù)的風(fēng)險(xiǎn)有助于對(duì)潛伏的可能出現(xiàn)的問題事先作好思想上和物質(zhì)上的準(zhǔn)備;
    d.生成測(cè)試用例:測(cè)試用例的好壞決定著測(cè)試工作的效率,選擇合適的測(cè)試用例是作好測(cè)試工作的關(guān)鍵。在測(cè)試文件編制過程中,按規(guī)定的要求精心設(shè)計(jì)測(cè)試用例有重要的意義;
    e.評(píng)價(jià)測(cè)試結(jié)果:測(cè)試文件包括測(cè)試用例,即若干測(cè)試數(shù)據(jù)及對(duì)應(yīng)的預(yù)期測(cè)試結(jié)果。完成測(cè)試后,將測(cè)試結(jié)果與預(yù)期的結(jié)果進(jìn)行比較,便可對(duì)已進(jìn)行的測(cè)試提出評(píng)價(jià)意見;
    f.再測(cè)試:測(cè)試文件規(guī)定的和說明的內(nèi)容對(duì)維護(hù)階段由于各種原因的需求進(jìn)行再測(cè)試時(shí),是非常有用的;
    g.決定測(cè)試的有效性:完成測(cè)試后,把測(cè)試結(jié)果寫入文件,這對(duì)分析測(cè)試的有效性,甚至整個(gè)軟件的可用性提供了依據(jù)。同時(shí)還可以證實(shí)有關(guān)方面的結(jié)論。
    (3)測(cè)試文件的編制
    在軟件的需求分析階段,就開始測(cè)試文件的編制工作,各種測(cè)試文件的編寫應(yīng)按一定的格式進(jìn)行。