《軟件測試基礎(chǔ)知識及流程全解課件》由會員分享,可在線閱讀,更多相關(guān)《軟件測試基礎(chǔ)知識及流程全解課件(46頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,什么是軟件測試,使用人工或者自動手段來運行或測試某個系統(tǒng)的過程,目的在于檢驗它是否滿足規(guī)定的需求、弄清預(yù)期結(jié)果與實際結(jié)果之間的差別,什么是軟件測試使用人工或者自動手段來運行或測試某個系統(tǒng)的過程,軟件測試目的,測試是為了發(fā)現(xiàn)系統(tǒng)中的錯誤而執(zhí)行程序的過程,好的測試方案在于盡可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤,成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試,軟件測試目的測試是為了發(fā)現(xiàn)系統(tǒng)中的錯誤而執(zhí)行程序的過程,軟件測試目的,測試并不僅僅是為了找出錯誤,.,通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)
2、現(xiàn)當前軟件開發(fā)過程中的缺陷,以便及時改進,這種分析也能幫助測試人員設(shè)計出有針對性的測試方法,改善測試的效率和有效性;,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定軟件質(zhì)量的一種方法,軟件測試目的測試并不僅僅是為了找出錯誤.通過分析錯誤產(chǎn)生的原,軟件測試原則,所有的軟件測試都應(yīng)追溯到用戶需求,應(yīng)當把,“,盡早地和不斷地進行軟件測試,”,作為軟件測試人的座右銘,完全測試是不可能的,測試需要終止,測試無法顯示系統(tǒng)所有潛在的缺陷,軟件測試原則所有的軟件測試都應(yīng)追溯到用戶需求,軟件測試原則,充分注意測試中的群集現(xiàn)象,程序員應(yīng)避免檢查自己的程序,盡量避免測試的隨意性,應(yīng)從工程的角度理解軟件測試,它是有
3、組織、有計劃、有步驟的活動,軟件測試原則充分注意測試中的群集現(xiàn)象,軟件測試對象,程序,數(shù)據(jù),文檔,過程,硬件,網(wǎng)絡(luò),軟件測試對象程序,軟件測試關(guān)鍵詞,單元測試,集成測試,系統(tǒng)測試,確認測試,驗收測試,白盒測試,黑盒測試,灰盒測試,軟件測試關(guān)鍵詞單元測試,單元測試,單元測試又稱模塊測試,是針對軟件設(shè)計的最小單元,程序模塊進行正確性檢驗的測試工作,其目的在于檢查每個程序單元能否實 現(xiàn)詳細設(shè)計說明中的模塊功能、性能、接口和設(shè)計約束等要求,發(fā)現(xiàn)各模塊內(nèi)部可能存在的錯誤,單元測試單元測試又稱模塊測試,集成測試,集成測試,也叫組裝測試或聯(lián)合測試,在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求)如根據(jù)結(jié)構(gòu)圖,組
4、裝成為子系統(tǒng)或系統(tǒng),進行集成測試,集成測試是檢驗程序單元和部件的接口關(guān)系,實踐表明,一些模塊雖然能夠單獨地工作,但并不能保證連接起來也能正常的工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實現(xiàn),集成測試集成測試,也叫組裝測試或聯(lián)合測試,系統(tǒng)測試,系統(tǒng)測試是將已經(jīng)確認的軟件、計算機硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方,系統(tǒng)測試的任務(wù)是近可能徹底的檢查出程序中的錯誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗系統(tǒng),做得怎樣?,系統(tǒng)測試系統(tǒng)測試是將已經(jīng)確認的軟件、計算機
5、硬件、外設(shè)、網(wǎng)絡(luò)等,確認測試,確認測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進一步驗證軟件的有效性,這就是確認測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣,確認測試又稱有效性測試。有效性測試是在模擬的環(huán)境下,運用黑盒測試的方法,驗證被測軟件是否滿足需求規(guī)格說明書列出的需求。任務(wù)是驗證軟件的功能和性能及其他特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定,它包含的信息就是軟件確認測試的基礎(chǔ),確認測試確認測試的目的是向未來的用戶表明系統(tǒng)能夠像
6、預(yù)定要求那,驗收測試,系統(tǒng)開發(fā)生命周期方法論的一個階段,這時相關(guān)的用戶和或獨立測試人員根據(jù)測試計劃和結(jié)果對系統(tǒng)進行測試和接收。它讓系統(tǒng)用戶決定是否接收系統(tǒng)。它是一項確定產(chǎn)品是否能夠滿足合同或用戶所規(guī)定需求的測試,這是管理性和防御性控制的測試過程,驗收測試系統(tǒng)開發(fā)生命周期方法論的一個階段,這時相關(guān)的用戶和,白盒測試,白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作,是把測試對象看作一個打開的盒子,測試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯
7、路徑進行測試,通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預(yù)期的狀態(tài)一致,白盒測試白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是按照程序內(nèi)部,黑盒測試,黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用,在測試地,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,黑盒測試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對軟件界面和軟件功能進行測試,黑盒測試黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否,灰盒測試,灰盒測試,確實是介
8、于白盒測試與黑盒測試之間的測試,灰盒測試關(guān)注輸出對于輸入的正確性,同時也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不象白盒那樣詳細、完整,只是通過一些表征性的現(xiàn)象、事件、標志來判斷內(nèi)部的運行狀態(tài),有時候輸出是正確的,但內(nèi)部其實已經(jīng)錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法,灰盒測試灰盒測試,確實是介于白盒測試與黑盒測試之間的測試,軟件過程模型(了解),瀑布模型,原型模型,螺旋模型,增量模型,噴泉模型,統(tǒng)一過程(,RUP,),軟件過程模型(了解)瀑布模型,瀑布模型,瀑布模型核心思想是按工序?qū)栴}化簡,將功能的實現(xiàn)與設(shè)計分開,便于分工協(xié)作,即采用結(jié)構(gòu)化的分析與
9、設(shè)計方法將邏輯實現(xiàn)與物理實現(xiàn)分開,將軟件生命周期劃分為制定計劃、需求分析、軟件設(shè)計、程序編寫、軟件測試和運行維護等六個基本活動,并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落,從本質(zhì)來講,它是一個軟件開發(fā)架構(gòu),開發(fā)過程是通過一系列階段順序展開的,從系統(tǒng)需求分析開始直到產(chǎn)品發(fā)布和維護,每個階段都會產(chǎn)生循環(huán)反饋,因此,如果有信息未被覆蓋或者發(fā)現(xiàn)了問題,那么最好,“,返回,”,上一個階段并進行適當?shù)男薷模_發(fā)進程從一個階段,“,流動,”,到下一個階段,這也是瀑布開發(fā)名稱的由來,瀑布模型瀑布模型核心思想是按工序?qū)栴}化簡,將功能的實現(xiàn)與設(shè),瀑布模型圖,瀑布模型圖,原型模型,先借用已
10、有系統(tǒng)作為原型模型,通過,“,樣品,”,不斷改進,使得最后的產(chǎn)品就是用戶所需要的,原型模型通過向用戶提供原型獲取用戶的反饋,使開發(fā)出的軟件能夠真正反映用戶的需求。同時,原型模型采用逐步求精的方法完善原型,使得原型能夠,“,快速,”,開發(fā),避免了像瀑布模型一樣在冗長的開發(fā)過程中難以對用戶的反饋作出快速的響應(yīng)。相對瀑布模型而言,原型模型更符合人們開發(fā)軟件的習(xí)慣,是目前較流行的一種實用軟件生存期模型,原型模型先借用已有系統(tǒng)作為原型模型,通過“樣品”不斷改進,使,原型模型圖,原型模型圖,螺旋模型,1988,年,,BarryBoehm,正式發(fā)表了軟件系統(tǒng)開發(fā)的,螺旋模型,,它將瀑布模型和快速原型模型結(jié)合
11、起來,強調(diào)了其他模型所忽視的風險分析,特別適合于大型復(fù)雜的系統(tǒng)。,螺旋模型沿著螺線進行若干次迭代,圖中的四個象限代表了以下活動:,(,1,)制定計劃:確定軟件目標,選定實施方案,弄清項目開發(fā)的限制條件;,(,2,)風險分析:分析評估所選方案,考慮如何識別和消除風險;,(,3,)實施工程:實施軟件開發(fā)和驗證;,(,4,)客戶評估:評價開發(fā)工作,提出修正建議,制定下一步計劃。,螺旋模型1988年,BarryBoehm正式發(fā)表了軟件系統(tǒng)開,螺旋模型圖,螺旋模型圖,增量模型,增量模型融合了瀑布模型的基本成分(重復(fù)應(yīng)用)和原型實現(xiàn)的迭代特征,該模型采用隨著日程時間的進展而交錯的線性序列,每一個線性序列產(chǎn)
12、生軟件的一個可發(fā)布的,“,增量,”,當使用增量模型時,第,1,個增量往往是核心的產(chǎn)品,即第,1,個增量實現(xiàn)了基本的需求,但很多補充的特征還沒有發(fā)布,客戶對每一個增量的使用和評估都作為下一個增量發(fā)布的新特征和功能,這個過程在每一個增量發(fā)布后不斷重復(fù),直到產(chǎn)生了最終的完善產(chǎn)品。增量模型強調(diào)每一個增量均發(fā)布一個可操作的產(chǎn)品,增量模型增量模型融合了瀑布模型的基本成分(重復(fù)應(yīng)用)和原型實,增量模型圖,增量模型圖,噴泉模型,噴泉模型是一種以用戶需求為動力,以對象為驅(qū)動的模型,主要用于采用對象技術(shù)的軟件開發(fā)項目,該模型認為軟件開發(fā)過程自下而上周期的各階段是相互迭代和無間隙的特性,軟件的某個部分常常被重復(fù)工作
13、多次,相關(guān)對象在每次迭代中隨之加入漸進的軟件成分,無間隙指在各項活動之間無明顯邊界,如分析和設(shè)計活動之間沒有明顯的界限,由于對象概念的引入,表達分析、設(shè)計、實現(xiàn)等活動只用對象類和關(guān)系,從而可以較為容易地實現(xiàn)活動的迭代和無間隙,使其開發(fā)自然地包括復(fù)用,噴泉模型噴泉模型是一種以用戶需求為動力,以對象為驅(qū)動的模型,,噴泉模型圖,噴泉模型圖,統(tǒng)一過程模型,RUP,(,Rational Unified Process,,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程,),是一個面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論,根據(jù),Rational(Rational Rose,和統(tǒng)一建模語言的開發(fā)者,),的說法,好像一個在線的指導(dǎo)者
14、,它可以為所有方面和層次的程序開發(fā)提供指導(dǎo)方針,模版以及事例支持,RUP,和類似的產(chǎn)品,-,例如面向?qū)ο蟮能浖^程(,OOSP,),以及,OPEN Process,都是理解性的軟件工程工具,-,把開發(fā)中面向過程的方面(例如定義的階段,技術(shù)和實踐)和其他開發(fā)的組件(例如文檔,模型,手冊以及代碼等等)整合在一個統(tǒng)一的框架內(nèi),統(tǒng)一過程模型RUP(Rational Unified Pro,統(tǒng)一過程模型(,RUP,)圖,統(tǒng)一過程模型(RUP)圖,測試模型,V,模型,W,模型,H,模型,X,模型,測試模型V模型,V,模型圖,V模型圖,W,模型圖,W模型圖,H,模型圖,在整個生產(chǎn)周期中某個層次上的一次測試,
15、“,微循環(huán),”,。圖中的其他流程圖可以是任意開發(fā)流程。例如,設(shè)計流程和編碼流程。也可以是其他非開發(fā)流程,例如,,SQA,流程,甚至是測試流程本身。只要測試條件成熟了,測試準備活動完成了,測試執(zhí)行活動就可以進行了,H模型圖,X,模型,X,模型是由,Marick,提出的,X,模型描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此后將進行頻繁的交換,通過集成最終合成為可執(zhí)行的程序,X,模型是一種探索測試模型,X模型X模型是由Marick提出的,X,模型圖,X模型圖,測試策略,測試信息流,分析設(shè)計階段,需求說明書評測,概要設(shè)計說明書評測,詳細設(shè)計說明書評測,軟件編碼規(guī)范評測,開發(fā)階段,單元測試,
16、集成測試,確認測試,系統(tǒng)測試,驗收測試,軟件驗證和確認過程,測試策略測試信息流,天訊天網(wǎng)測試過程,測試流程圖,需求分析,測試計劃,測試設(shè)計,測試環(huán)境搭建,測試執(zhí)行,測試記錄,天訊天網(wǎng)測試過程測試流程圖,測試流程圖,測試流程圖,需求分析,需求分析是軟件測試的一個重要環(huán)節(jié),,,一般而言,需求分析包括軟件功能需求分析、測試環(huán)境需求分析、測試資源需求分析等。其中最基本的是軟件功能需求分析,測一款軟件首先要知道軟件能實現(xiàn)哪些功能以及是怎樣實現(xiàn)的。比如綠網(wǎng)天下包括記錄查詢、軟件限制、網(wǎng)址限制等功能。那我們就應(yīng)該知道軟件是怎樣來實現(xiàn)這些功能的,為了實現(xiàn)這些功能需要哪些測試設(shè)備以及如何搭建相應(yīng)測試環(huán)境等,否則測試就無從談起,做測試需求分析的依據(jù)有軟件需求文檔、軟件規(guī)格書以及開發(fā)人員的設(shè)計文檔等。,需求分析需求分析是軟件測試的一個重要環(huán)節(jié),一般而言,需求分析,測試計劃,測試計劃一般由測試負責人來編寫。測試計劃的依據(jù)主要是項目開發(fā)計劃和測試需求分析結(jié)果而制定,測試計劃一般包括以下一些方面:測試背景,、,項目涉及人員,、,測試依據(jù),、,測試資源,、,測試策略,、,測試日程,、,還要包括測試計劃編寫的日期、作