- 相關(guān)推薦
軟件測試在軟件開發(fā)過程中的應(yīng)用探析
軟件測試是軟件開發(fā)中質(zhì)量控制的一個重要方式,下面是小編搜集整理的一篇探究軟件測試在軟件開發(fā)應(yīng)用的論文范文,供大家閱讀借鑒。
摘 要:文章通過對軟件概念的闡述,分析軟件的地位及其重要意義,并深入探析軟件測試在當(dāng)前軟件開發(fā)中的應(yīng)用,以期促進(jìn)軟件質(zhì)量的進(jìn)一步提高,更好地滿足現(xiàn)代社會的信息化需求。
關(guān)鍵詞:軟件測試;軟件開發(fā);應(yīng)用
1 前言
作為軟件質(zhì)量控制的一個重要方式,軟件測試是利用測試工具按照測試方案和流程對產(chǎn)品進(jìn)行功能和性能測試,甚至根據(jù)需要編寫不同的測試工具,設(shè)計和維護(hù)測試系統(tǒng),對測試方案可能出現(xiàn)的問題進(jìn)行分析和評估。目前,軟件測試正朝著持續(xù)的反饋機(jī)制方向發(fā)展,力爭始終貫穿于整個軟件開發(fā)的生命周期,及早發(fā)現(xiàn)問題,減少開發(fā)成本,有效提高軟件的開發(fā)力度。
2 關(guān)于軟件測試
2.1 軟件測試的對象
軟件測試和程序測試不同,它存在于軟件開發(fā)的整個生命周期,能夠保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動,并證實(shí)在一個給定的外部環(huán)境中軟件的邏輯正確性。軟件開發(fā)的需求分析、規(guī)則、設(shè)計書、程序等都是軟件測試的對象。
2.2 軟件測試的目的和意義
軟件測試是軟件開發(fā)中質(zhì)量控制的一個重要方式,測試的目的在于找出程序中的缺陷,及早發(fā)現(xiàn)并解決問題,完善軟件的功能,將軟件成分由低層組裝到高層,盡量促使軟件符合系統(tǒng)定義的技術(shù)要求,爭取在最少的時間內(nèi)建立標(biāo)準(zhǔn)的軟件質(zhì)量模型。軟件測試能夠防止軟件開發(fā)中的錯誤,及時謹(jǐn)慎地衡量軟件品質(zhì),保證發(fā)布出去的產(chǎn)品達(dá)到一定的質(zhì)量標(biāo)準(zhǔn)。
其意義可以從三個方面來說:一是確認(rèn)軟件的質(zhì)量,即確認(rèn)軟件是否做了需求者所期望的事情,并以正確的方式來做了這個事情;二是提供信息,比如提供給開發(fā)人員或程序經(jīng)理的反饋信息,為風(fēng)險評估所準(zhǔn)備的信息;三是保證整個軟件開發(fā)過程是高質(zhì)量的,軟件測試不僅測試軟件產(chǎn)品的本身,而且還包括軟件開發(fā)的過程[1]。
2.3 軟件測試的方法
軟件測試的方法和技術(shù)是多種多樣的,根據(jù)測試是否針對系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法可以分為黑盒測試和白盒測試。
黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。
白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅(qū)動、基本路徑測試法等,主要用于軟件驗(yàn)證。
3 軟件測試在軟件開發(fā)過程中的應(yīng)用
軟件測試存在于軟件開發(fā)的整個過程,與軟件開發(fā)的其他團(tuán)隊共同合作,形成了軟件生命周期中的一個整體(圖1)。
3.1 測試在軟件需求分析階段的應(yīng)用
在軟件需求分析階段,軟件測試人員要及時參與了解軟件的需求分析、仔細(xì)評估大概的工作量、估量軟件測試風(fēng)險和可行性、考慮是否接受需求分析的功能等[2]。
所謂需求分析,就是了解客戶的對軟件的需求,與客戶商討保證軟件功能達(dá)到一致性,并評估軟件風(fēng)險和該項目的花費(fèi)代價,形成一個完整的開發(fā)計劃過程。另外,還要和軟件開發(fā)人員共同將客戶的需求轉(zhuǎn)換成計算機(jī)語言,并估量是否可以在現(xiàn)有的技術(shù)水平下實(shí)現(xiàn)該需求。
進(jìn)行工作量評估時,先大概計算軟件功能測試花費(fèi)的時間,將其與軟件開發(fā)時間合并統(tǒng)計,綜合評估整個軟件開發(fā)過程所需的時間,再對比于軟件產(chǎn)品經(jīng)理要求的時間,若不相符則進(jìn)行溝通商討,確保一致性。
3.2 測試在軟件系統(tǒng)設(shè)計階段的應(yīng)用
系統(tǒng)設(shè)計是軟件開發(fā)過程中一個極其重要的部分,一旦出現(xiàn)了問題,會導(dǎo)致對一些邊界問題無法修復(fù),甚至?xí)䦟?dǎo)致軟件開發(fā)過程的失敗或者開發(fā)出來的軟件難以擴(kuò)展。
軟件測試人員在系統(tǒng)設(shè)計階段的工作主要是了解設(shè)計模型、評估設(shè)計模型的風(fēng)險、對設(shè)計提出建議等,還要編寫測試計劃[3]。軟件測試人員在工作中應(yīng)該選擇良好的系統(tǒng)結(jié)構(gòu),減少不必要的變更,確保測試設(shè)計的穩(wěn)定性;另外,良好的社會架構(gòu)能夠促使團(tuán)隊內(nèi)部在實(shí)力和能力上存在的差異得到相互彌補(bǔ),保持其平衡;一些特殊的業(yè)務(wù)需求可以創(chuàng)建技術(shù)邊界來滿足,保證系統(tǒng)在市場競爭中的可持續(xù)性和不可替代性。
測試人員還應(yīng)該了解軟件產(chǎn)品的運(yùn)行環(huán)境,參與到產(chǎn)品邏輯流程、數(shù)據(jù)庫結(jié)構(gòu)、各模塊的功能等的討論中,評估軟件在設(shè)計階段可能出現(xiàn)的問題,在后階段的測試中注意設(shè)計的難點(diǎn)部分;還要了解各個模塊之間的接口部分和軟件產(chǎn)品設(shè)計的性能要求,為后面的測試奠定基礎(chǔ)。
3.3 測試在軟件代碼編寫階段的應(yīng)用
在軟件代碼編寫過程中,軟件測試人員應(yīng)該參與到單元測試、編寫測試用例、考慮是否接受代碼完成報告和凍結(jié)報告等工作,特別是要認(rèn)真對待編寫測試用例。通常情況下,軟件開發(fā)人員可以獨(dú)立完成單元測試,但是其相應(yīng)的測試用例、自動化測試腳本等還得靠測試人員來提供。
3.4 測試在軟件測試階段的應(yīng)用
在軟件測試階段,軟件測試人員的工作是開展軟件測試、更新測試用例、觀察并處理發(fā)現(xiàn)的缺陷、發(fā)布最終質(zhì)量報告等。這一階段是軟件測試在軟件開發(fā)過程中最關(guān)鍵的環(huán)節(jié),主要進(jìn)行的是集成測試、確認(rèn)測試、系統(tǒng)測試三部分,必須根據(jù)測試用例的情況來進(jìn)行;旧,這些測試只能確保常用功能的正常發(fā)揮,而對于一些較特殊、異常的測試用例,卻不能保證其正常工作,因此在必要時應(yīng)該進(jìn)行“自由測試”,以期發(fā)現(xiàn)更多的缺陷[4]。當(dāng)新的缺陷沒有對應(yīng)的測試用例來覆蓋時,應(yīng)該及時更新測試用例,以保證軟件開發(fā)的正常運(yùn)行。跟蹤缺陷是按照項目的異同來采取不同的處理方式,如果是一個全新的項目,進(jìn)行跟蹤處理缺陷順序是新報缺陷、確認(rèn)缺陷、重現(xiàn)缺陷、修復(fù)缺陷、驗(yàn)證缺陷、關(guān)閉缺陷,必須嚴(yán)格按照順序開展。
3.5 測試在軟件運(yùn)行維護(hù)階段的應(yīng)用
在軟件運(yùn)行維護(hù)階段,測試人員的工作主要是幫助客戶進(jìn)行驗(yàn)收測試、及時處理客戶提出的問題以及重新組合測試用例。其中幫助客戶開展驗(yàn)收測試是主要工作,處理客戶發(fā)現(xiàn)的問題是關(guān)鍵性部分,必須高度重視客戶提出的問題,采取“3W”的形式,即問題是什么、原因在哪里、怎樣解決的方式,仔細(xì)分析是否沒有從客戶角度出發(fā),并認(rèn)真分析客戶真正關(guān)心的問題,最后找出在前期測試中沒有發(fā)現(xiàn)該問題的原因。另外,重新組合測試用例也是不可忽視的,通常會在經(jīng)過整個軟件周期后才發(fā)現(xiàn)在設(shè)計時沒有考慮到一些測試用例的設(shè)計,在測試過程中也會添加不少的新用例,因此在軟件維護(hù)階段,必須重新組合、更新測試用例。
[參考文獻(xiàn)]
[1]王萍.軟件測試的重要性[J].軟件導(dǎo)刊,2009.4.
[2]朱虹.軟件測試在軟件開發(fā)過程中的應(yīng)用[J].中國新技術(shù)新產(chǎn)品,2009.22.
[3]徐新峪.軟件測試在軟件開發(fā)過程中的重要性[J].東方企業(yè)文化,2010.2.
[4]潘禎,吳永強(qiáng),王艷華.軟件測試在軟件開發(fā)中應(yīng)用的探討[J].硅谷,2011.22.
【軟件測試在軟件開發(fā)過程中的應(yīng)用探析】相關(guān)文章:
計算機(jī)軟件開發(fā)技術(shù)的現(xiàn)狀及應(yīng)用探析09-28
軟件開發(fā)中現(xiàn)代軟件工程的應(yīng)用08-26
試析軟件開發(fā)生命周期各階段的應(yīng)用軟件安全性測試10-26
探析代理記賬中商品軟件的應(yīng)用10-18
計算機(jī)應(yīng)用的發(fā)展與軟件開發(fā)08-19
項目管理在ASP軟件開發(fā)中的應(yīng)用07-14
醫(yī)療軟件開發(fā)中現(xiàn)代軟件工程方法的應(yīng)用10-03