論軟件測試在質(zhì)量保證中的作用_第1頁
論軟件測試在質(zhì)量保證中的作用_第2頁
論軟件測試在質(zhì)量保證中的作用_第3頁
論軟件測試在質(zhì)量保證中的作用_第4頁
論軟件測試在質(zhì)量保證中的作用_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、論軟件質(zhì)量保證與測試一:我對軟件測試的認(rèn)識:軟件測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。具體的說,軟件測試是根據(jù)然間開發(fā)個階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計出一批測試用例,并利用測試用例來運(yùn)行程序,依法向程序錯誤的過程。軟件測試的目的和意義在于發(fā)現(xiàn)程序中的錯誤,有效定義和實(shí)現(xiàn)軟件成分由低到高的組裝過程,驗(yàn)證軟件是否滿足任務(wù)書和系統(tǒng)定義文檔所規(guī)定的技術(shù)要求,為軟件質(zhì)量模型的建立提供依據(jù),具體說來如下:1確認(rèn)軟件的質(zhì)量。一方面是確認(rèn)軟件做了你所期望的事情,另一方面是確認(rèn)軟件以正確的方式來做了這個事件;2提供信息。比如提供給開發(fā)人員或程序經(jīng)理的反饋信息,為風(fēng)險評估所準(zhǔn)備的信息;3軟件測試不

2、僅是在測試軟件產(chǎn)品的本身,而且還包括軟件開發(fā)的過程。如果一個軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的。因此軟件測試的第3個目的是保證整個軟件開發(fā)過程是高質(zhì)量的。作為軟件測試人員,在軟件開發(fā)過程中的任務(wù)就是尋找bug,避免軟件開發(fā)過程中的缺陷,衡量軟件的品質(zhì),關(guān)注用戶的需求,而其最終目標(biāo)就是:確保軟件的質(zhì)量。軟件測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模布模型中,軟件測試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近年來,軟件工程界趨向于一種新的觀點(diǎn),即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗(yàn)本階段的成果是否接近預(yù)期

3、的目標(biāo),盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進(jìn)行測試,錯誤的演示擴(kuò)散常常會導(dǎo)致最后成品測試的的最大困難。軟件開發(fā)過程可分為:需求,實(shí)際,實(shí)現(xiàn)和測試4個階段在開發(fā)大型軟件系統(tǒng)的漫長過程中,面對紛繁復(fù)雜的各種現(xiàn)實(shí)情況,人的主觀認(rèn)識和客觀現(xiàn)實(shí)是之間往往存在差距,開發(fā)過程中各類人員之間的交流和配合也往往并不是盡善盡美,所以,在軟件生存周期的各個階段都有可能產(chǎn)生差錯。軟件測試時對軟件規(guī)格說明,設(shè)計和編碼的最后復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟,因此我們一定要重視軟件測試工作。測試是所有工程學(xué)院的基本組成單元,是軟件開發(fā)的重要部分。自由層序時記得那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項(xiàng)目

4、中,軟件測試工作量往往占軟件開發(fā)總工作量的40%左右。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%-50%。如果把維護(hù)階段也考慮在內(nèi),討論整個軟件生存周期時,測試的成本比例也許會有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有更多的測試工作。作為軟件測試這個行業(yè),最重要的一件事就是從客戶的需求出發(fā),系統(tǒng)的問題越早發(fā)現(xiàn),改正的成本越低,破壞性越小,所以,在系統(tǒng)發(fā)布前,要盡量多的把系統(tǒng)的問題找出來,其手段就是有計劃,有組織的進(jìn)行充分的測試。系統(tǒng)投產(chǎn)后發(fā)想的問題,其危害性被成倍的放大,直接損壞了客戶的利益和聲譽(yù),同時客戶將毫不留情的將板子打在開發(fā)商身上,這是開發(fā)商費(fèi)錢費(fèi)

5、力也可能難以挽回失去的市場。軟件測試是軟件質(zhì)量保證的重要手段。二,軟件測試的具體方法與測試模型 1、V模型在軟件測試方面,V模型是最廣為人知的模型。 V模型已存在了很長時間,和瀑布開發(fā)模型有著一些共同的特性。V模型中的過程從左到右,描述了基本的開發(fā) 過程和測試行為。V模型優(yōu)點(diǎn):在于它非常明確地標(biāo)明了測試過程中存在的不同級別,并且清楚地描述了這些測試階段和開發(fā)過程期間各階段的對應(yīng)關(guān)系。局限性: 把測試作為編碼之后的最后一個活動,需求分析等前期產(chǎn)生的錯誤直到后期的驗(yàn)收測試才能發(fā)現(xiàn).        2、W模型V模型的局限

6、性在于沒有明確地說明早期的測試,無法體現(xiàn)“盡早地和不斷地進(jìn)行軟件測試” 的原則。在V模型中增加軟件各開發(fā)階段應(yīng)同步進(jìn)行的測試,演化為W 模型(如下圖)。W模型由Evolutif公司提出,相對于V模型,W模型更科學(xué)。優(yōu)點(diǎn):W模型是V模型的發(fā)展,強(qiáng)調(diào)的是測試伴隨著整個軟件開發(fā)周期,而且測試的對象不僅僅是程序,需求、功能和設(shè)計同樣要測試。測試與開發(fā)是同步進(jìn)行的,從而有利于盡早地發(fā)現(xiàn)問題。缺點(diǎn):W模型和V模型都把軟件的開發(fā)視為需求、設(shè)計、編碼等一系列串行的活動,無法支持迭代、自發(fā)性以及變更調(diào)整。        3、X模型X模型也是對

7、V模型的改進(jìn),X模型提出針對單獨(dú)的程序片段進(jìn)行相互分離的編碼和測試,此后通過頻繁的交接,通過集成最終合成為可執(zhí)行的程序。X模型的左邊描述的是針對單獨(dú)程序片段所進(jìn)行的相互分離的編碼和測試,此后將進(jìn)行頻繁的交接,通過集成最終成為可執(zhí)行的程序,然后再對這些可執(zhí) 行程序進(jìn)行測試。己通過集成測試的成品可以進(jìn)行封裝并提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。多根并行的曲線表示變更可以在各個部分發(fā)生。 優(yōu)點(diǎn):X模型定位了探索性測試,這是不進(jìn)行事先計劃的特殊類型的測試,這一方式往往能幫助有經(jīng)驗(yàn)的測試人員在測試計劃之外發(fā)現(xiàn)更多的軟件錯誤。缺點(diǎn):可能對測試造成人力、物力和財力的浪費(fèi),對測試員的熟練程度要

8、求比較高。         4、H模型H模型中, 軟件測試過程活動完全獨(dú)立,貫穿于整個產(chǎn)品的周期,與其他流程并發(fā)地進(jìn)行,某個測試點(diǎn)準(zhǔn)備就緒時,就可以從測試準(zhǔn)備階段進(jìn)行到測試執(zhí)行階段。軟件測試可以盡早的進(jìn)行,并且可以根據(jù)被測物的不同而分層次進(jìn)行。這個示意圖演示了在整個生產(chǎn)周期中某個層次上的一次測試“微循環(huán)”。圖中標(biāo)注的其它流程可以是任意的開發(fā)流程,例如設(shè)計流程或者編碼流程。也就是說, 只要測試條件成熟了,測試準(zhǔn)備活動完成了,測試執(zhí)行活動就可以進(jìn)行了。H模型揭示了一個原理:軟件測試是一個獨(dú)立的流程,貫穿產(chǎn)品整個生命周期

9、,與其他流程并發(fā)地進(jìn)行。H模型指出軟件測試要盡早準(zhǔn)備, 盡早執(zhí)行。不同的測試活動可以是按照某個次序先后進(jìn)行的,但也可能是反復(fù)的,只要某個測試達(dá)到準(zhǔn)備就緒點(diǎn),測試執(zhí)行活動就可以開展。三軟件測試的重要性及存在的誤區(qū)軟件測試很重要。在很多情況下,軟件開發(fā)人員同用戶的思路是完全不同的。開發(fā)人員由于接近硬件底層,更多的是從機(jī)器的“思維”來考慮問題,而用戶只是為了使用。很多軟件開發(fā)人員抱有這樣的思維,認(rèn)為用戶很笨,“你這樣用就不會出現(xiàn)錯誤了!”但事實(shí)上,作為一種產(chǎn)品,必須要能夠考慮到用戶使用的方方面面,并考慮進(jìn)行各種容錯處理。為了記錄下用戶使用軟件的習(xí)慣用來提供軟件的易用性和發(fā)現(xiàn)潛在的問題,微軟和國外的很

10、多大型軟件開發(fā)公司甚至?xí)捎脤iT的測試房間,用儀器記錄用戶的使用過程來加以改善使用的界面和出現(xiàn)的問題。軟件測試是軟件質(zhì)量保證的重要手段。有些研究數(shù)據(jù)顯示,國外軟件開發(fā)機(jī)構(gòu)40%的工作量花在軟件測試上,軟件測試費(fèi)用占軟件開發(fā)總費(fèi)用的30%至50%。對于一些要求高可靠、高安全的軟件,測試費(fèi)用可能相當(dāng)于整個軟件項(xiàng)目開發(fā)所有費(fèi)用的3至5倍。由此可見,要成功開發(fā)出高質(zhì)量的軟件產(chǎn)品,必須重視并加強(qiáng)軟件測試工作。國內(nèi)很多企業(yè)還處在探索階段,小企業(yè)的運(yùn)作方式造成主要精力是要盡快完成初始資本積累。有些企業(yè)也了解軟件測試的重要性,很努力、很認(rèn)真地學(xué),但因?yàn)楹芏嘣蚨鴮W(xué)不到精髓,不知道如何去做。于是只能局限于書本上

11、學(xué)來的簡單測試方法而已。即便有些人知道有壓力測試和性能測試等測試方法,但如何針對產(chǎn)品實(shí)施并不清楚。軟件測試存在的誤區(qū): (1)誤區(qū)之一:軟件開發(fā)完成后進(jìn)行軟件測試 人們一般認(rèn)為,軟件項(xiàng)目要經(jīng)過以下幾個階段:需求分析,概要設(shè)計,詳細(xì)設(shè)計,軟件編碼,軟件測試,軟件發(fā)布。據(jù)此,認(rèn)為軟件測試只是軟件編碼后的一個過程。這是不了解軟件測試周期的錯誤認(rèn)識。軟件測試是一個系列過程活動,包括軟件測試需求分析,測試計劃設(shè)計,測試用例設(shè)計,執(zhí)行測試。因此,軟件測試貫穿于軟件項(xiàng)目的整個生命過程。在軟件項(xiàng)目的每一個階段都要進(jìn)行不同目的和內(nèi)容的測試活動,以保證各個階段的正確性。軟件測試的對象不僅僅是軟件代碼,還包括軟件需

12、求文檔和設(shè)計文檔。軟件開發(fā)與軟件測試應(yīng)該是交互進(jìn)行的,例如,單元編碼需要單元測試,模塊組合階段需要集成測試。如果等到軟件編碼結(jié)束后才進(jìn)行測試,那么,測試的時間將會很短,測試的覆蓋面將很不全面,測試的效果也將大打折扣。更嚴(yán)重的是如果此時發(fā)現(xiàn)了軟件需求階段或概要設(shè)計階段的錯誤,如果要修復(fù)該類錯誤,將會耗費(fèi)大量的時間和人力。 (2)誤區(qū)之二:軟件發(fā)布后如果發(fā)現(xiàn)質(zhì)量問題,那是軟件測試人員的錯 這種認(rèn)識很打擊軟件測試人員的積極性。軟件中的錯誤可能來自軟件項(xiàng)目中的各個過程,軟件測試只能確認(rèn)軟件存在錯誤,不能保證軟件沒有錯誤,因?yàn)閺母旧现v,軟件測試不可能發(fā)現(xiàn)全部的錯誤。從軟件開發(fā)的角度看,軟件的高質(zhì)量不是

13、軟件測試人員測出來的,是靠軟件生命周期的各個過程中設(shè)計出來的。出現(xiàn)軟件錯誤,不能簡單地歸結(jié)為某一個人的責(zé)任,有些錯誤的產(chǎn)生可能不是技術(shù)原因,可能來自于混亂的項(xiàng)目管理。應(yīng)該分析軟件項(xiàng)目的各個過程,從過程改進(jìn)方面尋找產(chǎn)生錯誤的原因和改進(jìn)的措施。 (3)誤區(qū)之三:軟件測試要求不高,隨便找個人做都行 很多人都認(rèn)為軟件測試就是安裝和運(yùn)行程序,點(diǎn)點(diǎn)鼠標(biāo),按按鍵盤的工作。這是由于不了解軟件測試的具體技術(shù)和方法造成的。隨之軟件工程學(xué)的發(fā)展和軟件項(xiàng)目管理經(jīng)驗(yàn)的提高,軟件測試已經(jīng)形成了一個獨(dú)立的技術(shù)學(xué)科,演變成一個具有巨大市場需求的行業(yè)。軟件測試技術(shù)不斷更新和完善,新工具,新流程,新測試設(shè)計方法都在不斷更新,需要

14、掌握和學(xué)習(xí)很多測試知識。所以,具有編程經(jīng)驗(yàn)的程序員不一定是一名優(yōu)秀的測試工程師。軟件測試包括測試技術(shù)和管理兩個方面,完全掌握這兩個方面的內(nèi)容,需要很多測試實(shí)踐經(jīng)驗(yàn)和不斷學(xué)習(xí)精神。 (4)誤區(qū)之四:軟件測試是測試人員的事情,與程序員無關(guān)開發(fā)和測試是相輔相成的過程 需要軟件測試人員、程序員和系統(tǒng)分析師等保持密切的聯(lián)系,需要更多的交流和協(xié)調(diào),以便提高測試效率。另外,對于單元測試主要應(yīng)該由程序員完成,必要時測試人員可以幫助設(shè)計測試樣例。對于測試中發(fā)現(xiàn)的軟件錯誤,很多需要程序員通過修改編碼才能修復(fù)。程序員可以通過有目的的分析軟件錯誤的類型、數(shù)量,找出產(chǎn)生錯誤的位置和原因,以便在今后的編程中避免同樣的錯誤

15、,積累編程經(jīng)驗(yàn),提高編程能力。 (5)誤區(qū)之五:項(xiàng)目進(jìn)度吃緊時少做些測試,時間富裕時多做測試 這是不重視軟件測試的表現(xiàn),也是軟件項(xiàng)目過程管理混亂的表現(xiàn),必然會降低軟件測試的質(zhì)量。一個軟件項(xiàng)目的順利實(shí)現(xiàn)需要有合理的項(xiàng)目進(jìn)度計劃,其中包括合理的測試計劃,對項(xiàng)目實(shí)施過程中的任何問題,都要有風(fēng)險分析和相應(yīng)的對策,不要因?yàn)殚_發(fā)進(jìn)度的延期而簡單的縮短測試時間、人力和資源。因?yàn)榭s短測試時間帶來的測試不完整,對項(xiàng)目質(zhì)量的下降引起的潛在風(fēng)險,往往造成更大的浪費(fèi)??朔@種現(xiàn)象的最好辦法是加強(qiáng)軟件過程的計劃和控制,包括軟件測試計劃、測試設(shè)計、測試執(zhí)行、測試度量和測試控制。 (6)誤區(qū)之六:軟件測試是沒有前途的工作,

16、只有程序員才是軟件高手 由于我國軟件整體開發(fā)能力比較低,軟件過程很不規(guī)范,很多軟件項(xiàng)目的開發(fā)都還停留在“作坊式”和“壘雞窩”階段。項(xiàng)目的成功往往靠個別全能程序員決定,他們負(fù)責(zé)總體設(shè)計和程序詳細(xì)設(shè)計,認(rèn)為軟件開發(fā)就是編寫代碼,給人的印象往往是程序員是真正的牛人,具有很高的地位和待遇。因此,在這種環(huán)境下,軟件測試很不受重視,軟件測試人員的地位和待遇自然就很低了,甚至軟件測試變得可有可無。隨著市場對軟件質(zhì)量的不斷提高,軟件測試將變得越來越重要,相應(yīng)的軟件測試人員的地位和待遇將會逐漸提高。在微軟等軟件過程比較規(guī)范的大公司,軟件測試人員的數(shù)量和待遇與程序員沒有多大差別,優(yōu)秀測試人員的待遇甚至比程序員還要高。軟件測試將會成為一個具有很大發(fā)展前景的行業(yè),軟件測試大有前途,市場需要更多具有豐富測試技術(shù)和管理經(jīng)驗(yàn)的測試人員,他們同樣是軟件專家。這兩年來國內(nèi)軟件測試人員

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論