焦勝男
摘 要 隨著信息時(shí)代的到來,軟件在人們的生產(chǎn)生活中發(fā)揮著越來越大的作用。因此,為減少軟件運(yùn)行過程中的錯(cuò)誤,保證軟件質(zhì)量,開發(fā)人員需在不同階段對(duì)軟件性能進(jìn)行測(cè)試。文章研究了軟件測(cè)試在軟件開發(fā)過程中的應(yīng)用,以期為軟件的開發(fā)提供參考。
關(guān)鍵詞 軟件測(cè)試;軟件開發(fā);應(yīng)用;研究
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2014)07-0042-02
軟件測(cè)試是軟件開發(fā)工作的重要組成部分,因?yàn)檐浖y(cè)試能及時(shí)發(fā)現(xiàn)軟件存在的問題,軟件開發(fā)工程師在次基礎(chǔ)上進(jìn)行軟件調(diào)試,解決軟件運(yùn)行時(shí)出現(xiàn)的問題,能顯著提高軟件開發(fā)效率,因此,軟件測(cè)試成為軟件開發(fā)工作不可或缺的重要步驟,深受軟件開發(fā)工程師的重視。
1 軟件測(cè)試的分類及方法
1.1 軟件測(cè)試的分類
從整體上來看軟件測(cè)試由靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試之分,其中動(dòng)態(tài)測(cè)試包括單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試以及系統(tǒng)測(cè)試等。各種測(cè)試均能不同程度的發(fā)現(xiàn)軟件開發(fā)過程中存在的問題,下面對(duì)不同測(cè)試方法逐一進(jìn)行介紹。
1)靜態(tài)測(cè)試。所謂靜態(tài)測(cè)試指不實(shí)際運(yùn)行軟件,而是對(duì)軟件代碼、測(cè)試用例、設(shè)計(jì)審查以及需求分析等進(jìn)行分析、檢查。其中認(rèn)證、驗(yàn)證以及確認(rèn)是利用靜態(tài)方法測(cè)試軟件質(zhì)量利用率較高的方法。通過靜態(tài)測(cè)試可找出30%~70%的軟件編碼以及邏輯錯(cuò)誤,為后期軟件測(cè)試鋪平道路。
2)動(dòng)態(tài)測(cè)試。動(dòng)態(tài)測(cè)試指通過設(shè)計(jì)測(cè)試用例模擬軟件使用者的行為,對(duì)比軟件實(shí)際運(yùn)行效果與預(yù)期效果之間的差異,尋找軟件存在的問題,其和靜態(tài)測(cè)試的區(qū)別在于軟件是否運(yùn)行。動(dòng)態(tài)測(cè)試較靜態(tài)測(cè)試工作量大,包括系統(tǒng)、確認(rèn)、集成、單元測(cè)試等,其中單元測(cè)試指檢驗(yàn)與檢查軟件的最小單元模塊,目前主要使用白盒測(cè)試技術(shù)進(jìn)行測(cè)試且可同時(shí)對(duì)多個(gè)模塊進(jìn)行測(cè)試;集成測(cè)試指按照集成測(cè)試計(jì)劃,檢查軟件單位之間的接口是否正確;確認(rèn)測(cè)試的目的在于檢查軟件是否滿足用戶需求,因此,測(cè)試過程中需有用戶參與,當(dāng)前常使用黑盒測(cè)試方法;系統(tǒng)測(cè)試是軟件測(cè)試的重要內(nèi)容,是交付使用的最后一個(gè)環(huán)節(jié),需要對(duì)軟件運(yùn)行的軟硬件環(huán)境、性能及功能進(jìn)行測(cè)試。軟件開發(fā)過程中由黑盒測(cè)試工程師負(fù)責(zé)軟件系統(tǒng)的測(cè)試。
1.2 軟件測(cè)試的方法
軟件測(cè)試的方法包括白盒測(cè)試、黑盒測(cè)試以及綜合策略,其中白盒測(cè)試通過認(rèn)真檢查軟件的過程性細(xì)節(jié),以發(fā)現(xiàn)軟件存在的問題。白盒測(cè)試的方法很多,其中邏輯覆蓋方法較為常見。利用該種方法測(cè)試時(shí)測(cè)試人員需比較熟悉軟件的內(nèi)部結(jié)構(gòu),以設(shè)計(jì)出合理的測(cè)試用例,實(shí)現(xiàn)分支、條件、執(zhí)行語(yǔ)句、條件組合、分支-條件代碼的覆蓋。
黑盒測(cè)試的重點(diǎn)在于檢測(cè)軟件的功能,因此,不涉及軟件代碼的檢測(cè)。利用該方法能檢測(cè)出白盒測(cè)試無法發(fā)現(xiàn)的問題,是白盒測(cè)試方法的互補(bǔ)。利用黑盒測(cè)試可及時(shí)發(fā)現(xiàn)軟件與數(shù)據(jù)庫(kù)連接、初始化或終止、軟件界面、性能等是否出現(xiàn)錯(cuò)誤等。黑盒測(cè)試方法又分為錯(cuò)誤推測(cè)法、等價(jià)類劃分法以及邊界值分析法,其中錯(cuò)誤測(cè)試法適用于經(jīng)驗(yàn)豐富的開發(fā)人員,即根據(jù)軟件開發(fā)過程中錯(cuò)誤頻率較高的位置進(jìn)行針對(duì)性的測(cè)試;對(duì)于窮盡的黑盒測(cè)試來講,測(cè)試程序時(shí)需要輸入所有無效與有效數(shù)據(jù),工作量非常大,并不可取。實(shí)際測(cè)試時(shí)通常輸入代表性較強(qiáng)的數(shù)據(jù),以減少測(cè)試勞動(dòng)量,最大限度的發(fā)現(xiàn)軟件存在的問題。即將需要輸入的數(shù)據(jù)分成多個(gè)等價(jià)類,每個(gè)等價(jià)類中選擇代表性的數(shù)據(jù)進(jìn)行測(cè)試;軟件開發(fā)過程中循環(huán)、數(shù)據(jù)結(jié)構(gòu)以及下標(biāo)等容易出現(xiàn)問題,此時(shí)就需運(yùn)用邊界值分析法進(jìn)行測(cè)試,通過采用針對(duì)性的測(cè)試用例完成測(cè)試;綜合策略指聯(lián)合多種測(cè)試方法進(jìn)行測(cè)試,能彌補(bǔ)單一方法測(cè)試的缺陷,提高軟件測(cè)試效率。
1.3 軟件測(cè)試過程
由上文可知軟件測(cè)試過程由系統(tǒng)測(cè)試、、確認(rèn)測(cè)試、集成測(cè)試以及單元測(cè)試之分。經(jīng)過測(cè)試主要為了發(fā)現(xiàn)軟件開發(fā)過程出現(xiàn)的系統(tǒng)及功能錯(cuò)誤,具體包含以下內(nèi)容:軟件開發(fā)前期未進(jìn)行充分的調(diào)研或未完全理解相關(guān)要求,導(dǎo)致開發(fā)的軟件出現(xiàn)一些功能性錯(cuò)誤;未將外部環(huán)境因素考慮在內(nèi),引發(fā)系統(tǒng)錯(cuò)誤。例如,調(diào)用子程序出現(xiàn)錯(cuò)誤、操作系統(tǒng)及數(shù)據(jù)庫(kù)接口出現(xiàn)錯(cuò)誤等;靜態(tài)與動(dòng)態(tài)數(shù)據(jù)定義混淆,數(shù)據(jù)結(jié)構(gòu)、算術(shù)運(yùn)算以及程序定義出現(xiàn)偏差;編寫代碼時(shí)全局與局部變量未做明確區(qū)分,一些變量名和系統(tǒng)保留關(guān)鍵字名相同,或粗心大意導(dǎo)致編寫的語(yǔ)法錯(cuò)誤等。
2 軟件測(cè)試在軟件開發(fā)中的應(yīng)用
軟件測(cè)試貫穿軟件開發(fā)的整個(gè)過程,為保證軟件后期的正常運(yùn)行奠定堅(jiān)實(shí)的基礎(chǔ),因此,加強(qiáng)軟件測(cè)試應(yīng)用方面的研究,進(jìn)而縮短軟件開發(fā)周期,提高軟件開發(fā)效率。
1)應(yīng)用在軟件需求分析環(huán)節(jié)。對(duì)軟件進(jìn)行需求分析,軟件測(cè)試人員需對(duì)工作量、軟件測(cè)試風(fēng)險(xiǎn)認(rèn)真的評(píng)估,仔細(xì)考慮軟件測(cè)試的可行性等,以確保軟件的開發(fā)周期、花費(fèi)費(fèi)用以及軟件功能滿足用戶需求。軟件測(cè)試人員通過分析需求的不同內(nèi)容,就出現(xiàn)的問題與用戶進(jìn)行協(xié)商,為后期的軟件測(cè)試工作創(chuàng)造良好條件。
2)應(yīng)用在軟件設(shè)計(jì)環(huán)節(jié)。軟件設(shè)計(jì)環(huán)節(jié)是軟件開發(fā)工作得以順利進(jìn)行的重要保障,如軟件系統(tǒng)設(shè)計(jì)缺乏合理性,容易引起軟件開發(fā)時(shí)邊界問題的出現(xiàn),導(dǎo)致軟件擴(kuò)展性較弱,甚至軟件開發(fā)工作的失敗。
軟件系統(tǒng)設(shè)計(jì)時(shí)測(cè)試人員不僅要掌握設(shè)計(jì)模型,對(duì)設(shè)計(jì)模型的風(fēng)險(xiǎn)進(jìn)行評(píng)估,而且還要進(jìn)行測(cè)試計(jì)劃的編寫。另外,為保證測(cè)試設(shè)計(jì)的合理性與穩(wěn)定性,避免后期出現(xiàn)不必要的變更,測(cè)試人員工作時(shí)應(yīng)保證系統(tǒng)結(jié)構(gòu)質(zhì)量。針對(duì)具有特殊要求的業(yè)務(wù)可通過創(chuàng)建技術(shù)邊界實(shí)現(xiàn),以提高軟件系統(tǒng)的不可替代性及可持續(xù)性。
除此之外,測(cè)試人員還應(yīng)熟悉和掌握軟件產(chǎn)品的運(yùn)行環(huán)境,積極參與到軟件不同模塊、數(shù)據(jù)庫(kù)結(jié)構(gòu)等討論中,對(duì)軟件設(shè)計(jì)過程中存在的問題進(jìn)行評(píng)估,重點(diǎn)把握測(cè)試環(huán)節(jié)存在的重點(diǎn)、難點(diǎn)環(huán)節(jié)。同時(shí),還需掌握軟件產(chǎn)品設(shè)計(jì)的性能以及軟件不同模塊接口問題,為后期的測(cè)試工作奠定堅(jiān)實(shí)的基礎(chǔ)。
3)應(yīng)用在軟件編寫環(huán)節(jié)。編寫軟件代碼時(shí)測(cè)試人員需參與到凍結(jié)報(bào)告、編寫測(cè)試用例以及單元測(cè)試工作之中,尤其應(yīng)將測(cè)試用例的編寫當(dāng)作重要工作來抓。一般情況下,對(duì)軟件單元功能的測(cè)試軟件開發(fā)人員可以完成,但自動(dòng)化測(cè)試腳本、測(cè)試用例等仍需要測(cè)試人員提供支持,因此,測(cè)試人員應(yīng)按照軟件開發(fā)要求,切實(shí)做好軟件編寫環(huán)節(jié)上的測(cè)試工作。endprint
4)應(yīng)用在軟件測(cè)試環(huán)節(jié)。對(duì)軟件進(jìn)行測(cè)試時(shí),測(cè)試人員主要負(fù)責(zé)軟件質(zhì)量報(bào)告的發(fā)布、軟件缺陷的發(fā)現(xiàn)及檢查、測(cè)試用例的更新等工作,該環(huán)節(jié)是軟件測(cè)試應(yīng)用在軟件開發(fā)工作積極重要的環(huán)節(jié),涉及系統(tǒng)測(cè)試、確認(rèn)測(cè)試以及集成測(cè)試等測(cè)試內(nèi)容,因此,測(cè)試時(shí)應(yīng)嚴(yán)格依據(jù)測(cè)試用例實(shí)施。通過上述測(cè)試后軟件能實(shí)現(xiàn)基本的功能,不過針對(duì)一些特殊用例,還需根據(jù)實(shí)際情況進(jìn)行自由測(cè)試,最大限度的發(fā)現(xiàn)軟件存在的缺陷。另外,為保證軟件正常運(yùn)行,如沒有測(cè)試用例覆蓋新發(fā)現(xiàn)的缺陷時(shí)需及時(shí)更新測(cè)試用例。除此之外,還需跟蹤軟件缺陷,尤其對(duì)于開展的新項(xiàng)目而言,應(yīng)按照新報(bào)、確認(rèn)、重現(xiàn)、修復(fù)、驗(yàn)證、關(guān)閉缺陷等流程實(shí)施。
5)應(yīng)用在軟件運(yùn)行維護(hù)環(huán)節(jié)。軟件運(yùn)行時(shí)測(cè)試人員主要負(fù)責(zé)測(cè)試用例的重新組合、解決客戶提出的問題、幫助客戶進(jìn)行測(cè)試的驗(yàn)收等工作,尤其幫助客戶驗(yàn)收測(cè)試是重要工作,而解決客戶提出的問題為關(guān)鍵,因此測(cè)試人員對(duì)客戶提出的問題應(yīng)認(rèn)真對(duì)待,即從客戶的角度出發(fā),了解其真正關(guān)心的問題。同時(shí),認(rèn)真分析前期測(cè)試未能檢查出軟件問題的原因。另外,軟件運(yùn)行維護(hù)階段,應(yīng)根據(jù)需要及時(shí)的更新、組織一些新的測(cè)試用例,以彌補(bǔ)未設(shè)計(jì)測(cè)試用例的出現(xiàn)的問題。
綜上所述,軟件測(cè)試是軟件開發(fā)不可或缺的關(guān)鍵環(huán)節(jié),軟件測(cè)試人員應(yīng)根據(jù)軟件開發(fā)實(shí)際需要,切實(shí)做好不同環(huán)節(jié)的測(cè)試工作。例如,利用動(dòng)態(tài)方法測(cè)試的同時(shí),配合使用靜態(tài)測(cè)試方法,盡量通過測(cè)試找出軟件開發(fā)過程中存在的各種問題,在滿足軟件功能要求的基礎(chǔ)上,保證軟件工作的穩(wěn)定性。
3 總結(jié)
軟件測(cè)試能及時(shí)發(fā)現(xiàn)軟件自身存在的問題,對(duì)保證后期軟件穩(wěn)定的運(yùn)行具有重要意義。為此,測(cè)試人員應(yīng)根據(jù)軟件的功能需求,不斷總結(jié)軟件測(cè)試經(jīng)驗(yàn),進(jìn)而制定合理的軟件測(cè)試計(jì)劃,并采用高效的測(cè)試方法,提高軟件測(cè)試效率,在滿足客戶需求的前提下,確保軟件的最終質(zhì)量。
參考文獻(xiàn)
[1]王長(zhǎng)利.軟件測(cè)試過程模型的研究與應(yīng)用[D].電子科技大學(xué),2012.
[2]路曉波.軟件開發(fā)過程中白盒測(cè)試方法和工具的研究及應(yīng)用[D].南京郵電大學(xué),2013.
[3]朱寅非.軟件測(cè)試在軟件開發(fā)過程中的應(yīng)用探析[J].無線互聯(lián)科技,2013(05):48,50.
[4]潘禎,吳永強(qiáng),王艷華.軟件測(cè)試在軟件開發(fā)中應(yīng)用的探討[J].硅谷,2011(22):156-157.
[5]朱虹.軟件測(cè)試在軟件開發(fā)過程中的應(yīng)用[J].中國(guó)新技術(shù)新產(chǎn)品,2009(22):37.endprint