




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
軟件測試方法和技術集成測試和系統(tǒng)測試回顧①
單元測試的定義與進行單元測試的重要性②
單元測試的目標與任務③
靜態(tài)測試技術的運用④
動態(tài)測試技術的運用⑤
調試與評估⑥
單元測試的過程與文檔管理⑦
單元測試的常用工具簡介集成測試和系統(tǒng)測試系統(tǒng)集成的模式與方法功能測試系統(tǒng)測試壓力測試、容量測試和性能測試5安全性、可靠性和容錯性測試1系統(tǒng)集成的模式與方法軟件集成測試前的準備人員安排測試計劃測試內(nèi)容集成模式測試方法為什么總是集成不起來?集成測試的模式漸增式測試模式與非漸增式測試模式非漸增式測試模式:先分別測試每個模塊,再把所有模塊按設計要求放在一起結合成所要的程序,如大棒模式。漸增式測試模式:把下一個要測試的模塊同已經(jīng)測試好的模塊結合起來進行測試,測試完以后再把下一個應該測試的模塊結合進來測試。各自的優(yōu)缺點自頂向下和自底向上集成方法驅動程序/驅動模塊(driver),用以模擬被測模塊的上級模塊。驅動模塊在集成測試中接受測試數(shù)據(jù),把相關的數(shù)據(jù)傳送給被測模塊,啟動被測模塊,并打印出相應的結果。樁程序/樁模塊(stub),也有人稱為存根程序,用以模擬被測模塊工作過程中所調用的模塊。樁模塊由被測模塊調用,它們一般只進行很少的數(shù)據(jù)處理,例如打印入口和返回,以便于檢驗被測模塊與其下級模塊的接口自頂向下法(Top-downIntegration)自頂向下法的主要優(yōu)缺點自頂向下法(Top-downIntegration)自底向上法(Bottom-up
Integration自底向上法的主要優(yōu)缺點自底向上法(Bottom-upIntegration)混合策略(Modified
Top-down
Integrati混合法:對軟件結構中較上層,使用的是“自頂向下”法;對軟件結構中較下層,使用的是“自底向上”法,兩者相結合大棒集成方法(Big-bangIntegration)采用大棒集成方法,先是對每一個子模塊進行測試(單元測試階段),然后將所有模塊一次性的全部集成起來進行集成測試。因為所有的模塊一次集成的,所以很難確定出錯的真正位置、所在的模塊、錯誤的原因。這種方法并不推薦在任何系統(tǒng)中使用,適合在規(guī)模較小的應用系統(tǒng)中使用。三明治集成方法(SandwichIntegration)采用三明治方法的優(yōu)點是:它將自頂向下和自底向上的集成方法有機地結合起來,不需要寫樁程序因為在測試初自底向上集成已經(jīng)驗證了底層模塊的正確性。采用這種方法的主要缺點是:在真正集成之前每一個獨立的模塊沒有完全測試過。改善的三明治集成方法改進的三明治集成方法,不僅自兩頭向中間集成,而且保證每個模塊得到單獨的測試,使測試進行得比較徹底。幾種集成方法性能的比較自底向上自頂向下混合策略大棒三明治改進三明治集成早早早晚早早基本程序能工作時間晚早早晚早早需要驅動程序是否是是是是需要樁程序否是是是是是工作并行性中低中高中高特殊路徑測試容易難容易容易中等容易計劃與控制容易難難容易難難2功能測試功能測試的目的和內(nèi)容□程序安裝、啟動正常,有相應的提示框、錯誤提示等□每項功能符合實際要求□系統(tǒng)的界面清晰、美觀□菜單、按鈕操作正常、靈活,能處理一些異常操作□能接受正確的數(shù)據(jù)輸入,對異常數(shù)據(jù)的輸入可以進行提示、容錯處理等□數(shù)據(jù)的輸出結果準確,格式清晰,可以保存和讀取□功能邏輯清楚,符合使用者習慣□系統(tǒng)的各種狀態(tài)按照業(yè)務流程而變化,并保持穩(wěn)定□支持各種應用的環(huán)境□能配合多種硬件周邊設備□軟件升級后,能繼續(xù)支持舊版本的數(shù)據(jù)□與外部應用系統(tǒng)的接口有效功能測試的方法1.等價類劃分法2.邊界值分析法3.錯誤推測法4.因果圖法5.組合分析法我要測試所有的功能等價類劃分法劃分好等價類測試:防止遺漏測試案例。邊界值分析法例如:測試一個排序程序的邊界值分析法的例子,其邊界條件有:□排序序列為空;□排序序列僅有一個數(shù)據(jù);□排序序列為滿,用猜錯法補充一下測試用例;□排序序列已經(jīng)按要求排好序;□排序序列的順序與要求的順序恰好相反;□排序序列中的所有數(shù)據(jù)全部相等。因為錯誤最容易發(fā)生在邊界值附近,所以邊界值分析法對于多變量函數(shù)的測試很有效,尤其是對于像C/C++數(shù)據(jù)類型要求不是很嚴格的語言有利。錯誤推測法這個錯誤到底在哪?因果圖法因果圖法混凝土強度為什么不足?組合分析法組合分析是一種基于每對參數(shù)組合的測試技術,主要考慮參數(shù)之間的影響是主要的錯誤來源和大多數(shù)的錯誤起源于簡單的參數(shù)組合。在產(chǎn)品漢化過程中哪個組合出錯了?3系統(tǒng)測試壓力測試(Stress
test)容量測試(Capacity
test)性能測試(Performance
test)安全測試(Security
test)容錯測試(Recovery
test)回歸測試的目的□所做的修改達到了預定的目的,如錯誤得到了改正,新功能得到了實現(xiàn),能夠適應新的運行環(huán)境等;□不影響軟件原有功能的正確性。回歸測試的方法□再測試全部用例□基于風險選擇測試□基于操作剖面選擇測試□再測試修改的部分回歸測試2000回歸測試的組織和實施回歸測試4壓力測試、容量測試和性能測試壓力測試、容量測試和性能測試的測試目的雖然有所不同,但其手段和方法在一定程度上比較相似,通常會使用特定的測試工具,來模擬超常的數(shù)據(jù)量、負載等,監(jiān)測系統(tǒng)的各項性能指標,如CPU和內(nèi)存的使用情況、響應時間、數(shù)據(jù)傳輸量等。一定要設法破壞它!性能測試概念和目的性能測試的目的:為了驗證系統(tǒng)是否達到用戶提出的性能指標,同時發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸,起到優(yōu)化系統(tǒng)的目的。性能測試指標的來源:用戶對各項指標提出的明確需求;如果用戶沒有提出性能指標則根據(jù)用戶需求、測試設計人員的經(jīng)驗來設計各項測試指標。(需求+經(jīng)驗)主要的性能指標:服務器的各項指標(CPU、內(nèi)存占用率等)、后臺數(shù)據(jù)庫的各項指標、網(wǎng)絡流量、響應時間性能測試要點
測試環(huán)境應盡量與用戶環(huán)境保持一致,應單獨運行盡量避免與其他軟件同時使用。
性能測試一般使用測試工具和測試人員編制測試腳本來完成。
性能測試的重點在于前期數(shù)據(jù)的設計與后期數(shù)據(jù)的分析。
性能測試的用例主要涉及到整個系統(tǒng)架構的問題,所以測試用例一旦生成,改動一般不大,所以做性能測試的重復使用率一般比較高。性能測試的方法和技巧兩種負載類型“flat”測試ramp-up測試對于企業(yè)級的系統(tǒng),有許多進行性能測試的方法,主要有:基準測試性能規(guī)劃測試滲入測試峰谷測試兩種負載類型“Flat”測試:對于一次給定的測試,應該取響應時間和吞吐量的平均值。精確地獲得這些值的唯一方法是一次加載所有的用戶,然后在預定的時間段內(nèi)持續(xù)運行。這稱為“flat”測試。Ramp-up測試:用戶是交錯上升的(每幾秒增加一些新用戶)。ramp-up測試不能產(chǎn)生精確和可重現(xiàn)的平均值,這是因為由于用戶的增加是每次一部分,系統(tǒng)的負載在不斷地變化。ramp-up測試的優(yōu)點是,可以看出隨著系統(tǒng)負載的改變,測量值是如何改變的。然后可以據(jù)此選擇以后要運行的flat測試的范圍?;鶞蕼y試級.基準測試的關鍵是要獲得一致的、可再現(xiàn)的結果。假定測試的兩個指標是服務器的響應時間和吞吐量,它們會受到服務器上的負載的影響。服務器上的負載受兩個因素影響:同時與服務器通信的連接(或虛擬用戶)的數(shù)目,以及每個虛擬用戶請求之間的考慮時間的長短。與服務器通信的用戶越多,負載就越大。同樣,請求之間的考慮時間越短,負載也越大。這兩個因素的不同組合會產(chǎn)生不同的服務器負載等隨著服務器上負載的增加,吞吐量會不斷攀升,直到到達一個點,并在這個點上穩(wěn)定下來基準測試(2)在某一點上,執(zhí)行隊列開始增長,因為服務器上所有的線程都已投入使用,傳入的請求不再被立即處理,而是放入隊列中,當線程空閑時再處理。當系統(tǒng)達到飽和點,服務器吞吐量保持穩(wěn)定后,就達到了給定條件下的系統(tǒng)上限。但是,隨著服務器負載的繼續(xù)增長,統(tǒng)的響應時間也隨之延長,雖然吞吐量保持穩(wěn)定。圖2.隨著負載的增加,系統(tǒng)執(zhí)行隊列長度的曲線
將系統(tǒng)置于相同的高負載下,與服務器通信的虛擬用戶應該將請求之間的考慮時間設為零。這樣服務器會立即超載,并開始構建執(zhí)行隊列。如果請求(虛擬用戶)數(shù)保持一致,基準測試的結果應該會非常精確,因此,flat運行是獲得基準測試數(shù)據(jù)的理想模式基準測試(3)圖3.隨著負載的增加,系統(tǒng)中兩個事務的響應時間曲線性能規(guī)劃測試性能規(guī)劃類型的測試其目標是找出在特定的環(huán)境下,給定應用程序的性能可以達到何種程度。例如,如果要以5秒或更少的響應時間支持8,000個當前用戶,需要多少個服務器?要確定系統(tǒng)的容量,需要考慮幾個因素:用戶中有多少是并發(fā)與服務器通信的。每個用戶的請求間時間間隔是多少。如何加載用戶以模擬負載狀態(tài)?最好的方法是模擬高峰時間用戶與服務器通信的狀況。如果用戶負載狀態(tài)是在一段時間內(nèi)逐步達到的,選擇使用ramp-up類型的測試,每隔幾秒增加x個用戶;如果所有用戶是在一個非常短的時間內(nèi)同時與系統(tǒng)通信,就應該使用flat類型的測試,將所有的用戶同時加載到服務器.什么是確定容量的最好方法?結合兩種負載類型的優(yōu)點,并運行一系列的測試,就會產(chǎn)生最好的結
果。如,首先使用ramp-up測試確定系統(tǒng)可以支持的用戶范圍。確定
了范圍之后,以該范圍內(nèi)不同的并發(fā)用戶負載進行一系列的flat測試,更精確地確定系統(tǒng)的容量。性能規(guī)劃測試(2)滲入測試滲入測試是一種比較簡單的性能測試。滲入測試所需時間較長,它使用固定數(shù)目的并發(fā)用戶測試系統(tǒng)的總體健壯性。這些測試將會通過內(nèi)存泄漏、增加的垃圾收集(GC)或系統(tǒng)的其他問題,顯示因長時間運行而出現(xiàn)的任何性能降低。建議運行兩次測試——一次使用較低的用戶負載(要在系統(tǒng)容量之下,以便不會出現(xiàn)執(zhí)行隊列),一次使用較高的負載(以便出現(xiàn)積極的執(zhí)行隊列)。峰谷測試峰谷測試兼有容量規(guī)劃ramp-up類型測試和
入測試的特征。其目標是確定從高負載(例如系統(tǒng)高峰時間的負載)恢復、轉為幾乎空閑、然后再攀升到高負載、再降低的能力。性能測試的過程評估系統(tǒng)制定測試資產(chǎn)執(zhí)行基線&基準測試分析結果驗證需求完成調試系統(tǒng)識別探索性測試非決定性結果不符合標準調試之后重新進行基準測試開發(fā)探索性的測試符合所有的標準故障轉移測試Failover
測試:故障轉移(Failover)和故障恢復(Failback).
服務器的Failover測試的目的:
檢查系統(tǒng)是否具備某種災難性恢復的手段.
當系統(tǒng)局部或全部出錯時,
能否在指定時間內(nèi)修正錯誤.
具有良好故障恢復的系統(tǒng),
當遇到軟件原因或無法克服的自然原因時,
能夠進行故障的轉移與恢復.
使用戶最低限度的感受到故障的發(fā)生.在服務器的Failover測試中,
將包括多種情況,
如:客戶機或服務器掉電;客戶機與服務器網(wǎng)絡中斷;服務器相關的程序CRASH;系統(tǒng)中全部或部分CORE SERVER出現(xiàn)掉電/網(wǎng)絡中斷情況.Failover測試的方法和技巧要進行Failover的全面測試,可以將測試系統(tǒng)全部對象描繪出來于一張系統(tǒng)結構圖中,對圖中的所有可能發(fā)生的故障點設計測試用例.以下兩個用例來說明Failover測試的方法和手段.
例一,我們先以一套簡單的服務器構造為例來說明服務器發(fā)生故障時的情況.例二,我們以Telephony
server為例介紹Failover的測試.例三,Eureka
server
failover全圖Example
例一,我們先以一套簡單的服務器構造為例來說明服務器發(fā)生故障時的情況Example在這個構造中,當其中一臺應用服務器出現(xiàn)故障,連接此應用服務器的兩個web服務器將不再獲得從負載平衡服務器上請求,這樣,所有的負載都會傳遞到剩余的兩臺web服務器,見下圖:4壓力測試壓力測試壓力測試是在一種需要反常數(shù)量、頻率或資源的方式下,執(zhí)行可重復的負載測試,以檢查程序對異常情況的抵抗能力,找出性能瓶頸。從本質上來說,測試者是想要破壞程序,難怪在進行壓力測試時常常問自己:“我們能夠將系統(tǒng)折騰到什么程度而又不會出錯?”。這種系統(tǒng)折騰,就是對異常情況的設計。異常情況主要指的是峰值(瞬間使用高峰)、大量數(shù)據(jù)的處理能力、長時間運行等情況。壓力測試總是迫使系統(tǒng)在異常的資源配置下運行。測試壓力估算測試環(huán)境準備問題的分析累積效應壓力測試試試這個游戲站點的承受力容量測試容量測試目的是通過測試預先分析出反映軟件系統(tǒng)應用特征的某項指標的極限值(如最大并發(fā)用戶數(shù)、數(shù)據(jù)庫記錄數(shù)等),系統(tǒng)在其極限值狀態(tài)下還能保持主要功能正常運行。容量測試還將確定測試對象在給定時間內(nèi)能夠持續(xù)處理的最大負載或工作量。性能測試看看在各種情況下CPU使用的效率5安全性測試,可靠性和容錯性測試安全性測試、可靠性測試和容錯性測試的測試目的不同,其手段和方法也不同,但都屬于系統(tǒng)測試的范疇,有一定的聯(lián)系,如軟件可靠性要求通常包括了安全性的要求。而且,安全性測試、可靠性測試和容錯性測試的技術比較深、實施比較難,但在計算機應用系統(tǒng)中其作用越來越大。安全性測試根據(jù)ISO
8402的定義,安全性是“使傷害或損害的風險限制在可接受的水平內(nèi)”。安全性測試安全性測試是檢查系統(tǒng)對非法侵入的防范能力。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如:□想方設法截取或破譯口令;□專門開發(fā)軟件來破壞系統(tǒng)的保護機制;□故意導致系統(tǒng)失敗,企圖趁恢復之機非法進入;□試圖通過瀏覽非保密數(shù)據(jù),推導所需信息等等。理論上講,只要有足夠的時間和資源,沒有不可進入的系統(tǒng)。因此系統(tǒng)安全設計的準則是,使非法侵入的代價超過被保護信息的價值,此時非法侵入者已無利可圖。可靠性測試可靠性(Reliability)是產(chǎn)品在規(guī)定的條件下和規(guī)定的時間內(nèi)完成規(guī)定功能的能力,它的概率度量稱為可靠度。軟件可靠性是軟件系統(tǒng)的固有特性之一,它表明了一個軟件系統(tǒng)按照用戶的要求和設計的目標,執(zhí)行其功能的可靠程度。軟件可靠性與軟件缺陷有關,也與系統(tǒng)輸入和系統(tǒng)使用有關。理論上說,可靠的軟件系統(tǒng)應該是正確、完整、一致和健壯的。規(guī)定的時間規(guī)定的環(huán)境條件規(guī)定的功能可靠性測試結果的評估成熟性度量可以通過錯誤發(fā)現(xiàn)率DDP(DefectDetectionPercentage)來表現(xiàn)。在測試中查找出來的錯誤越多,實際應用中出錯的機會就越小,軟件也就越成熟。DDP=測試發(fā)現(xiàn)的錯誤數(shù)量/已知的全部錯誤數(shù)量已知的全部錯誤數(shù)量是測試已發(fā)現(xiàn)的錯誤數(shù)量加上可能會發(fā)現(xiàn)的錯誤數(shù)量之和。容錯性測試容錯性測試是檢查軟件在異常條件下自身是否具有防護性的措施或者某種災難性恢復的手段。如當系統(tǒng)出錯時,能否在指定時間間隔內(nèi)修正錯誤并重新啟動系統(tǒng)。容錯性測試包括兩個方面:輸入異常數(shù)據(jù)或進行異常操作,以檢驗系統(tǒng)的保護性。如果系統(tǒng)的容錯性好的話,系統(tǒng)只給出提示或內(nèi)部消化掉,而不會導致系統(tǒng)出錯甚至崩潰。災難恢復性測試。通過各種手段,讓軟件強制性地發(fā)生故障,然后驗證系統(tǒng)已保存的用戶數(shù)據(jù)是否丟失、系統(tǒng)和數(shù)據(jù)是否能盡快恢復。從質量三個緯度看系統(tǒng)測試質量維度測試類型可靠性完整性測試:側重于評估測試對象的強壯性(防止失敗的能力),語言、語法的技術兼容性以及資源利用率的測試。該測試針對不同的測試對象實施和執(zhí)行,包括單元和已集成單元。結構測試:側重于評估測試目標是否符合其設計和構造的測試。通常對基于
Web的應用程序執(zhí)行該測試,以確保所有鏈接都已連接、顯示正確的內(nèi)容以及沒有孤立的內(nèi)容。功能配置測試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓機構合作終止協(xié)議范本
- 二零二五年度健康醫(yī)療商標權轉讓與服務合同
- 二零二五年度蘇州室內(nèi)裝修工程售后維護服務合同
- 2025年成都社保局勞動合同企業(yè)員工加班與休息時間協(xié)議
- 貼地磚合同范本
- 美甲店員工二零二五年度勞動合同及員工激勵計劃合同
- 2025年度時尚秀聘請時尚達人演出合同
- 2025至2030年中國白噪聲信號發(fā)生器數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國病理蠟塊檔案柜數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國玻璃鋼儲藏罐數(shù)據(jù)監(jiān)測研究報告
- 英語-廣東省上進聯(lián)考領航高中聯(lián)盟2025屆高三下學期開學考試題和答案
- 安全主任在2025年春季開學典禮上的講話稿
- 2025屆高考語文二輪復習語文備考策略
- 2025年春季新北師大版生物七年級下冊全冊教學課件
- 培訓課件:律師客戶溝通技巧
- 2025年春新外研版(三起)英語三年級下冊課件 Unit5第1課時Startup
- 2025年春新外研版(三起)英語三年級下冊課件 Unit1第2課時Speedup
- 區(qū)域臨床檢驗中心
- 部編版語文小學二年級下冊第一單元集體備課(教材解讀)
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標準(2024版)宣傳畫冊
- 高等傳熱學全冊課件
評論
0/150
提交評論