軟件測試流程ppt課件_第1頁
軟件測試流程ppt課件_第2頁
軟件測試流程ppt課件_第3頁
軟件測試流程ppt課件_第4頁
軟件測試流程ppt課件_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件測試流程 軟件測試流程軟件測試流程1 軟件測試的復(fù)雜性與經(jīng)濟(jì)性分析2 軟件測試的流程3 單元測試4 集成測試5 確認(rèn)測試6 系統(tǒng)測試7 驗收測試1 軟件測試的復(fù)雜性與經(jīng)濟(jì)性分析軟件測試流程 人們在對軟件工程開發(fā)的常規(guī)認(rèn)識中,以為開發(fā)程序是一個復(fù)雜而困難的過程,需求破費大量的人力、物力和時間,而測試一個程序那么比較容易,不需求破費太多的精神。這其實是人們對軟件工程開發(fā)過程了解上的一個誤區(qū)。在實踐的軟件開發(fā)過程中,作為現(xiàn)代軟件開發(fā)工業(yè)一個非常重要的組成部分,軟件測試正扮演著越來越重要的角色。隨著軟件規(guī)模的不斷擴(kuò)展,如何在有限的條件下對被開發(fā)軟件進(jìn)展有效的測試正成為軟件工程中一個非常關(guān)鍵的課題。

2、1.1 軟件測試的復(fù)雜性軟件測試流程設(shè)計測試用例是一項細(xì)致并且需求具備高度技巧的任務(wù),稍有不慎就會顧此失彼,發(fā)生不應(yīng)有的疏漏。下面分析了容易出現(xiàn)問題的根源。(1) 完全測試是不現(xiàn)實的在實踐的軟件測試任務(wù)中,不論采用什么方法,由于軟件測試情況數(shù)量極其宏大,都不能夠進(jìn)展完全徹底的測試。所謂徹底測試,就是讓被測程序在一切能夠的輸入情況下全部執(zhí)行一遍。通常也稱這種測試為“窮舉測試。窮舉測試會引起以下幾種問題:輸入量太大;輸出結(jié)果太多;軟件執(zhí)行途徑太多;闡明書存在客觀性。1.1 軟件測試的復(fù)雜性軟件測試流程E.W.Dijkstra的一句名言對測試的不徹底性作了很好的注解:“程序測試只能證明錯誤的存在,但

3、不能證明錯誤的不存在。由于窮舉測試任務(wù)量太大,實際上行不通,這就注定了一真實踐測試都是不徹底的,也就不可以保證被測試程序在實際上不存在遺留的錯誤。1.1 軟件測試的復(fù)雜性軟件測試流程(2) 軟件測試是有風(fēng)險的窮舉測試的不可行性使得大多數(shù)軟件在進(jìn)展測試的時候只能采取非窮舉測試,這又意味著一種冒險。比如在運用Microsoft Office工具中的Word時,可以作這樣的一個測試:新建一個Word文檔;在文檔中輸入漢字“胡;設(shè)置其字體屬性為“隸書,字號為初號,效果為“空心;將頁面的顯示比例設(shè)為“500%。這時在“胡字的內(nèi)部會出現(xiàn)“胡萬進(jìn)印四個字。類似問題在實踐測試中假設(shè)不運用窮舉測試是很難發(fā)現(xiàn)的,

4、而假設(shè)在軟件投入市場時才發(fā)現(xiàn)那么修復(fù)代價就會非常高。這就會產(chǎn)生一個矛盾:軟件測試員不能做到完全的測試,不完全測試又不能證明軟件的百分之百的可靠。那么如何在這兩者的矛盾中找到一個相對的平衡點呢?1.1 軟件測試的復(fù)雜性軟件測試流程如圖1所示的最優(yōu)測試量表示圖可以察看到,當(dāng)軟件缺陷降低到某一數(shù)值后,隨著測試從量的不斷上升軟件缺陷并沒有明顯地下降。這是軟件測試任務(wù)中需求留意的重要問題。如何把測試數(shù)據(jù)量宏大的軟件測試減少到可以控制的范圍,如何針對風(fēng)險做出最明智的選擇是軟件測試人員必需可以把握的關(guān)鍵問題。圖1的最優(yōu)測試量表示圖闡明了發(fā)現(xiàn)軟件缺陷數(shù)量和測試量之間的關(guān)系,隨著測試量的添加,測試本錢將呈幾何數(shù)

5、級上升,而軟件缺陷降低到某一數(shù)值之后將沒有明顯的變化,最優(yōu)丈量值就是這兩條曲線的交點。1.1 軟件測試的復(fù)雜性軟件測試流程圖1 最優(yōu)測試量表示圖1.2 軟件測試的經(jīng)濟(jì)性軟件測試流程軟件測試的經(jīng)濟(jì)性有兩方面表達(dá):一是表達(dá)在測試任務(wù)在整個工程開發(fā)過程中的重要位置;二是表達(dá)在應(yīng)該按照什么樣的原那么進(jìn)展測試,以實現(xiàn)測試本錢與測試效果的一致。軟件工程的總目的是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成測試。1.3 軟件測試的誤區(qū)軟件測試流程隨著軟件產(chǎn)業(yè)工業(yè)化、模塊化地開展,在軟件開發(fā)組中軟件測試人員的重要性也不斷地突出。在國外,很多著名企業(yè)早已對軟件測試任務(wù)非常注重。比如著名的微軟公司,其軟件測

6、試人員與開發(fā)人員的比例曾經(jīng)到達(dá)2:1??梢娷浖y試對于一個軟件開發(fā)工程的勝利與否具有非常重要的意義。但是在實踐的工程開發(fā)與管理中依然存在很多管理上或者技術(shù)上的誤區(qū):(1) 期望用測試自動化替代大部分人工勞動(2) 忽視需求階段的參與(3) 軟件測試是技術(shù)要求不高的崗位2 軟件測試的流程軟件測試流程1軟件開發(fā)的V模型軟件測試是有階段性的,軟件開發(fā)流程的V模型是一個廣為人知的模型,如圖2所示。在V模型中,從左到右描畫了根本的開發(fā)過程和測試行為,為軟件的開發(fā)人員和測試管理者提供了一個極為簡單的框架。V模型的價值在于它非常明確地標(biāo)明了測試過程中存在的不同級別,并且清楚地描畫了這些測試階段和開發(fā)過程期間

7、各階段的對應(yīng)關(guān)系。在V模型中各個測試階段的執(zhí)行流程是:單元測試是基于代碼的測試,最初由開發(fā)人員執(zhí)行,以驗證其可執(zhí)行程序代碼的各個部分能否已到達(dá)了預(yù)期的功能要求;集成測實驗證了兩個或多個單元之間的集成能否正確,并且有針對性地對詳細(xì)設(shè)計中所定義的各單元之間的接口進(jìn)展檢查;在單元測試和集成測試完成之后,系統(tǒng)測試開場用客戶環(huán)境模擬系統(tǒng)的運轉(zhuǎn),以驗證系統(tǒng)能否到達(dá)了在概要設(shè)計中所定義的功能和性能;最后,當(dāng)技術(shù)部門完成了一切測試任務(wù),由業(yè)務(wù)專家或用戶進(jìn)展驗收測試,以確保產(chǎn)品能真正符合用戶業(yè)務(wù)上的需求。圖2描畫出了各個測試環(huán)節(jié)在整個軟件測試任務(wù)中的相互聯(lián)絡(luò)與制約關(guān)系。2 軟件測試的流程軟件測試流程圖2 V模型

8、表示圖2 軟件測試的流程軟件測試流程2軟件測試過程軟件測試過程按各測試階段的先后順序可分為單元測試、集成測試、確認(rèn)有效性測試、系統(tǒng)測試和驗收用戶測試5個階段,如圖3所示。(1) 單元測試:測試執(zhí)行的開場階段。測試對象是每個單元。測試目的是保證每個模塊或組件能正常任務(wù)。單元測試主要采用白盒測試方法,檢測程序的內(nèi)部構(gòu)造。(2) 集成測試:也稱組裝測試。在單元測試根底上,對已測試過的模塊進(jìn)展組裝,進(jìn)展集成測試。測試目的是檢驗與接口有關(guān)的模塊之間的問題。集成測試主要采用黑盒測試方法。(3) 確認(rèn)測試:也稱有效性測試。在完成集成測試后,驗證軟件的功能和性能及其他特性能否符合用戶要求。測試目的是保證系統(tǒng)可

9、以按照用戶預(yù)定的要求任務(wù)。確認(rèn)測試通常采用黑盒測試方法。(4) 系統(tǒng)測試:在完成確認(rèn)測試后,為了檢驗它能否與實踐環(huán)境如軟硬件平臺、數(shù)據(jù)和人員等協(xié)調(diào)任務(wù),還需求進(jìn)展系統(tǒng)測試??梢哉f,系統(tǒng)測試之后,軟件產(chǎn)品根本滿足開發(fā)要求。(5) 驗收測試:測試過程的最后一個階段。驗收測試主要突出用戶的作用,同時軟件開發(fā)人員也應(yīng)該參與進(jìn)去。2 軟件測試的流程軟件測試流程圖3 測試各階段表示圖3 單元測試軟件測試流程1單元測試的定義單元測試Unit Testing是對軟件根本組成單元進(jìn)展的測試。單元測試的對象是軟件設(shè)計的最小單位模塊。很多人將單元的概念誤解為一個詳細(xì)函數(shù)或一個類的方法,這種了解并不準(zhǔn)確。作為一個最小

10、的單元應(yīng)該有明確的功能定義、性能定義和接口定義,而且可以明晰地與其他單元區(qū)分開來。一個菜單、一個顯示界面或者可以獨立完成的詳細(xì)功能都可以是一個單元。從某種意義上單元的概念曾經(jīng)擴(kuò)展為組件component。 2單元測試的目的單元測試的主要目的是確保各單元模塊被正確地編碼。單元測試除了保證測試代碼的功能性,還需求保證代碼在構(gòu)造上具有可靠性和健全性,并且可以在一切條件下正確呼應(yīng)。 3單元測試的內(nèi)容模塊接口測試;部分?jǐn)?shù)據(jù)構(gòu)造測試;獨立途徑測試;錯誤處置測試;邊境條件測試。3 單元測試軟件測試流程圖4 單元測試義務(wù)如圖4所示,這些測試都作用于模塊,共同完成單元測試義務(wù)。模塊接口測試:對經(jīng)過被測模塊的數(shù)據(jù)

11、流進(jìn)展測試。為此,對模塊接口,包括參數(shù)表、調(diào)用子模塊的參數(shù)、全程數(shù)據(jù)、文件輸入/輸出操作都必需檢查。3 單元測試軟件測試流程圖5 單元測試環(huán)境4單元測試的步驟通常單元測試在編碼階段進(jìn)展。當(dāng)源程序代碼編制完成,經(jīng)過評審和驗證,確認(rèn)沒有語法錯誤之后,就開場進(jìn)展單元測試的測試用例設(shè)計。如圖5所示。3 單元測試軟件測試流程5采用單元測試的緣由 程序員編寫代碼時,一定會反復(fù)調(diào)試保證其可以編譯經(jīng)過。假設(shè)是編譯沒有經(jīng)過的代碼,沒有任何人會情愿交付給本人的老板。但代碼經(jīng)過編譯,只是闡明了它的語法正確,程序員卻無法保證它的語義也一定正確。沒有任何人可以隨便承諾這段代碼的行為一定是正確的。單元測試這時會為此做出保

12、證。編寫單元測試就是用來驗證這段代碼的行為能否與軟件開發(fā)人員期望的一致。有了單元測試,程序員可以自信的交付本人的代碼,而沒有任何的后顧之憂。 經(jīng)過單元測試,測試人員可以驗證開發(fā)人員所編寫的代碼是按照先前想象的方式進(jìn)展的,輸出結(jié)果符合預(yù)期值,這就實現(xiàn)了單元測試的目的。與后面的測試相比,單元測試創(chuàng)建簡單,維護(hù)容易,并且可以更方便的進(jìn)展反復(fù)。單元測試的本錢效率大約是集成測試的兩倍、系統(tǒng)測試的三倍,如圖6所示。注:術(shù)語域測試是指軟件在投入運用后,針對某個領(lǐng)域所作的一切測試活動。3 單元測試軟件測試流程圖6 各測試階段發(fā)現(xiàn)缺陷的耗時4 集成測試軟件測試流程1集成測試的定義集成測試Integration

13、Testing是介于單元測試和系統(tǒng)測試之間的過渡階段,與軟件開發(fā)方案中的軟件詳細(xì)設(shè)計階段相對應(yīng),是單元測試的擴(kuò)展和延伸。集成測試的定義是根據(jù)實踐情況對程序模塊采用適當(dāng)?shù)募蓽y試戰(zhàn)略組裝起來,對系統(tǒng)的接口以及集成后的功能進(jìn)展正確校驗的測試任務(wù)。4 集成測試軟件測試流程2集成測試的層次軟件的開發(fā)過程是一個從需求分析到概要設(shè)計、詳細(xì)設(shè)計以及編碼實現(xiàn)的逐漸細(xì)化的過程,那么單元測試到集成測試再到系統(tǒng)測試就是一個逆向求證的過程。集成測試內(nèi)部對于傳統(tǒng)軟件和面向?qū)ο蟮倪\用系統(tǒng)有兩種層次的劃分。對于傳統(tǒng)軟件來講,可以把集成測試劃分為三個層次:模塊內(nèi)集成測試;子系統(tǒng)內(nèi)集成測試;子系統(tǒng)間集成測試。對于面向?qū)ο蟮倪\用

14、系統(tǒng)來說,可以把集成測試分為兩個階段:類內(nèi)集成測試;類間集成測試。4 集成測試軟件測試流程3集成測試的方式選擇什么方式把模塊組裝起來構(gòu)成一個可運轉(zhuǎn)的系統(tǒng),直接影響到模塊測試用例的方式、所用測試工具的類型、模塊編號的次序和測試的次序、生成測試用例的費用和調(diào)試的費用。集成測試方式是軟件集成測試中的戰(zhàn)略表達(dá),其重要性是明顯的,直接關(guān)系到軟件測試的效率、結(jié)果等,普通是根據(jù)軟件的詳細(xì)情況來決議采用哪種方式。通常,把模塊組裝成為系統(tǒng)的測試方式有兩種:一次性集成測試方式No-Incremental Integration一次性集成測試方式也稱作非增值式集成測試。先分別測試每個模塊,再把一切模塊按設(shè)計要求放在

15、一同結(jié)合成所需求實現(xiàn)的程序。如圖7是所示按照一次性集成測試方式的實例4 集成測試軟件測試流程圖7 一次性集成測試方式4 集成測試軟件測試流程增值式集成測試方式把下一個要測試的模塊同曾經(jīng)測好的模塊結(jié)合起來進(jìn)展測試,測試終了,再把下一個應(yīng)該測試的模塊結(jié)合進(jìn)來繼續(xù)進(jìn)展測試。在組裝的過程中邊銜接邊測試,以發(fā)現(xiàn)銜接過程中產(chǎn)生的問題。經(jīng)過增值逐漸組裝成為預(yù)先要求的軟件系統(tǒng)。增值式集成測試方式有三種:自頂向下增值測試方式Top-down Integration主控模塊作為測試驅(qū)動,一切與主控模塊直接相連的模塊作為樁模塊;根據(jù)集成的方式深度或廣度,每次用一個模塊把從屬的樁模塊交換成真正的模塊;在每個模塊被集成

16、時,都必需曾經(jīng)進(jìn)展了單元測試;進(jìn)展回歸測試以確定集成新模塊后沒有引入錯誤。這種組裝方式將模塊按系統(tǒng)程序構(gòu)造,沿著控制層次自頂向下進(jìn)展組裝。自頂向下的增值方式在測試過程中較早地驗證了主要的控制和判別點。選用按深度方向組裝的方式,可以首先實現(xiàn)和驗證一個完好的軟件功能。如圖8所示表示的是按照深度優(yōu)先方式遍歷的自頂向下增值的集成測試實例。4 集成測試軟件測試流程圖8 自頂向下增值測試方式4 集成測試軟件測試流程 自底向上增值測試方式Bottom-up Integration組裝從最底層的模塊開場,組合成一個構(gòu)件,用以完成指定的軟件子功能。編制驅(qū)動程序,協(xié)調(diào)測試用例的輸入與輸出;測試集成后的構(gòu)件;按程序

17、構(gòu)造向上組裝測試后的構(gòu)件,同時除掉驅(qū)動程序。這種組裝的方式是從程序模塊構(gòu)造的最底層的模塊開場組裝和測試。由于模塊是自底向上進(jìn)展組裝,對于一個給定層次的模塊,它的子模塊包括子模塊的一切下屬模塊曾經(jīng)組裝并測試完成,所以不再需求樁模塊。在模塊的測試過程中假設(shè)需求從子模塊得到信息時可以直接運轉(zhuǎn)子模塊獲得。如圖9表示的是按照自底向上增值的集成測試?yán)印? 集成測試軟件測試流程圖9 自底向上增值測試方式4 集成測試軟件測試流程 混合增值測試方式Modified Top-down Integration自頂向下增值的方式和自底向上增值的方式各有優(yōu)缺陷。自頂向下增值方式的缺陷是需求建立樁模塊。要使樁模塊可以模

18、擬實踐子模塊的功能是非常困難的,同時涉及復(fù)雜算法。真正輸入輸出的模塊處在底層,它們是最容易出問題的模塊,并且直到組裝和測試的后期才遇到這些模塊,一旦發(fā)現(xiàn)問題,會導(dǎo)致過多的回歸測試。自頂向下增值方式的優(yōu)點是可以較早地發(fā)如今主要控制方面存在問題。自底向上增值方式的缺陷是“程序不斷未能作為一個實體存在,直到最后一個模塊加上去后才構(gòu)成一個實體。就是說,在自底向上組裝和測試的過程中,對主要的控制直到最后才接觸到。自底向上增值方式的優(yōu)點是不需求樁模塊,建立驅(qū)動模塊普通比建立樁模塊容易,同時由于涉及到復(fù)雜算法和真正輸入輸出的模塊最先得到組裝和測試,可以把最容易出問題的部分在早期處理。此外自底向上增值的方式可

19、以實施多個模塊的并行測試。4 集成測試軟件測試流程有鑒于此,通常是把以上兩種方式結(jié)合起來進(jìn)展組裝和測試。改良的自頂向下增值測試:根本思想是強(qiáng)化對輸入輸出模塊和引入新算法模塊的測試,并自底向上組裝成為功能相當(dāng)完好且相對獨立的子系統(tǒng),然后由主模塊開場自頂向下進(jìn)展增值測試;自底向上自頂向下的增值測試混和法:首先對含讀操作的子系統(tǒng)自底向上直至根結(jié)點模塊進(jìn)展組裝和測試,然后對含寫操作的子系統(tǒng)做自頂向下的組裝與測試;回歸測試:這種方式采取自頂向下的方式測試被修正的模塊及其子模塊,然后將這一部分視為子系統(tǒng),再自底向上測試,以檢查該子系統(tǒng)與其上級模塊的接口能否適配。4 集成測試軟件測試流程一次性集成測試方式與

20、增值式集成測試方式的比較增值式集成方式需求編寫的軟件較多,任務(wù)量較大,破費的時間較多。一次性集成方式的任務(wù)量較?。辉鲋凳郊煞绞桨l(fā)現(xiàn)問題的時間比一次性集成方式早;增值式集成方式比一次性集成方式更容易判別出問題的所在,由于出現(xiàn)的問題往往和最后加進(jìn)來的模塊有關(guān);增值式集成方式測試的更為徹底;運用一次性集成方式可以多個模塊并行測試。這兩種方式各有利弊,在時間條件允許的情況下采用增值式集成測試方式有一定的優(yōu)勢。4 集成測試軟件測試流程集成測試的組織和實施集成測試是一種正規(guī)測試過程,必需精心方案,并與單元測試的完成時間協(xié)調(diào)起來。在制定測試方案時,應(yīng)思索如下要素:是采用何種系統(tǒng)組裝方法來進(jìn)展組裝測試;組裝

21、測試過程中銜接各個模塊的順序;模塊代碼編制和測試進(jìn)度能否與組裝測試的順序一致;測試過程中能否需求專門的硬件設(shè)備。5集成測試完成的標(biāo)志斷定集成測試過程能否完成,可按以下幾個方面檢查:勝利地執(zhí)行了測試方案中規(guī)定的一切集成測試;修正了所發(fā)現(xiàn)的錯誤;測試結(jié)果經(jīng)過了專門小組的評審。 6采用集成測試的緣由一切的軟件工程都不能擺脫系統(tǒng)集成這個階段。不論采用什么開發(fā)方式,詳細(xì)的開發(fā)任務(wù)總得從一個一個的軟件單元做起,軟件單元只需經(jīng)過集成才干構(gòu)成一個有機(jī)的整體。5 確認(rèn)測試軟件測試流程1確認(rèn)測試的定義確認(rèn)測試最簡明、最嚴(yán)厲的解釋是檢驗所開發(fā)的軟件能否能按用戶提出的要求運轉(zhuǎn)。假設(shè)能到達(dá)這一要求,那么以為開發(fā)的軟件是

22、合格的。因此有的軟件開發(fā)部門把確認(rèn)測試稱為合格性測試(Qualification Testing)。確認(rèn)測試又稱為有效性測試。它的義務(wù)是驗證軟件的功能和性能及其特性能否與客戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格闡明中曾經(jīng)明確規(guī)定。確認(rèn)測試階段任務(wù)如圖10所示:5 確認(rèn)測試軟件測試流程圖10 確認(rèn)測試階段的任務(wù)5 確認(rèn)測試軟件測試流程2確認(rèn)測試的準(zhǔn)那么經(jīng)過確認(rèn)測試,應(yīng)該為已開發(fā)的軟件做出結(jié)論性評價。這不外乎是以下兩種情況之一:經(jīng)過檢驗的軟件功能、性能及其他要求均已滿足需求規(guī)格闡明書的規(guī)定,因此可被接受,視為是合格的軟件;經(jīng)過檢驗發(fā)現(xiàn)與需求闡明書有相當(dāng)?shù)钠x,得到一個各項缺陷的清單。對

23、于第二種情況,往往很難在交付期以前把發(fā)現(xiàn)的問題糾正過來。這就需求開發(fā)部門和客戶進(jìn)展協(xié)商,找出處理的方法。5 確認(rèn)測試軟件測試流程3進(jìn)展確認(rèn)測試確認(rèn)測試是在模擬的環(huán)境能夠是就是開發(fā)的環(huán)境下,運用黑盒測試的方法,驗證所測試件能否滿足需求規(guī)格闡明書列出的需求。4確認(rèn)測試的結(jié)果在全部軟件測試的測試用例運轉(zhuǎn)完后,一切的測試結(jié)果可以分為兩類:測試結(jié)果與預(yù)期的結(jié)果相符。闡明軟件的這部分功能或性能特征與需求規(guī)格闡明書相符合,從而這部分程序被接受;測試結(jié)果與預(yù)期的結(jié)果不符。闡明軟件的這部分功能或性能特征與需求規(guī)格闡明不一致,因此要為它提交一份問題報告。經(jīng)過與用戶的協(xié)商,處理所發(fā)現(xiàn)的缺陷和錯誤。確認(rèn)測試應(yīng)交付的文

24、檔有:確認(rèn)測試分析報告、最終的用戶手冊和操作手冊、工程開發(fā)總結(jié)報告。5 確認(rèn)測試軟件測試流程5軟件配置審查軟件配置審查是確認(rèn)測試過程的重要環(huán)節(jié)。其的目的是保證軟件配置的一切成分都齊全,各方面的質(zhì)量都符合要求,具備維護(hù)階段所必需的細(xì)資料并且曾經(jīng)編排好分類的目錄。除了按合同規(guī)定的內(nèi)容和要求,由工人審查軟件配置之外,在確認(rèn)測試的過程,該當(dāng)嚴(yán)厲遵守用戶手冊和操作手冊中規(guī)定的運用步驟,以便檢查這些文檔資料的完好性和正確性。必需仔細(xì)記錄發(fā)現(xiàn)的脫漏和錯誤,并且適當(dāng)?shù)匮a充和矯正。6 系統(tǒng)測試軟件測試流程1系統(tǒng)測試的定義在軟件的各類測試中,系統(tǒng)測試是最接近于人們的日常測試實際。它是將曾經(jīng)集成好的軟件系統(tǒng),作為整

25、個計算機(jī)系統(tǒng)的一個元素,與計算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一同,在實踐運轉(zhuǎn)環(huán)境下,對計算機(jī)系統(tǒng)進(jìn)展一系列的組裝測試和確認(rèn)測試。6 系統(tǒng)測試軟件測試流程2幾種常見的系統(tǒng)測試方法(1) 恢復(fù)測試也叫容錯測試,用來檢查系統(tǒng)的容錯才干。通常假設(shè)計算機(jī)系統(tǒng)出現(xiàn)錯誤,就必需在一定時間內(nèi)從錯誤中恢復(fù)過來,修正錯誤并重新啟動系統(tǒng)?;謴?fù)測試是經(jīng)過各種手段,讓軟件強(qiáng)迫性地出錯,使其不能正常任務(wù),從而檢驗系統(tǒng)的恢復(fù)才干。對于自動恢復(fù)系統(tǒng),即由系統(tǒng)本身完成恢復(fù)任務(wù),那么應(yīng)該檢驗重新初始化、檢查點、數(shù)據(jù)恢復(fù)和重新啟動等機(jī)制的正確性。對于人工干涉恢復(fù)系統(tǒng),要評價平均修復(fù)時間能否在可接受的范圍

26、。(2) 平安測試平安測試的目的在于檢查系統(tǒng)對外界非法入侵的防備才干。在平安測試過程中,測試者扮演著非法入侵者,采用各種手段試圖突破防線,攻擊系統(tǒng)。例如,測試者可以嘗試經(jīng)過外部的手段來破譯系統(tǒng)的密碼,或者可以有目的地引發(fā)系統(tǒng)錯誤,試圖在系統(tǒng)恢復(fù)過程中侵入系統(tǒng)等。系統(tǒng)的平安測試要設(shè)置一些測試用例試圖突破系統(tǒng)的平安嚴(yán)密防線,用來查找系統(tǒng)的平安嚴(yán)密的破綻。系統(tǒng)平安測試的準(zhǔn)那么是讓非法侵入者攻擊系統(tǒng)的代價大于維護(hù)系統(tǒng)平安的價值。6 系統(tǒng)測試軟件測試流程(3) 強(qiáng)度測試也稱壓力測試、負(fù)載測試。強(qiáng)度測試是要破壞程序,檢測非正常的情況系統(tǒng)的負(fù)載才干。強(qiáng)度測試模擬實踐情況下的軟硬件環(huán)境和用戶運用過程的系統(tǒng)負(fù)荷

27、,長時間或超負(fù)荷地運轉(zhuǎn)測試軟件來測試系統(tǒng),以檢驗系統(tǒng)才干的最高限制,從而了解系統(tǒng)的可靠性、穩(wěn)定性等。例如,將輸入的數(shù)據(jù)值提高一個或幾個數(shù)量級來測試輸入功能的呼應(yīng)等。實踐上,強(qiáng)度測試就是在一些特定情況下所做的敏感測試。比如數(shù)學(xué)算法中,在一個有效的數(shù)據(jù)范圍內(nèi)定義一個極小范圍的數(shù)據(jù)區(qū)間,這個數(shù)據(jù)區(qū)間中的數(shù)據(jù)本應(yīng)該是合理的,但往往又能夠會引發(fā)異常的情況或是引起錯誤的運轉(zhuǎn),導(dǎo)致程序的不穩(wěn)定性。敏感測試就是為了發(fā)現(xiàn)這種在有效的輸入數(shù)據(jù)區(qū)域內(nèi)能夠會引發(fā)不穩(wěn)定性或者引起錯誤運轉(zhuǎn)的數(shù)據(jù)集合和組合。(4) 性能測試性能測試用來測試軟件在系統(tǒng)運轉(zhuǎn)時的性能表現(xiàn),比如運轉(zhuǎn)速度、系統(tǒng)資源占有或呼應(yīng)時間等情況。對于實時系統(tǒng)

28、或嵌入式系統(tǒng),假設(shè)只能滿足功能需求而不能滿足性能需求,是不能被接受的。性能測試可以在測試過程的恣意階段進(jìn)展,例如,在單元層,一個獨立的模塊也可以運用白盒測試方法進(jìn)展性能評價。但是,只需當(dāng)一個系統(tǒng)的一切部分都集成后,才干檢測此系統(tǒng)的真正性能。6 系統(tǒng)測試軟件測試流程(5) 容量測試容量測試是指在系統(tǒng)正常運轉(zhuǎn)的范圍內(nèi)測定系統(tǒng)可以處置的數(shù)據(jù)容量,測試系統(tǒng)接受超額數(shù)據(jù)容量的才干。系統(tǒng)容量必需滿足用戶需求,假設(shè)不能滿足實踐要求,必需努力改良,尋求處理方法。暫時無法處理的需求在產(chǎn)品闡明書中給予闡明。(6) 正確性測試正確性測試是為了檢測軟件的各項功能能否符合產(chǎn)品規(guī)格闡明的要求。軟件的正確性與否關(guān)系著軟件的

29、質(zhì)量好壞,所以非常重要。正確性測試的總體思緒是設(shè)計一些邏輯正確的輸入值,檢查運轉(zhuǎn)結(jié)果是不是期望值。正確性測試主要有兩種方法,一個是枚舉法,另一個是邊境值法。6 系統(tǒng)測試軟件測試流程 (7) 可靠性測試可靠性測試是從驗證的角度出發(fā),檢驗系統(tǒng)的可靠性能否到達(dá)預(yù)期的目的,同時給出當(dāng)前系統(tǒng)能夠的可靠性增長情況??煽啃詼y試需求從用戶角度出發(fā),模擬用戶實踐運用系統(tǒng)的情況,設(shè)計出系統(tǒng)的可操作視圖。(8) 兼容性測試現(xiàn)今,客戶對各個開發(fā)商和各種軟件之間相互兼容、共享數(shù)據(jù)的才干要求越來越高,所以對于軟件兼容性的測試就非常重要。軟件兼容性測試是檢測各軟件之間能否正常地交互、共享信息,能否正確地和軟件協(xié)作完成數(shù)據(jù)處

30、置。從而保證軟件可以按照客戶期望的規(guī)范進(jìn)展交互,多個軟件共同完成指定的義務(wù)。7 驗收測試軟件測試流程1驗收測試的定義驗收測試Acceptance Testing是向未來的用戶闡明系統(tǒng)可以像預(yù)定要求的那樣任務(wù)。經(jīng)過綜合測試之后,軟件已完全組裝起來,接口方面的錯誤也已排除,軟件測試的最后一步驗收測試即可開場。驗收測試的目的是確保軟件預(yù)備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和義務(wù)。驗收測試是檢驗軟件產(chǎn)質(zhì)量量的最后一道工序。驗收測試通常更突出客戶的作用,同時軟件開發(fā)人員也有一定的參與。如何組織好驗收測試并不是一件容易的事。以下對驗收測試的義務(wù)、目的以及驗收測試的組織管理給出詳細(xì)引見。7

31、驗收測試軟件測試流程2驗收測試的內(nèi)容軟件驗收測試應(yīng)完成的任務(wù)內(nèi)容如下:要明確驗收工程,規(guī)定驗收測試經(jīng)過的規(guī)范;確定測試方法;決議驗收測試的組織機(jī)構(gòu)和可利用的資源;選定測試結(jié)果分析方法;指定驗收測試方案并進(jìn)展評審;設(shè)計驗收測試所用的測試用例;審查驗收測試的預(yù)備任務(wù);執(zhí)行驗收測試;分析測試結(jié)果;做出驗收結(jié)論,明確經(jīng)過驗收或不經(jīng)過驗收,給出測試結(jié)果。7 驗收測試軟件測試流程3驗收測試的規(guī)范實現(xiàn)軟件確認(rèn)要經(jīng)過一系列黑盒測試。驗收測試同樣需求制定測試方案和過程,測試方案應(yīng)規(guī)定測試的種類和測試進(jìn)度,測試過程那么定義一些特殊的測試用例,旨在闡明軟件與需求能否一致。無論是方案還是過程,都應(yīng)該著重思索軟件能否滿足合同規(guī)定的一切功能和性能,文檔資料能否完好、準(zhǔn)確,人機(jī)界面和其他方面例如,可移植性、兼容性、錯誤恢復(fù)才干和可維護(hù)性等能否令用戶稱心。 驗收測試的結(jié)果有兩種能夠,一種是功能和性能目的滿足軟件需求闡明的要求,用戶可以接受;另一種是軟件不滿足軟件需求

溫馨提示

  • 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

提交評論