軟件測試方法與術技實踐指南ASPNET篇第版第章
單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,軟件測試方法與技術實踐指南,ASP.NET篇,(第3版),重點大學軟件工程規(guī)劃系列教程,軟件測試工程師成長之路軟件測試方法與技術實踐指南ASP.NET篇(第3版)領先國內軟件測試實踐領域4至10年,對引領各大高校學生快速成長為軟件測試工程師有很強的指導與引領作用。歡迎全國各大高校使用本教程作為軟件測試教學用書。,軟件工程師成長之路系列實踐指南教程特點,軟件工程師成長之路系列實踐指南的目標:加快祖國信息化發(fā)展進程,使更多計算機軟件愛好者走出迷茫與彷徨,讓每一個有志于IT事業(yè)的人都能完成向軟件工程師的轉變。,系列叢書緊隨人類認知發(fā)展,從零開始,配合該領域相關知識,讓每一位讀者都能在動手實踐的同時獲得成功的喜悅。,本書以實際項目為原型,以關鍵的理論與豐富的實踐為指導,貫徹先進的項目管理理念與全程質量管理思想,并且列舉大量的典型實例,讓讀者看懂與體會各種技術,并能使用這些技術自己去實踐。,書籍官網:,追尋夢想的力量!,軟件測試方法與技術實踐指南 ASP.NET篇(第3版),隨著軟件技術的發(fā)展,軟件的質量越來越受到人們的重視。近年來,軟件測試工程師的職位越來越受到軟件企業(yè)的重視,人們也在不斷的探索軟件測試的技術與技巧。,眾所周知,軟件測試工程師最主要的職責是盡可能多的發(fā)現產品中存在的缺陷,從而保證軟件產品發(fā)布的質量。如果你是一個經驗豐富的測試工程師,你會很容易發(fā)現產品中存在的缺陷;如果你是新手,產品中的缺陷呈現在你的面前,你也可能發(fā)現不了,這就是差別,這也是為什么很多公司在招聘人才時,特別強調要有相關工作經驗。作為新手必須不斷的積累經驗來武裝自己,這就需要一本能夠貼近實際工作的書籍來指導我們在工作之前,就能掌握實際工作中所需要的經驗。相信這本書,就是你想要的。,追尋夢想的力量!,通過本書,我能學到什么,追尋夢想的力量!,(1)軟件測試工程師必備的核心理論知識,(2)軟件測試工程師如何成長與發(fā)展,(3)軟件測試工程師在一個軟件公司的日常核心工作,(4)軟件測試工程師在一個軟件項目各階段所要從事的工作,(5)軟件測試計劃的制定,(6)軟件測試用例的編寫,(7)軟件項目各部門相互協(xié)作,(8)執(zhí)行測試案例并報告缺陷,(9)產品發(fā)布前ER Report的編寫,(10)Web測試專題技術分享,(11)Client測試專題技術分享,(12)Mobile測試專題技術分享,(13)國際化本地化測試專題技術分享,(14)跨平臺跨瀏覽器專題技術分享,(15)Web安全測試專題技術分享,(16)敏捷測試專題技術分享,(17)軟件自動化測試專題技術分享,(18)壓力與性能測試專題技術分享,(19)師生如何動手實踐,(20)軟件測試領域常見英文與中文對照描述,(21)軟件測試工程師常見面試題及回答技巧,第三篇軟件測試領域9大專題技術分享,4,第11章:Web測試專題技術分享,第12章:Client測試專題技術分享,第13章:Mobile測試專題技術分享,第14章:國際化本地化測試專題技術分享,第15章:跨平臺跨瀏覽器專題技術分享,第16章:Web安全測試技術專題分享,第17章:敏捷測試專題技術分享,第18章:軟件自動化測試專題技術分享,第19章:壓力與性能測試專題技術分享,第19章 軟件自動化測試,【本章重點】,什么是壓力測試和性能測試;,如何設計壓力、性能測試用例;,通過“大學圖書管理系統(tǒng)”的實例來介紹如何設計自動化的壓力、性能測試腳本,以及對測試結果的簡單分析;,什么是壓力、性能測試,性能在軟件質量中起著至關重要的作用,例如,淘寶的在線支付、IM客戶端、鐵路網絡購票系統(tǒng)等,對他們來說性能甚至比功能更加重要。,第19章 軟件自動化測試,下面一段對話可以幫助對性能測試的重要性有初步的了解。,Jack是某產品的負責人、Bob是測試工程師經理。,Jack接到了一個新的項目:“大學圖書管理系統(tǒng)”,并在與客戶的討論后,得到了客戶對性能的要求。Bob根據Jack提出的需求,設計了相應的性能和壓力測試用例。,什么是壓力、性能測試,Jack提出需求:,系統(tǒng)支持的最大并發(fā)登錄人數。,Bob設計用例:,壓力測試:50人并發(fā),100人并發(fā),500人并發(fā),1,000人并發(fā) 獲得最大支持的并發(fā)登錄人數。,Jack提出需求:,登錄時間不超過3s,Bob設計用例:,性能測試:登錄時間3s.,Jack提出需求:,圖書查詢時間不超過3s,Bob設計用例:,性能測試:,1)查詢響應時間“Add”“Logic Controller”“Loop Controller”添加一個“Loop Controller”,(見圖19-5),。,(2)配置Loop Controller,“Loop count”可以設置循環(huán)的次數。假如“Loop count”后的“Forever”被選上,就會一直循環(huán),(見圖19-6),。,(3)拖動“AddBook”請求至新添加的Loop Controller,松開鼠標,在彈出的菜單內選擇“Add As Child”;或則右鍵點擊“AddBook”請求,選擇“cut”,然后鼠標點擊Loop Controller,選擇“Paste”。,見圖19-7和19-8,)。,單線程添加多個用戶,圖19-5 添加Loop Controller,圖19-6 Loop Controller,圖19-7 Add as Child,圖19-8 Cut&Paste,2.Counter,第19章 軟件自動化測試,Counter,允許用戶設置最小數、最大數、步長。在使用者,從最小數開始,每次循環(huán)增加一個步長,直到循環(huán)結束。當循環(huán)次數大于最大數時,counter將不再增加。,(1)右鍵點擊“Loop Controller”-“Add”-“Config Element”-“Counter”,添加一個counter(,見圖19-9,)。,(2)配置Counter,在新添加100本圖書的實例中,可以設置最小值=1,最大值=100,步長=1,變量名=count:即Start=1,Increment=1,Maximum=100;Reference Name=count(,見圖19-10,)。,單線程添加多個用戶,圖19-9添加counter,圖19-10 設置Counter,2.Counter(續(xù)),第19章 軟件自動化測試,(3)修改“AddBook”請求的參數(如表19-3所示),以保證能添加100本圖書。(,見圖19-11,),(4)根據HTTPAnalyzer抓取的delete book的請求,當刪除多本圖書的時候,每次刪除的_EVENTVALIDATION值都不一樣。所以這里采用直接從數據庫刪除數據來清理測試的數據(,見圖19-12和19-13,)。,單線程添加多個用戶,19-11 修改“AddBook”請求,圖19-12 JDBC鏈接配置,圖19-13 刪除圖書的JDBC請求,2.Counter(續(xù)),第19章 軟件自動化測試,(5)調試JMeter腳本。如前文所說通過Disable/Enable“AddBook”和“delete books”請求來調試JMeter腳本,查看Loop Controller是否正常工作。,(a)Disable“delete books”,Enable“AddBook”,(,見圖19-14,19-15,),(b)Disable“AddBook”,Enable“delete books”,(,見圖19-16,19-17,),單線程添加多個用戶,根據JMeter運行結果和在“大學圖書管理系統(tǒng)”內的實際結果,可知添加100新圖書的腳本工作正常。假如需要經常修改用戶,也可以把count的Maxmium,和Loop Controller的Loop Count設置成變量,放在User Parameters內。,第19章 軟件自動化測試,單線程添加多個用戶,多線程可以通過并發(fā)添加用戶,通常可以使用CSV Data Set Config內配置的文件內容作為添加的用戶信息。,第19章 軟件自動化測試,多線程添加多個用戶,(1)使用Excel或則記事本創(chuàng)建user.csv文件,并且添加10條用戶信息,保存文件。,(2)創(chuàng)建一個新的JMeter文件(與book.csv在同一目錄下):Add Book_PF_Threads.jmx,使用創(chuàng)建單個圖書的各配置,添加一個新的CSV Data Set Config:,Name:User CSV Data Set Config,Filename:book.csv,Variable Names:bnumber,bname,bstatus,bauthor,bpublish,其他:默認值(,見圖9-19,),圖19-19 User CSV Data Set Config,第19章 軟件自動化測試,多線程添加多個用戶,(3)添加一個Thread Group,在Thread Group下添加Login和Add Book的HTTP request(,見圖19-20,)。,(4)配置Thread Group:Loop count:10(,見圖19-21,)。,(5)保存腳本,執(zhí)行腳本(執(zhí)行結果見,圖19-22和19-23,)。,圖19-20 Add Book request,圖19-21配置ThreadGroup,圖19-22JMeter運行結果,圖19-23“大學圖書管理系統(tǒng)”結果,Aggregate report以表格的形式對每個不同的請求生成一條report。它可做分析多線程內各請求的性能。,第19章 軟件自動化測試,生成測試報告,生成測試報告:,(1)右鍵點擊“Test Plan”-“Add”-“Listener”-“Aggregate Report”,添加一條“Aggregate Report”(,見圖19-23,)。,(2)刪除圖書,執(zhí)行JMeter腳本,查看Aggregate Report。(,見圖19-24,)。,由運行結果,可以看到所有運行請求的平均運行時間、最短運行時間、最長運行時間等等。,圖19-23添加Aggregate Report,圖19-24Aggregate Report,分析測試報告是至關重要的一環(huán),分析結果應該直接、清晰的反應被測試內容的性能。因此,分析報告內除了提供測試所得各項數據外,更重要的是提供各種的性能比較圖,這可以使被測試內容的性能一目了然。,第19章 軟件自動化測試,分析測試報告,下面以“大學圖書管理系統(tǒng)”的并發(fā)添加圖書為例(見教材19.4.2)。,言若金葉軟件研究中心可供師生練習軟件測試的在線應用,追尋夢想的力量!,1).言若金葉軟件研究中心官網,與備份網,2).諾頎軟件論壇,與備份網,3).諾頎軟件測試團隊,4).言若金葉精品軟件著作展示官網,5).言若金葉全國軟件工程師培訓官網,6).言若金葉全國軟件工程師認證官網,7).言若金葉自主軟件研發(fā):全球知識合作在線跟蹤系統(tǒng),8).城市空間 Oricity,9).諾頎軟件 Roqisoft,10).諾頎電子雜志,