軟件測試技術研究_第1頁
軟件測試技術研究_第2頁
軟件測試技術研究_第3頁
軟件測試技術研究_第4頁
軟件測試技術研究_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2014屆學生畢業論文(設計)題 目: 系 別: 專業班級: 姓 名: 學 號:   指導教師:     完成時間:  年 月 日軟件測試的技術研究摘 要隨著Internet的普及與迅速發展,企業業務量的迅速加大,數據大、集中成為一種趨勢,IT系統承載的負荷越來越重,系統性能的好壞嚴重的影響了企業對外提供的服務質量,從而對IT系統的性能進行測試和調優引起企業的重視。本文介紹了軟件測試的基礎知識、方法以及運用工具,并對功能測試的用例進行實際編寫,功能測試方面以163郵箱注冊界面為例,在性能測試方面以飛機訂票系統的第三方測試過程為例,闡述軟件性能測試的方法,

2、并對測試的結果進行分析,看其是否滿足規定的業務指標。關鍵詞:軟件性能測試;飛機訂票;業務指標 SOTTWARE TEST RESEARHABSTRACT With the popularization of Internet and the rapid development.Rapid increase of business volume.Data concentration has become a trend.The IT system bearing load is heavier.The system performance is good or bad.Serious impac

3、t on the enterprise to provide the quality of service.Thus the performance of the IT system testing and tuning arouse the attention of enterprises. This paper introduces the basic knowledge.Software testing methods and tools and the function test of practical writing.The function test to 163 registe

4、red mail interface as an example.In the aspect of performance testing to aircraft booking system of the third party testing process as an example.The method of software performance test,and the result of the test analysis.See its whether meet the business guidelines.Key words: Software performance t

5、esting; airline reservation system; business metrics;目 錄 1前言11.1 軟件測試背景和意義11.2 國內外現狀11.3 本文主要內容22軟件測試的基礎理論和技術32.1 軟件測試的理論和基礎32.1.1 軟件測試的定義32.1.2 軟件的生命周期32.2 軟件的測試內容32.3 軟件測試的分類32.4 軟件的測試類型52.5 測試方案32.5.1 測試的獨立性32.5.2 測試計劃33測試工具33.1 Quality Center33.2 QTP93.1 LoadRunner94測試用例設計與實現114.1 功能測試114.1.1 部分

6、用例設計114.1.2 缺陷報告124.2 性能測試134.3 驗收測試與測試結果分析185結論20參考文獻21致 謝221前 言1.1軟件測試的背景和意義軟件產業是國家鼓勵發展的朝陽產業,軟件產業要發展,提高軟件質量勢所必然,而軟件測試就是提高軟件質量的重要手段。越來越多的軟件企業意識到軟件測試的重要性。簡單的來說以我們目前最常見的12306火車訂票系統,每當遇到春運期間,十一,五一長假期時,系統就會崩潰,出現刷票困難的情況。這都是需要軟件測試人員進行性能測試,找出缺陷并且與軟件的開發人員進行修改,共同完善系統,讓用戶盡可能得到滿意。1.2國內外現狀 國際上,軟件測試(軟件質量控制)是一件非

7、常重要的工程工作,測試也作為一個非常獨立的職業。在IBM、Microsoft等開發大型系統軟件公司,很多重要項目的開發測試人員的比例能夠達到 1:2甚至1:4。在軟件測試技術方面,自動化測試系統(ATS)正朝著通用化、標準化、網絡化和智能化的方向邁進。20世紀90年代中期以來,自動測試系統開發研制的指導思想發生了重大變化,以綜合通用的ATS代替某一系列,采用共同的硬件及軟件平臺實現資源共享的思想受到高度重視。其主要思路是:采用共同的測試策略,從設計過程開始,通過“增值開發”的方式使后一階段測試設備的研制能利用前一階段的開發成果;TPS要能夠移植,軟件模塊可以重用;使用商業通用標準、成熟的儀器設

8、備,縮短研發時間,降低開發成本并且易于升級和擴展。 國內軟件測試的現狀主要表現在: 一是軟件測試的地位還不高,在很多公司還是一種可有可無的東西,大多只停留在軟件單元測試、集成測試和功能測試上。 二是軟件測試標準化和規范化不夠。 三是軟件測試從業人員的數量同實際需求有不小差距,國內軟件企業中開發人員與測試人員數量一般為5:1,國外一般為 2:1或1:1,而最近有資料顯示微軟已把此比例調整為1:2。 四是國內缺乏完全商業化的操作機構,一般只是政府部門的下屬機構在做一些產品的驗收測試工作,實質意義不大,軟件測試產業化還有待開發和深掘。1.3本文主要內容 本文介紹了軟件測試的技術研究,前面部分詳細講述

9、了軟件測試的基礎知識以及分類等等,中間介紹了幾種軟件測試常用的工具,如QC、QTP、LR等。后面部分講述了功能測試中用例的設計和缺陷的提出,性能測試運用了LR去監控所需的服務器,并且生成了結果分析器。 2軟件測試的基礎理論和技術2.1 軟件測試的理論和基礎 2.1.1 軟件測試的定義通過人工或者自動化的手段來對被測軟件進行測試,看其是否滿足規定的需求。 軟件測試是破壞性的,誘發錯誤,重現錯誤,定位錯誤,記錄錯誤 軟件測試的系統組成架構包括C/S架構和B/S架構1。 2.1.2 軟件的生命周期 軟件的生命周期6個階段:項目規劃,需求定義和需求分析,軟件設計,程序編碼,軟件測試,運行維護2。 (1

10、)項目規劃 角色:銷售、技術部經理 職責:確定公司有無實力完成該項目,以及核算項目的成本,人力資源的分陪。 (2)需求定義和需求分析 角色:需求采購人員 職責:與用戶交流、收集、整理確定出想要一個什么樣的產品 (3)軟件設計 角色:系統結構師 職責:根據需求說明來制定軟件的框架,以及用什么樣的技術能夠實現用戶的需求。 (4)程序編碼 角色:程序員 職責:根據需求說明、概要設計、詳細設計的規約來開發符合用戶要求的軟件。 (5)軟件測試 角色:軟件測試工程師 職責:根據需求說明書,設計說明書盡可能多的找出尊在系統中的漏洞和錯誤,提交給開發人員進行修改。 (6)運行維護 角色:實施工程師 職責:將開

11、發好的軟件部署到用戶的真實使用當中,引導用戶實用軟件,并且解決用戶在后續使用中所遇到的問題。2.2 軟件的測試內容 驗證軟件是否滿足一系列所規定的需要求。(1)確定軟件生存周期中的一個給定階段的產品是否達到前階段確立的需求的過程。(2)程序正確性的形式證明, 即采用形式理論證明程序符號設計規約規定的過程。2.3軟件測試的分類 按照方法分類:白盒測試、黑盒測試 (1)黑盒測試:不考慮組件或者系統內部功能或者非功能測試。優點:很容易被用戶接受和理解測試用例可在規格完成后馬上進行,比白盒測試的效率要高。 黑盒測試的方法:等價類劃分、邊界值分析、因果圖和判定表推斷法,錯誤推斷法。主要用于軟件的確認測試

12、(測試用例的設計方法)。 a等價類劃分 等價類劃分是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數具有代表性的數據作為測試用例,該方法是一種重要的、常用的黑盒測試用例設計方法。b邊界值分析 邊界值分析3方法是對等價類劃分方法的補充。測試經驗告訴我們,大量的錯誤是發生在輸入或輸出范圍的邊界上,而不是發生在輸入輸出范圍的內部,因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。 c因果圖和判定表推斷法因果圖、判定表是一種充分考慮系統輸入之間的組合、約束以及和輸出因果關系的用例設計方法。因果圖用于描述系統的輸入、輸出,以及輸入和輸出之間的因果關系,輸入和輸出

13、之間的約束關系,因果圖的繪制過程是對被測試系統外部特征的建模過程。判定表可以由因果圖轉換得到,它用于對所有輸入進行組合和篩選,并得到對應的輸出。 d錯誤推斷法 錯誤推斷4法是基于經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法。其基本思想是列出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。 (2)白盒測試:通過分析組件或系統內部結構的測試。 優點:檢驗代碼中的所有分支和路徑,揭示代碼中隱藏的錯誤,測試全面。2.4軟件測試的類型(1)功能測試功能測試從用戶的角度出發,對系統提供的各種功能進行測試,主要是黑盒測試。它把系統看作一個黑盒子,不考慮系

14、統內部結構以及系統的具體實現方法。通過逐項測試,來檢查系統的各個功能是否完善,輸入正確的數據能否得到期望的輸出結果,輸入錯誤的信息時系統能否進行相應的處理。 功能性測試比較簡單包括: a容錯性測試:被測系統對錯誤數據的處理能力。 b安全性測試:驗證被測系統對黑客的防范能力和本身的安全機制。 c裸機測試:只有被測系統和操作系統的測試。 d冒煙測試:對基本功能測試(增、刪、改、查)的校驗。 e負載測試:測試應用程序在負載之下的承受能力的測試負載測試是有多個壓力測試組成的。f壓力測試:不考慮設計限制而執行系統的測試。其根本目的:開發系統的設計極限。 (2)性能測試性能測試是通過自動化的測試工具模擬多

15、種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結合進行。通過負載測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指標的變化情況。壓力測試是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。 2.5測試方案 測試的獨立性 為了高效地檢測出軟件中存在的問題,提高測試質量,開發出高質量的軟件產品,建立和加強測試工作的組織和管理必不可少,十分重要。在進行軟件產品和軟件項目開發室,主要有三類人員參與,項目經理,開發人員和測試人員5。 保持測試組的獨立性可更充分發揮測試客觀性、專業性、為提

16、高軟件質量提供有力保證、軟件測試團隊的組織直接關系到測試團隊的工作效率和生產力,其組織方式有測試團隊規模和具體任務、個人的技術能力等因素決定、一般可分為基于技能的組織模式或基于項目的組織模式。 2.5.2 測試計劃測試計劃受到很多因素的影響:組織的測試方針,測試范圍,測試目標,風險,約束,關進程度,可測試和資源的可用性。測試計劃是個持續性活動,需要在整個生命周期和活動中進行。避免測試的“事件驅動”是整個測試工作和整個開發工作融合起來,資源和變更事先作為一個可控制的風險。3 測試工具3.1 Quality CenterQuality Center6是Mercury Interactive 公司推

17、出的一個基于 Web 且支持測試管理的所有必要方面的應用程序。該軟件提供統一、可重復的流程,用于收集需求、計劃和安排測試、分析結果并管理缺陷和問題。組織可使用該軟件在較大的應用程序生命周期中實現特定質量流程和過程的數字化。該軟件還支持在 IT 團隊間進行高水平溝通和協調。QC的主要功能: (1)Quality Center 有助于維護測試的項目數據庫,這個數據庫涵蓋了應用程序功能的各個方面。設計了項目中的每個測試,以滿足應用程序的某個特定的測試需求。要達到項目的各個目標,可將項目中的測試組織成各種特定的組。Quality Center 提供了一種直觀、高效的方法,用于計劃和執行測試集、收集測試

18、結果以及分析相關數據。Quality Center 還具有一套完善的系統,用于跟蹤應用程序缺陷,通過它,您可以在從初期檢測到最后解決的整個過程中嚴密監視缺陷。將 Quality Center 鏈接到電子郵件系統,所有應用程序開發、質量保證、客戶支持和信息系統人員可以共享缺陷跟蹤信息。 (2)Quality Center 可以集成 Mercury 測試工具(WinRunner、QuickTest Professional、QuickTest Professional for MySAP.com Windows Client、LoadRunner 和 Visual API-XP)以及第三方和自定義

19、測試工具、需求和配置管理工具。Quality Center 可以無縫地與您選擇的測試工具通信,提供一種完整的解決方案,使應用程序測試完全自動化。(3)Quality Center 可指導您完成測試流程的需求指定、測試計劃、測試執行和缺陷跟蹤階段。它把應用程序測試中所涉及的全部任務集成起來,有助于確保客戶能夠得到最高質量的應用程序。圖3-1 QC登陸界面Quality Center將測試活動大體分為四個階段,在頁面左端點擊“缺陷”進入頁面,在此頁面顯示所有提交的缺陷(即Bug)信息,如圖3-2所示 圖3-2 QC缺陷界面3.2 QTP QTP7 是quicktest Professional的簡

20、稱,是一種自動測試工具。使用QTP的目的是想用它來執行重復的手動測試,主要是用于回歸測試和測試同一軟件的新版本。因此你在測試前要考慮好如何對應用程序進行測試,例如要測試那些功能、操作步驟、輸入數據和期望的輸出數據等。 (1)QTP是一個側重于功能的回歸自動化測試工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emulator的等等,分別用于各自類型的產品測試。默認提供Web,ActiveX和VB。 (2)QTP支持的腳本語言是VBScript,這對于測試人員來說,感覺要“舒服”得多(如相比SilkTest采用C語言)。VBScript畢竟是一種松散的、非嚴格的、普

21、及面很廣的語言。 (3)QTP支持錄制和回放的功能。錄制產生的腳本,可以拿來作為自己編寫腳本的template。錄制時,還支持一種lower level 功能,這個對于QTP不容易識別出來的對象有用,不過它是使用坐標來標識的,對于坐標位置頻繁變動的對象,采用這種方式不可行。另外,QTP的編輯器支持兩種視圖:Keyword模式和Expert模式。Keyword模式想法是好的,提供一個 描述近似于原始測試用例的、跟代碼無關的視圖(我基本很少用,除了查看、管理當前test中各個action的完整流程),而Expert就是代碼視圖,一般編寫腳本都在這個區域。3.3 LoadRunner Mercury

22、 LoadRunner8 是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題,LoadRunner 能夠對整個企業架構進行測試。通過使用LoadRunner ,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。 目前企業的網絡應用環境都必須支持大量用戶,網絡體系架構中含各類應用環境且由不同供應商提供軟件和硬件產品。難以預知的用戶負載和愈來愈復雜的應用環境使公司時時擔心會發生用戶響應速度過慢,系統崩潰等問題。這些都不可避免地導致公司收益的損失。Mercury Interactive 的 LoadRunner 能讓企業保護自己

23、的收入來源,無需購置額外硬件而最大限度地利用現有的IT 資源,并確保終端用戶在應用系統的各個環節中對其測試應用的質量,可靠性和可擴展性都有良好的評價。虛擬用戶生成器用于捕獲最終用戶業務流程和創建自動性能測試腳本(也稱為虛擬用戶腳本)。Controller 用于組織、驅動、管理和監控負載測試。負載生成器用于通過運行虛擬用戶生成負載。Analysis 有助于您查看、分析和比較性能結果。Launcher 為訪問所有 LoadRunner 組件的統一界面。 4測試用例設計與實現4.1 功能測試功能測試首先要對被測系統進行分析,對輸入框,下拉框等進行用例的編寫下面對163郵箱注冊頁面為例,對圖4-1進行

24、部分用例的設計。 圖4-1 163郵箱注冊頁面 4.1.1 部分測試用例設計 對于注冊頁面輸入框的測試用例設計可以采用以下三個方法來混合設計。 (1)主要使用等價類劃分法,可分為:數字、字母、符號、其他語言和空。 (2)邊界值進行輔助,密碼為 6 到 20 位之間,小于 6,大于 20。 (3)錯誤推斷法輔助,即典型的錯誤包括:前后為空,和密碼明碼顯示等。 表4-2 用例設計 輸入及操作說明 預期結果 實際結果在密碼框輸入數據:asdfag點擊“立即注冊”按鈕在密碼框輸入數據:asQSef點擊“立即注冊”按鈕在密碼框輸入數據:123456點擊“立即注冊”按鈕在密碼框輸入數據:asd!#點擊“立

25、即注冊”按鈕在密碼框輸入數據:密碼1234點擊“立即注冊”按鈕在密碼框輸入數據:12345點擊“立即注冊”按鈕在密碼框輸入數據:123點擊“立即注冊”按鈕在密碼框輸入數據:點擊“立即注冊”按鈕在密碼框輸入第一位或最后一位為空格的密碼: admin點擊“立即注冊”按鈕注冊成功 注冊成功 注冊成功 注冊成功提示密碼中含有非法字符提示密碼中含有非法字符提示密碼為6-10位之間提示密碼為6-10位之間提示密碼中含有非法字符與預期結果一致與預期結果一致與預期結果一致與預期結果一致與預期結果一致與預期結果一致與預期結果一致 與預期結果一致與預期結果一致 4.1.2 缺陷報告 關于缺陷級別9 的說明: A類

26、嚴重錯誤包括:由于程序所引起的死機,非法退出死循環導致數據庫發生死鎖,數據通訊錯誤,嚴重的數值計算錯誤。 B類較嚴重錯誤,包括:功能不符,數據流錯誤,程序接口錯誤,輕微的數值計算錯誤。 C類一般性錯誤,包括:界面錯誤打印內容、格式錯誤,簡單的輸入限制,未放在前臺進行控制,刪除操作未給提示。 D類較小的錯誤,包括:輔助說明描述不清楚,顯示格式不規范,長時間操作未給用戶進度提示,提示窗口文字未采用行業術語,可輸入區域和只讀區與沒有明顯的區分標志,系統處理未優化。 E類測試建議(非缺陷) 關于缺陷緊急程度的說明: 一般而言,嚴重程度是指對于產一般也就有如下情況, 非常嚴重的缺陷,例如,軟件的意外退出

27、甚至操作系統崩潰,造成數據丟失。較嚴重的缺陷,例如,軟件的某個菜單不起作用或者產生錯誤的結果。4.2 性能測試下面進行性能測試的系統是LoadRunner軟件自帶的飛機訂票系統首先進入LoadRunner的主界面,如圖5-3所示。 圖4-3新建腳本圖 進入主界面后點擊新建腳本的按鈕會,如圖4-4所示。 圖4-4開始腳本設置界面選取網頁架構,點擊創建按鈕進入開始設置頁面,如圖4-5所示 圖4-5網址輸入界面 將所需登陸的網址填寫入URL Address中,點擊“OK”按鈕進入訂票系統頁面,并填寫賬號密碼,如圖5-6所示 圖 4-6飛機訂票首頁 以上操作放在LR的Action中,登陸上飛機訂票系統

28、后點擊“注銷”按鈕,然后點擊LR中的結束按鈕,這樣LR的登陸腳本就順利的結束了。得到如下的腳本 圖4-7 登陸系統的腳本 點擊LR中的運行按鈕,就會自動的重復上述操作(系統會自動的用賬號:test 密碼:1234 登陸飛機訂票系統并且注銷)。 上述腳本只能對一個用戶進行操作,但是在軟件的性能測試中需要進行多個用戶同時進行操作,這就要在此腳本基礎上進行手動的將上述的用戶名以及密碼進行參數化,方可進行多個用戶的操作。以下是對用戶名進行參數化的操作,選取用戶名“test”右鍵-“Replace with a Parameter”。 圖4-8 參數化的操作界面 打開參數化設置,將所需要的用戶名輸入,如

29、圖4-9所示。 圖4-9 添加參數化用戶界面 注意在輸入最后一個用戶結束時一定要多一個回車鍵,否則用戶名參數化將失敗。密碼參數化與用戶參數化相同,得到參數化的結果,如圖4-10所示。 圖4-10 參數化添加成功界面參數化成功后進行性能監控。打開性能監控器,將錄制好的腳本導入如圖4-11所示。 圖 4-11 導入錄制的腳本 設置虛擬用戶的數量,確定并發用戶數并設置出時間,添加本地所需要監控的性能,開始運行監控,如圖4-12所示。 圖4-12 開始性能監控的圖 當監控器監控結束之后,找到保存的性能結果打開,如圖4-13所示。 圖4-13結果分析器的圖 該圖為本地資源監控器的圖,綠線為內存的使用情況,紫線為每秒的點擊率,可在Windows Resources中找到想要監控本地的性能指標。在執行報告中填寫測試的性能指標以及設備的型號。 4.3驗收測試與測試結果分析驗收測試是部署軟件之前的最后一個測試操作。在軟件產品完成了單元測試、集成測試和系統測試之后,產品發布之前所進行的軟件測試活動它是技術測試的最后一個階段,也稱為交付測試。驗收測試的目的是確保軟件準備就緒,并且可以讓最終用戶將其用于執行軟件的既定功能和任務。下面對上述的測試進行結果分析。根據圖4-12和圖4-13可得內存的是用約為1

溫馨提示

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

評論

0/150

提交評論