




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第7章基礎(chǔ)應(yīng)用軟件開發(fā)測試應(yīng)用軟件移植軟件測試軟件測試隨著科技越來越發(fā)達(dá),軟件行業(yè)不再是一家獨(dú)大的境況,不再是研發(fā)一個軟件出來,即使軟件問題百出、功能簡陋、功能不完善,也能推向市場,并獲得追捧?,F(xiàn)如今,軟件要在市場中占一席之地,需以質(zhì)量取勝。在軟件行業(yè)中,因為質(zhì)量越來越受到重視,于是誕生了軟件測試這個行業(yè)。軟件測試簡介為了保證軟件的質(zhì)量和可靠性,應(yīng)力求在分析、設(shè)計等各個開發(fā)階段結(jié)束前,對軟件進(jìn)行嚴(yán)格技術(shù)評審。但由于人們能力的局限性,不僅在審查時難以發(fā)現(xiàn)所有的錯誤,而且在編碼階段還可能會出現(xiàn)大量的錯誤,這些錯誤和缺陷若遺留到軟件交付投入運(yùn)行之時,終將會暴露出來。軟件交付時改正這些錯誤的代價非常高,往往會造成很惡劣的后果。因此,在產(chǎn)品開發(fā)過程中,應(yīng)同時伴隨著對開發(fā)技術(shù)的審查,及時對開發(fā)技術(shù)中可能存在的問題進(jìn)行檢測,即軟件測試。軟件測試簡介軟件測試是在軟件投入運(yùn)行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。因此,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,即在規(guī)定的條件下對程序進(jìn)行操作,以發(fā)現(xiàn)程序錯誤和衡量軟件質(zhì)量,并對程序是否能滿足設(shè)計需求進(jìn)行評估的過程。軟件測試也可以理解為使用人工或自動的手段來運(yùn)行或測定某個軟件系統(tǒng)的過程,以檢驗軟件是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。軟件測試簡介——軟件測試的目的基于不同的立場,存在著兩種完全不同的測試目的。用戶的角度希望通過軟件測試暴露出軟件中隱藏的錯誤和缺陷,以考慮是否可以接受該產(chǎn)品。從軟件開發(fā)者的角度希望軟件測試成為表明軟件產(chǎn)品中不存在錯誤的過程,驗證該軟件已正確地實現(xiàn)了用戶的要求,確立用戶對軟件質(zhì)量的信心。軟件測試簡介——軟件測試的目的因為在程序中往往存在著許多預(yù)料不到的問題被疏漏,許多隱藏的錯誤只有在特定的環(huán)境下才可能暴露出來的情況。若測試的重點(diǎn)不是以盡可能查找錯誤為基礎(chǔ),則這些隱藏的錯誤和缺陷很難被查出來,而且將會遺留到運(yùn)行階段中。如果站在用戶的角度進(jìn)行設(shè)想,那么應(yīng)當(dāng)把測試活動的目標(biāo)對準(zhǔn)揭露程序中存在的錯誤。在選取測試用例時,考慮易于發(fā)現(xiàn)程序錯誤的數(shù)據(jù)。所以在進(jìn)行軟件測試活動之前,明確測試的目的是非常重要的。軟件測試簡介——軟件測試的目的軟件測試的目的測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。通過設(shè)計合理的測試方案發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤。軟件測試簡介——軟件測試的目的測試的定義是“為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程”,這與通常所說的“測試是為了表明程序是正確的”“成功的測試是沒有發(fā)現(xiàn)錯誤的測試”等觀點(diǎn)是完全相反的。正確認(rèn)識測試的目標(biāo)是十分重要的,測試目標(biāo)決定了測試方案的設(shè)計。如果為了表明程序是正確的而進(jìn)行測試,那么會設(shè)計一些不易暴露錯誤的測試方案;相反,如果測試是為了發(fā)現(xiàn)程序中的錯誤,那么會力求設(shè)計出最能暴露錯誤的測試方案。由于測試的目標(biāo)是暴露程序中的錯誤,且從心理學(xué)角度分析,由程序的編寫者自己進(jìn)行測試是不恰當(dāng)?shù)?,所以在綜合測試階段通常由其他人員組成測試小組來完成測試工作。軟件測試簡介——軟件測試的分類軟件測試的測試類型按照不同的方向劃分,常見的測試類型是功能測試、性能測試和自動化測試,其中功能測試是主要的測試類型。軟件測試簡介——軟件測試的分類功能測試功能測試是根據(jù)產(chǎn)品特性、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為,以確定產(chǎn)品滿足設(shè)計需求。本地化軟件的功能測試,用于驗證應(yīng)用程序或網(wǎng)站對目標(biāo)用戶能正確工作。使用適當(dāng)?shù)钠脚_、瀏覽器和測試腳本進(jìn)行測試時,需要保證目標(biāo)用戶的體驗足夠好。功能測試是為了使程序以期望的方式運(yùn)行并按功能要求對軟件進(jìn)行的測試,通過對系統(tǒng)所有的特性和功能進(jìn)行測試以確保符合需求和規(guī)范。功能測試也叫數(shù)據(jù)驅(qū)動測試,只需考慮需要測試的各個功能,不需要考慮整個軟件的內(nèi)部結(jié)構(gòu)及代碼。一般從軟件產(chǎn)品的界面、架構(gòu)出發(fā),按照需求編寫出來的測試用例,輸入數(shù)據(jù)在預(yù)期結(jié)果和實際結(jié)果之間進(jìn)行評測,進(jìn)而提出更能使產(chǎn)品達(dá)到用戶使用的要求。軟件測試簡介——軟件測試的分類功能測試——界面測試(簡稱UI測試):界面測試主要內(nèi)容包括測試用戶界面的功能模塊的布局是否合理、整體風(fēng)格是否一致、各個控件的放置位置是否符合客戶使用習(xí)慣。還要測試界面操作便捷性、導(dǎo)航簡單易懂性、頁面元素的可用性、界面中文字是否正確、命名是否統(tǒng)一、頁面是否美觀、文字和圖片組合是否完美等。功能測試——業(yè)務(wù)邏輯測試:業(yè)務(wù)邏輯測試的側(cè)重點(diǎn)在業(yè)務(wù)流程上,在基本的功能點(diǎn)都已測試通過的基礎(chǔ)上,準(zhǔn)備并組合多種測試數(shù)據(jù),驅(qū)動或輔助各種約束條件下的業(yè)務(wù)流程,確定最終輸出的結(jié)果是否符合預(yù)期,業(yè)務(wù)測試多數(shù)要結(jié)合實際業(yè)務(wù)邏輯。軟件測試簡介——軟件測試的分類功能測試——兼容性測試:兼容性測試包括軟件本身的兼容性、平臺兼容性、設(shè)備兼容性、其他軟件兼容性等測試。軟件本身的兼容性,是指對歷史版本的數(shù)據(jù)、功能等進(jìn)行兼容。平臺兼容性是指不同平臺下的兼容,因為軟件可能運(yùn)行在多個平臺上,所以在這些平臺上都需要進(jìn)行驗證。設(shè)備兼容性是指軟件對運(yùn)行設(shè)備的兼容性,如有多種手機(jī)設(shè)備運(yùn)行Android系統(tǒng)。其他軟件兼容性是指軟件與一些主流的軟件運(yùn)行是否兼容,如一個軟件和微信不兼容,那就會減少大量的用戶。軟件測試簡介——軟件測試的分類功能測試——易用性測試:易用性測試,顧名思義就是產(chǎn)品是否易操作、易理解、使用方便等。易用性測試是完全站在用戶的角度進(jìn)行的測試。功能測試——安全性測試:安全性測試是對產(chǎn)品進(jìn)行檢驗以驗證產(chǎn)品符合安全需求定義和產(chǎn)品質(zhì)量標(biāo)準(zhǔn)的過程。特別是一些安全要求較高的產(chǎn)品,如登錄、注冊功能等,是安全性測試關(guān)注的重點(diǎn)。功能測試——安裝測試:安裝測試主要內(nèi)容包括軟件安裝,軟件卸載和軟件版本升級3個方面。軟件測試簡介——軟件測試的分類安裝測試主要內(nèi)容表:測試內(nèi)容具體內(nèi)容軟件安裝測試軟件在不同操作系統(tǒng)下安裝的過程軟件安裝后是否能夠正常運(yùn)行,安裝后的文件夾以及文件是否到了指定的目錄軟件安裝各個設(shè)置選項的組合是否符合軟件概要設(shè)計說明軟件安裝向?qū)У腢I測試軟件安裝過程是否可以取消,單擊“取消”按鈕后,寫入的文件是否如概要設(shè)計說明進(jìn)行處理軟件安裝過程中意外情況的處理是否符合需求設(shè)計,意外情況如死機(jī)、重啟、斷電等安裝過程是否可以回溯,即是否可以單擊上一步重新選擇軟件測試簡介——軟件測試的分類安裝測試主要內(nèi)容表:測試內(nèi)容具體內(nèi)容軟件卸載測試直接卸載安裝文件夾,卸載的提示是否與概要設(shè)計說明一致使用系統(tǒng)自帶的卸載功能卸載程序的情況,如Windows7系統(tǒng)等使用軟件本身自帶的卸載功能,卸載軟件是否成功軟件卸載后文件是否全部刪除,包括安裝文件夾、注冊表、系統(tǒng)環(huán)境變量卸載過程中出現(xiàn)意外情況,如死機(jī)、斷電、重啟的處理方法卸載是否支持取消功能,單擊“取消”按鈕后軟件卸載的情況軟件自帶卸載功能的UI測試如果軟件有調(diào)用系統(tǒng)文件,當(dāng)卸載文件時,是否有相應(yīng)的提示軟件測試簡介——軟件測試的分類安裝測試主要內(nèi)容表:測試內(nèi)容具體內(nèi)容軟件版本升級測試軟件升級后的功能是否與需求說明一致與升級模塊相關(guān)聯(lián)的模塊功能是否與需求一致升級安裝意外情況的測試,如死機(jī)、斷電、重啟等情況升級界面的UI測試不同系統(tǒng)間的升級測試。如Windows7、Windows10等系統(tǒng)軟件測試簡介——軟件測試的分類性能測試性能測試是指驗證軟件的性能可以滿足系統(tǒng)規(guī)格給定的指定要求的性能指標(biāo)。性能測試通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試。性能測試要求測試人員考慮軟件系統(tǒng)全面的性能,包括用戶、開發(fā)、管理員等各個視角的性能。測試人員在做性能測試時除需要關(guān)注系統(tǒng)表面的現(xiàn)象之外,如響應(yīng)時間,還需要關(guān)注系統(tǒng)本質(zhì),如服務(wù)器資源利用率,架構(gòu)設(shè)計是否合理,代碼是否合理等方面。軟件測試簡介——軟件測試的分類性能測試的應(yīng)用主要分為3個方面。應(yīng)用在客戶端其目的是考察客戶端應(yīng)用的性能,測試的入口是客戶端。應(yīng)用在客戶端性能的測試主要包括并發(fā)測試、負(fù)載測試、壓力測試、穩(wěn)定性測試、大數(shù)據(jù)量測試和速度測試等。其中并發(fā)測試是重點(diǎn)。應(yīng)用在網(wǎng)絡(luò)其重點(diǎn)是利用成熟先進(jìn)的自動化技術(shù)進(jìn)行網(wǎng)絡(luò)應(yīng)用性能監(jiān)控、網(wǎng)絡(luò)應(yīng)用性能分析和網(wǎng)絡(luò)預(yù)測。應(yīng)用在服務(wù)器其可以采用工具監(jiān)控,也可以使用系統(tǒng)本身的監(jiān)控命令。應(yīng)用在服務(wù)器上性能的測試的目的是實現(xiàn)服務(wù)器設(shè)備、服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、應(yīng)用在服務(wù)器上性能的全面監(jiān)控。軟件測試簡介——軟件測試的分類性能測試——并發(fā)測試并發(fā)測試的過程是一個負(fù)載測試和壓力測試的過程,即逐漸增加負(fù)載,直到系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),通過綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來確定系統(tǒng)并發(fā)性能的過程。并發(fā)測試的目的主要體現(xiàn)在以下3個方面:以真實的業(yè)務(wù)為依據(jù),選擇有代表性的、關(guān)鍵的業(yè)務(wù)操作設(shè)計測試案例,以評價系統(tǒng)的當(dāng)前性能。當(dāng)擴(kuò)展應(yīng)用程序的功能或者新的應(yīng)用程序?qū)⒁徊渴饡r,并發(fā)測試會幫助確定系統(tǒng)是否還能夠處理期望的用戶負(fù)載,以預(yù)測系統(tǒng)的未來性能。通過模擬成百上千個用戶,重復(fù)執(zhí)行和運(yùn)行測試,確認(rèn)性能瓶頸并優(yōu)化和調(diào)整應(yīng)用,以尋找到瓶頸問題。軟件測試簡介——軟件測試的分類性能測試——壓力測試壓力測試就是測試出系統(tǒng)所能承受的最大極限。即所測試的系統(tǒng)在何種性能壓力下會導(dǎo)致失效,無法正常運(yùn)行。也可以理解為壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。軟件測試簡介——軟件測試的分類性能測試——負(fù)載測試負(fù)載測試是確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時,系統(tǒng)組成部分的相應(yīng)輸出項,例如,通過量、響應(yīng)時間、CPU負(fù)載、內(nèi)存使用等來決定系統(tǒng)的性能。也可以理解為負(fù)載測試是一個分析軟件應(yīng)用程序和支撐架構(gòu),是通過模擬真實環(huán)境的使用,從而確定能夠接收的性能的過程。負(fù)載測試的目的是確定系統(tǒng)在正常指標(biāo)下的最大負(fù)載,即在測試過程中逐步地增加負(fù)載,并記錄被測系統(tǒng)響應(yīng)的性能表現(xiàn),最終確認(rèn)出系統(tǒng)在正常指標(biāo)下最大的負(fù)載。軟件測試簡介——軟件測試的分類性能測試——穩(wěn)定性測試穩(wěn)定性測試一般是對系統(tǒng)施加稍大于使用人數(shù)的一個壓力環(huán)境,對系統(tǒng)進(jìn)行的一個持續(xù)的、長時間的測試,如連續(xù)3天施加壓力,確定系統(tǒng)在較長運(yùn)行時間的情況下,系統(tǒng)的穩(wěn)定性情況。性能測試——配置測試配置測試是通過調(diào)整軟硬件環(huán)境,測試不同環(huán)境下系統(tǒng)性能指標(biāo)的情況,從而找到系統(tǒng)的最優(yōu)配置。異?;謴?fù)測試(失效恢復(fù)測試)異?;謴?fù)測試(失效恢復(fù)測試)是用于測試系統(tǒng)失效后是否有措施恢復(fù)以及是否能夠按指定的策略進(jìn)行恢復(fù)。軟件測試簡介——軟件測試的分類性能測試——容量測試容量測試是確定系統(tǒng)最大承受量,如系統(tǒng)最大用戶數(shù)、最大存儲量、最多處理的數(shù)據(jù)流量等。容量測試還可以理解為找出系統(tǒng)性能指標(biāo)中一個特定環(huán)境下的一個特定性能指標(biāo),即設(shè)定的界限或極限值。容量測試的目的是測試預(yù)先分析出反映軟件系統(tǒng)應(yīng)用特征的某項指標(biāo)的極限值,如最大并發(fā)用戶數(shù)、數(shù)據(jù)庫記錄數(shù)等,系統(tǒng)在其極限狀態(tài)下沒有出現(xiàn)任何軟件故障或還能保持主要功能正常運(yùn)行。容量測試還將確定測試對象在給定時間內(nèi)能夠持續(xù)處理的最大負(fù)載或工作量。軟件測試簡介——軟件測試的分類性能測試——可靠性測試可靠性測試就是為了評估產(chǎn)品在規(guī)定的壽命期間內(nèi),在預(yù)期的使用、運(yùn)輸或儲存等所有環(huán)境下,保持功能可靠性而進(jìn)行的活動??煽啃詼y試通過將產(chǎn)品暴露在自然的或人工的環(huán)境條件下經(jīng)受其作用,以評價產(chǎn)品在實際使用、運(yùn)輸和儲存的環(huán)境條件下的性能,并分析研究環(huán)境因素的影響程度及其作用機(jī)理。通過使用各種環(huán)境試驗設(shè)備模擬氣候環(huán)境中的高溫、低溫以及高濕度等情況,加速反映產(chǎn)品在使用環(huán)境中的狀況,來驗證產(chǎn)品是否達(dá)到在研發(fā)、設(shè)計、制造中預(yù)期的質(zhì)量目標(biāo),從而對產(chǎn)品整體進(jìn)行評估,以確定產(chǎn)品可靠性壽命。軟件測試簡介——軟件測試的分類其他測試類型——回歸測試回歸測試是指修改了舊代碼后,重新進(jìn)行測試以確認(rèn)修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤。自動回歸測試將大幅降低系統(tǒng)測試、維護(hù)升級等階段的成本?;貧w測試作為軟件生命周期的一個組成部分,在整個軟件測試過程中占有很大的工作量比重,軟件開發(fā)的各個階段都會進(jìn)行多次回歸測試。因為在漸進(jìn)和快速迭代開發(fā)中,新版本的連續(xù)發(fā)布使回歸測試進(jìn)行得更加頻繁,而在極端編程方法中,更是要求每天都進(jìn)行若干次回歸測試,所以通過選擇正確的回歸測試策略來改進(jìn)回歸測試的效率和有效性是很有意義的。軟件測試簡介——軟件測試的分類其他測試類型——回歸測試提到回歸測試會很容易想到冒煙測試,因為兩者有許多相似之處。冒煙測試是在軟件開發(fā)過程中的一種針對軟件版本包的快速基本功能驗證策略,是對軟件基本功能進(jìn)行確認(rèn)驗證的手段,并非對軟件版本包的深入測試。冒煙測試也是針對軟件版本包進(jìn)行詳細(xì)測試之前的預(yù)測試,執(zhí)行冒煙測試的主要目的是快速驗證軟件基本功能是否有缺陷。軟件測試簡介——軟件測試的分類其他測試類型——隨機(jī)測試隨機(jī)測試是根據(jù)測試說明書執(zhí)行用例測試的重要補(bǔ)充手段,是保證測試覆蓋完整性的有效方式和過程。隨機(jī)測試主要是對被測軟件的一些重要功能進(jìn)行復(fù)測,也包含測試當(dāng)前測試用例沒有覆蓋到的部分。此外,對于軟件更新和新增加的功能需要重點(diǎn)測試。重點(diǎn)對以前測試發(fā)現(xiàn)的重大bug進(jìn)行復(fù)測。軟件測試簡介——軟件測試的分類其他測試類型——部署測試部署測試用于確保軟件在正常情況和異常情況的不同條件下都能進(jìn)行安裝。正常情況包括首次安裝、升級、自定義安裝,異常情況包括空間不足、缺少目錄創(chuàng)建權(quán)限、安裝過程中關(guān)機(jī)重啟等。部署測試與安裝測試很容易混淆,它們的區(qū)別在于部署測試通常說的是Web端的應(yīng)用程序,而安裝測試一般指的是App端的應(yīng)用程序。軟件測試簡介——軟件測試的分類其他測試類型——文檔測試:文檔測試用于檢驗樣品用戶文檔的完整性、正確性、一致性、易理解性和易瀏覽性,包括用戶手冊、使用說明和用戶幫助文檔等。其他測試類型——體驗測試:體驗測試是測試人員在將產(chǎn)品交付客戶之前站在用戶角度進(jìn)行的一系列體驗使用,如界面是否友好,美觀、操作是否流暢、功能是否達(dá)到用戶使用要求等。體驗測試的目的是判定產(chǎn)品是否能讓用戶快速地接受和使用,或更直觀的說法是驗證產(chǎn)品是否會不符合用戶的習(xí)慣,甚至讓用戶對產(chǎn)品產(chǎn)生抗拒。軟件測試簡介——軟件測試流程軟件測試在軟件生命周期中橫跨兩個階段。第一個階段:編碼與單元測試。第二個階段:對軟件系統(tǒng)還需要進(jìn)行各種綜合測試。軟件生命周期即軟件從需求的分析、結(jié)構(gòu)圖的設(shè)計、編碼的實現(xiàn)到程序的測試、系統(tǒng)的維護(hù)、版本升級,直到軟件的廢棄的過程。軟件測試簡介——軟件測試流程測試階段也有類似軟件生命周期一樣的流程規(guī)范,軟件測試常用的流程圖如下:需求分析與評審測試計劃于方案測試用例測試環(huán)境搭建測試執(zhí)行缺陷管理風(fēng)險控制測試報告軟件測試簡介——軟件測試流程測試階段的流程介紹——需求分析與評審需求分析與評審即分析客戶的需求是否可行,并確定需要怎么進(jìn)行測試的過程。測試介入階段一般從需求分析開始,需求分析階段是整個軟件生命周期關(guān)鍵的一環(huán)。在此階段,產(chǎn)品、研發(fā)、測試三方對產(chǎn)品需求理解應(yīng)做到一致。因此,需求評審會顯得尤其重要。一般會先進(jìn)行一次需求評審,如果有異議的或不確定的點(diǎn),產(chǎn)品需要進(jìn)一步修改,并周知產(chǎn)品、開發(fā)人員或再次進(jìn)行需求評審。在需求階段需要產(chǎn)出需求文檔規(guī)格書、產(chǎn)品原型圖和詳細(xì)設(shè)計說明書等。同時,在此階段要求測試人員做到專業(yè),在每個環(huán)節(jié)都嚴(yán)格把控,保證項目整體的質(zhì)量。軟件測試簡介——軟件測試流程測試階段的流程介紹——測試計劃與方案測試計劃大多由測試組長編寫,主要包含測試目標(biāo)、測試資源、測試策略、測試需求(如功能、接口、自動化、性能、安全、兼容性等)、測試進(jìn)度計劃。此外,還需要根據(jù)項目總體排期表,制定出測試排期與人員安排計劃。測試方案為具體實施的方案,主要包含測試需求細(xì)化、自動化測試設(shè)計、性能場景抽離、測試數(shù)據(jù)和測試腳本、測試用例設(shè)計等。軟件測試簡介——軟件測試流程測試階段的流程介紹——測試用例測試用例即將需求細(xì)化為用戶操作的、具體的功能點(diǎn)。測試用例內(nèi)容包括測試編號ID、功能模塊、操作步驟、預(yù)期結(jié)果和實際結(jié)果這5個部分。測試階段的流程介紹——測試環(huán)境搭建根據(jù)開發(fā)人員提供的部署文檔搭建軟件系統(tǒng)測試環(huán)境,若部署文檔存在問題,應(yīng)及時與開發(fā)人員溝通解決,并及時修改部署文檔中存在的問題。測試階段的流程介紹——測試執(zhí)行根據(jù)前面制定的測試方案、測試用例和操作手冊模擬用戶操作軟件系統(tǒng)。軟件測試簡介——軟件測試流程測試階段的流程介紹——缺陷管理對于缺陷管理,每個公司都有自己的管理平臺。合理地管理缺陷、分析缺陷不僅可以提高產(chǎn)品質(zhì)量,還可以提高工作效率。缺陷管理的書寫規(guī)范和分析方法:
缺陷的書寫規(guī)范:書寫規(guī)范包括命名、步驟描述信息、軟件版本信息、缺陷嚴(yán)重程度、缺陷類型、附件(缺陷復(fù)現(xiàn)步驟截圖、錯誤日志文件),盡量做到簡單地描述一個缺陷。
缺陷的分析過程:包括缺陷的跟蹤和缺陷的定位與分析:缺陷的跟蹤,即一個缺陷的生命周期分為幾個狀態(tài),還可能變更修復(fù)人、驗證人等信息,及時跟蹤并做好缺陷留言,以免遺漏;缺陷的定位與分析,即測試人員應(yīng)盡可能地發(fā)現(xiàn)問題,并試著去定位問題,總結(jié)問題。一個項目結(jié)束,缺陷分析是必不可少的,包含bug嚴(yán)重等級分布圖、版本與bug數(shù)量趨勢圖、模塊bug占比圖、缺陷類型圖等,可以從多個角度分析缺陷的產(chǎn)生原因并如何去減少缺陷的產(chǎn)生數(shù)量。
缺陷管理的方法:建議測試人員自己做版本控制,如提測版本、提測腳本、提測范圍等,保證缺陷與版本的對應(yīng)關(guān)系,以免混亂。軟件測試簡介——軟件測試流程測試階段的流程介紹——風(fēng)險控制:大多數(shù)時候,軟件研發(fā)、測試等任務(wù)并不能按照預(yù)定的計劃如期完成,其中包括許多未知的風(fēng)險因素,如任務(wù)中遇到了某個難題花費(fèi)了大量時間而不能如期完成,或是因人員請假而沒有臨時可以代替的人員等。系統(tǒng)中可能也會因為某些依賴包,版本的微小差異而帶來風(fēng)險。軟件在研發(fā)、測試過程中風(fēng)險因素的控制方法:
測試需求確認(rèn)后,盡可能拿到項目排期,明確提測時間點(diǎn)、提測范圍、上線時間點(diǎn)等,如果遇到變更才能及時調(diào)整。
需求、設(shè)計中途變更,為了工期壓縮研發(fā)時間與測試時間,此時風(fēng)險很高,研發(fā)代碼質(zhì)量差頻發(fā),測試耗時耗力,需要提前預(yù)警。軟件測試簡介——軟件測試流程測試階段的流程介紹——風(fēng)險控制:軟件在研發(fā)、測試過程中可能帶來風(fēng)險的因素以及控制方法:
提測時間點(diǎn)推遲,應(yīng)提前和項目經(jīng)理溝通,增加測試人力或延長測試時間,保證測試的質(zhì)
量。
研發(fā)人員不進(jìn)行冒煙測試,在測試人員提測階段發(fā)現(xiàn)問題后,軟件需要重新發(fā)布,這樣會浪費(fèi)大量的時間,因此,研發(fā)人員應(yīng)與項目經(jīng)理溝通,保證冒煙測試的通過才可以提測,測試人員可提供冒煙測試用例。
研發(fā)人員技術(shù)參差不齊,應(yīng)先測試新人研發(fā)的模塊或研發(fā)質(zhì)量差的模塊,爭取更多的修復(fù)缺陷時間。
測試環(huán)境變更,有些項目需要特定的環(huán)境,測試環(huán)境與生產(chǎn)環(huán)境存在差異,導(dǎo)致上線后問題頻發(fā),所以要確認(rèn)測試環(huán)境與生產(chǎn)環(huán)境的一致。
測試人員技術(shù)水平不同,對于質(zhì)量的把控與產(chǎn)品理解不到位,造成測試標(biāo)準(zhǔn)的誤差。軟件測試簡介——軟件測試流程測試階段的流程介紹——測試報告:一個項目測試結(jié)束,需要編寫測試報告。測試報告涉及測試環(huán)境信息、測試數(shù)據(jù)備份、測試項目總結(jié)、測試范圍列表、bug整體的分析與統(tǒng)計等內(nèi)容,以及所測試的軟件版本是否有遺留bug,風(fēng)險點(diǎn)等。軟件測試簡介——內(nèi)容軟件測試主要工作內(nèi)容是驗證和確認(rèn),驗證是保證軟件正確地實現(xiàn)一些特定功能的一系列活動,即保證軟件做了用戶所期望的事情。確認(rèn)是一系列的活動和過程,目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性,即保證軟件以正確的方式來做了某事件。軟件測試簡介——內(nèi)容“確認(rèn)”的一些具體事項確定軟件生存周期中一個給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過程。程序正確性的形式證明,即采用形式理論證明程序符號設(shè)計規(guī)約規(guī)定的過程。評市、審查、測試、檢查、審計等各類活動,或?qū)δ承╉椞幚?、服?wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報告。軟件測試簡介——內(nèi)容軟件測試具體的工作事項1確定得到需求、功能設(shè)計、內(nèi)部設(shè)計說書和其他必要的文檔、進(jìn)度要求等。確定與項目有關(guān)的人員和他們的責(zé)任、對報告的要求、所需的標(biāo)準(zhǔn)和過程。(例如發(fā)行過程、變更過程等)確定應(yīng)用軟件的高風(fēng)險范圍,建立優(yōu)先級,確定測試所涉及的范圍和限制。確定測試的步驟和方法,包括部件、集成、功能、系統(tǒng)、負(fù)載、可用性等各種測試。確定對測試環(huán)境的要求,包括硬件、軟件、通信等。確定所需的測試用具,包括記錄/回放工具、覆蓋分析工具、測試跟蹤工具、問題/錯誤跟蹤工具等。軟件測試簡介——內(nèi)容軟件測試具體的工作事項2確定對測試的輸入數(shù)據(jù)的要求。分配任務(wù)和任務(wù)負(fù)責(zé)人,以及所需的勞動力。設(shè)立大致的時間表、期限、和里程碑。確定輸入環(huán)境的類別、邊界值分析、錯誤類別。準(zhǔn)備測試計劃文件和對測試計劃進(jìn)行必要的回顧。準(zhǔn)備白盒測試案例。對測試案例進(jìn)行必要的回顧、調(diào)查、計劃。軟件測試簡介——內(nèi)容軟件測試具體的工作事項3備測試環(huán)境和測試用具,得到必需的用戶手冊、參考文件、結(jié)構(gòu)指南、安裝指南,建立測試跟蹤過程,建立日志和檔案、建立或得到測試輸入數(shù)據(jù)。得到部署文檔并安裝軟件版本以及進(jìn)行測試。評估和報告結(jié)果。跟蹤缺陷直到驗證通過。常用測試工具自動化測試工具包含多種,如Web自動化、手機(jī)自動化等。Web自動化測試工具主要有Selenium、QTP等。手機(jī)自動化測試工具主要有Robotium、Appium等。接口自動化測試工具主要有SoapUI、Postman等。性能自動化測試工具主要有LoadRunner、JMeter等。SeleniumRobotiumSoapUILoadRunner常用測試工具——性能測試工具主流的性能測試工具市面上流行的壓力/負(fù)載/性能測試工具大部分來自國外,近年來國內(nèi)的性能測試工具也如雨后春筍崛起。同時由于開發(fā)的目的和側(cè)重點(diǎn)不同,其功能也有很大差異,性能測試工具目前主流的有LoadRunner、JMeter、kylinTOP測試與監(jiān)控平臺、NeoLoad、WebLOAD、Loadster、Loadstorm、LoadImpact、locust等。常用測試工具——性能測試工具LoadRunner是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具,可以模擬上千萬用戶并發(fā)負(fù)載,并通過實時監(jiān)測系統(tǒng)性能的方式來確認(rèn)和查找問題。LoadRunner能夠?qū)φ麄€企業(yè)架構(gòu)進(jìn)行測試,通過使用LoadRunner可以使企業(yè)最大限度地縮短測試時間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。常用測試工具——性能測試工具LoadRunner主要分為3大功能組件,分別是腳本錄制、場景設(shè)計和結(jié)果分析。腳本錄制設(shè)置界面如下圖:
腳本錄制設(shè)置常用測試工具——性能測試工具腳本錄制設(shè)置中各功能的作用:應(yīng)用程序類型因為LoadRunner只支持Web端的應(yīng)用程序,并且在Windows7系統(tǒng)中運(yùn)行的兼容性最好,所以一般選擇“Win32應(yīng)用程序”。要錄制的程序這個功能實際上指的是需要調(diào)用的瀏覽器路徑,LoadRunner11目前最兼容的瀏覽器版本是Firefox24版本。但最好的辦法是采用LoadRunner12調(diào)用Chrome最新版錄制腳本,再將腳本導(dǎo)入LoadRunner11進(jìn)行調(diào)試,進(jìn)而進(jìn)行性能測試。程序參數(shù)這個功能的名稱命名很容易讓人產(chǎn)生誤解,其實它指的是所測試產(chǎn)品的后臺服務(wù)器ip。常用測試工具——性能測試工具腳本錄制設(shè)置中各功能的作用:工作目錄該功能是腳本文件的存放目錄,腳本文件最好是與所調(diào)用的瀏覽器存放在同一個硬盤中。這樣可以盡量減小因磁盤性能差異而引起的測試結(jié)果與實際結(jié)果的差距。錄制到操作這個功能一般默認(rèn)選擇Action即可,因為做性能測試關(guān)注的重點(diǎn)就是產(chǎn)品中某個或者多個用戶操作行為。錄制應(yīng)用程序啟動功能默認(rèn)勾選即可,勾選后單擊“確定”按鈕,便會自動打開瀏覽器,此時可以模擬用戶操作行為錄制需要測試的功能點(diǎn)的腳本。常用測試工具——性能測試工具在腳本調(diào)試好并運(yùn)行多次沒有報錯后,即可開始進(jìn)行Controller場景設(shè)計。當(dāng)VirtualUserGenerator(虛擬用戶生成器)腳本開發(fā)完成后,使用Controller設(shè)置并發(fā)數(shù)來運(yùn)行這個腳本,從而模擬大量用戶操作,形成負(fù)載。常用測試工具——性能測試工具使用LoadRunner管理場景主要分為場景設(shè)計和場景監(jiān)控。Controller場景設(shè)計常用測試工具——性能測試工具Controller場景設(shè)計的各種功能左上部分為vuser腳本列表。右上部分為服務(wù)協(xié)議。左下部分為設(shè)置方案。右下部分為方案顯示圖。Controller場景設(shè)計服務(wù)協(xié)議方案顯示圖設(shè)置方案vuser腳本列表常用測試工具——性能測試工具場景設(shè)計好后即可進(jìn)行場景監(jiān)控,LoadRunner自帶有監(jiān)控功能,但是由于某些版本的服務(wù)器系統(tǒng)并不兼容LoadRunner自帶的監(jiān)控功能,所以一般采用第三方監(jiān)控工具進(jìn)行系統(tǒng)資源的監(jiān)控。例如,監(jiān)控服務(wù)器系統(tǒng)資源可以使用nomn工具,Controller負(fù)載機(jī)所在的系統(tǒng),即Windows7系統(tǒng),可以使用自帶的監(jiān)控工具Perfmon進(jìn)行資源監(jiān)控。在設(shè)計好場景跑完并發(fā)任務(wù)后,即可根據(jù)監(jiān)控的數(shù)據(jù)結(jié)果進(jìn)行性能數(shù)據(jù)結(jié)果分析階段。該階段分析系統(tǒng)性能的依據(jù)便是性能指標(biāo)。常用測試工具——性能測試工具常用的性能指標(biāo)表:常用性能指標(biāo)性能指標(biāo)概述TransationSunmmary(事務(wù)綜述)對事務(wù)進(jìn)行綜合分析是性能分析的第一步,通過分析測試時間內(nèi)用戶事務(wù)的成功與失敗情況,可以直接判斷出系統(tǒng)是否運(yùn)行正常AverageTransacitonResponseTime(事務(wù)平均響應(yīng)時間)顯示的是測試場景運(yùn)行期間的事務(wù)執(zhí)行所用的平均時間,通過它可以分析測試場景運(yùn)行期間應(yīng)用系統(tǒng)的性能走向TransactionsperSecond(每秒通過事務(wù)數(shù),簡寫TPS)顯示在場景運(yùn)行的每一秒鐘,事務(wù)通過、失敗以及停止的數(shù)量,使考查系統(tǒng)性能的一個重要參數(shù)常用測試工具——性能測試工具常用的性能指標(biāo)表:常用性能指標(biāo)性能指標(biāo)概述TotalTransactionsperSecond(每秒通過事務(wù)總數(shù))顯示在場景運(yùn)行時,在每一秒內(nèi)通過的事務(wù)總數(shù)、失敗的事務(wù)總數(shù)以及停止的事務(wù)總數(shù)。該曲線走向和TPS曲線走向一致TransactionPerformanceSunmmary(事務(wù)性能摘要)顯示方案中所有事務(wù)的最小、最大和平均執(zhí)行時間,可以直接判斷響應(yīng)時間是否符合用戶的要求TransactionResponseTimeUnderLoad(事務(wù)響應(yīng)時間與負(fù)載)是“正在運(yùn)行的虛擬用戶”圖和“平均響應(yīng)事務(wù)時間”圖的組合,通過它可以看出在任一時間點(diǎn)事務(wù)響應(yīng)時間與用戶數(shù)目的關(guān)系,從而掌握系統(tǒng)在用戶并發(fā)方面的性能數(shù)據(jù),為擴(kuò)展用戶系統(tǒng)提供參考常用測試工具——性能測試工具常用的性能指標(biāo)表:常用性能指標(biāo)性能指標(biāo)概述TransactionResponseTime(Percentile)(事務(wù)響應(yīng)時間(百分比))是根據(jù)測試結(jié)果進(jìn)行分析而得到的綜合分析圖,也就是工具通過一些統(tǒng)計分析方法間接得到的圖表。通過它可以分析在給定事務(wù)響應(yīng)時間范圍內(nèi)能執(zhí)行的事務(wù)百分比TransactionResponseTime(Distribution)(事務(wù)響應(yīng)時間(分布))顯示在場景運(yùn)行過程中,事務(wù)執(zhí)行所用時間的分布,通過它可以了解測試過程中不同響應(yīng)時間的事務(wù)數(shù)量。如果系統(tǒng)預(yù)先定義了相關(guān)事務(wù)可以接受的最小和最大事務(wù)響應(yīng)時間,那么可以使用此圖確定服務(wù)器性能是否在可以接受的范圍內(nèi)常用測試工具——性能測試工具其他主流的測試工具——Jmeter:JMeter是一款開源免費(fèi)的壓測產(chǎn)品,最初被設(shè)計用于Web應(yīng)用功能測試使用,如今JMeter被國內(nèi)企業(yè)用于性能測試。對于Web服務(wù)器(支持瀏覽器訪問),不建議使用JMeter。因為JMeter的線程組都是線性執(zhí)行的,與瀏覽器的執(zhí)行原理相差很大,測試結(jié)果不具有參考性。對于純接口的部分場景(對接口調(diào)用順序無嚴(yán)格要求)測試可以使用,但是要注意使用技巧,才能達(dá)到理想結(jié)果。常用測試工具——性能測試工具其他主流的測試工具——kylinTOP:kylinTOP測試與監(jiān)控平臺是一款B/S架構(gòu)的跨平臺的集性能測試、自動化測試、業(yè)務(wù)監(jiān)控于一體的測試工具,是深圳奇林軟件有限公司旗下的一款產(chǎn)品,該工具開放10個免費(fèi)虛擬用戶可供學(xué)習(xí)和使用。kylinTOP的易用性較好,錄制腳本支持最新版本的瀏覽器,對谷歌和火狐都支持非常好。對一些https網(wǎng)站證書問題,kylinTOP已經(jīng)為用戶自動處理好,用戶可以輕松錄制。kylinTOP錄制過程高效便捷的優(yōu)點(diǎn)是其它性能工具無法比擬的。kylinTOP是目前最好的性能工具之一,可以做到完全仿真瀏覽器行為,即單用戶的HTTP請求瀑布圖可以與瀏覽器的完全一樣。常用測試工具——性能測試工具其他主流的測試工具——kylinTOP:總而言之,kylinTOP是目前國內(nèi)一款非常難得好用的性能測試工具,可以替代國外的同類產(chǎn)品。目前,kylinTOP在軍工領(lǐng)域、測評檢測機(jī)構(gòu)、國有企業(yè)、銀行體系、大型企業(yè)都有著廣泛的應(yīng)用。kylinTOP支持的協(xié)議較多,尤其在視頻領(lǐng)域支持的協(xié)議非常多,具有獨(dú)特的優(yōu)勢。常用測試工具——性能測試工具其他主流的測試工具——NeoLoad(商用版):NeoLoad(商用版)是Neotys出品的一種負(fù)載和性能測試工具,可真實地模擬用戶活動并監(jiān)視基礎(chǔ)架構(gòu)運(yùn)行狀態(tài),從而消除所有Web和移動應(yīng)用程序中的瓶頸。NeoLoad通過使用無腳本GUI和一系列自動化功能,可讓測試設(shè)計速度提高5~10倍,并將腳本維持時間在原始設(shè)計時間的10%,同時幫助用戶使用持續(xù)集成系統(tǒng)自動進(jìn)行測試。NeoLoad支持WebSocket、HTTP1/2、GWT、HTML5、AngularJS、OracleForms等技術(shù)協(xié)議,能夠監(jiān)控包括操作系統(tǒng)、應(yīng)用服務(wù)器、Web服務(wù)器、數(shù)據(jù)庫和網(wǎng)絡(luò)設(shè)備在內(nèi)的各種IT基礎(chǔ)設(shè)施,同時可以通過Neotys云平臺發(fā)起系統(tǒng)外部壓力。常用測試工具——性能測試工具其他主流的測試工具——WebLOAD:WebLOAD存在免費(fèi)和專業(yè)兩個版本,WebLOAD(專業(yè)版)是來自Radview公司的負(fù)載測試工具,可被用于測試系統(tǒng)性能和彈性,也可被用于正確性驗證(驗證返回結(jié)果的正確性)。其測試腳本是用JavaScript(和集成的COM/Java對象)編寫的,并支持多種協(xié)議,如Web(包括AJAX在內(nèi)的REST/HTTP)、SOAP/XML和其他可從腳本調(diào)用的協(xié)議(如FTP、SMTP)等,因而可從所有層面對應(yīng)用程序進(jìn)行測試。WebLOAD免費(fèi)版本支持50個虛擬用戶,專業(yè)版還提供更多的報告和協(xié)議供用戶選擇。WebLOAD通常用作QA團(tuán)隊的獨(dú)立運(yùn)行工具,在開發(fā)周期的驗證階段,被測系統(tǒng)(SystemUnderTest,SUT)投入使用之前,在模擬環(huán)境中對被測系統(tǒng)進(jìn)行測試。常用測試工具——性能測試工具其他主流的測試工具——Loadster(商用版):Loadster(商用版)是一款商用負(fù)載測試軟件,用于測試高負(fù)載下網(wǎng)站、Web應(yīng)用、Web服務(wù)的性能表現(xiàn),支持Linux、Mac和Windows等運(yùn)行環(huán)境。Loadster能夠?qū)eb應(yīng)用/服務(wù)的Cookies、線程、頭文件、動態(tài)表格等元素發(fā)起測試,獲得Web在壓力下的性能、彈性、穩(wěn)定性和可擴(kuò)展性等方面的表現(xiàn)。常用測試工具——性能測試工具其他主流的測試工具——Loadstorm(商用版):Loadstorm(商用版)是一款針對Web應(yīng)用的云端負(fù)載測試工具,通過模擬海量單擊行為來測試Web應(yīng)用在大負(fù)載下的性能表現(xiàn)。由于Loadstorm采用了云資源,所以它的測試成本非常低,用戶可以在云端選擇創(chuàng)建自己的測試計劃,測試標(biāo)準(zhǔn)和測試場景。Loadstorm最多可以生成多達(dá)50000個并發(fā)用戶,通過數(shù)以千計的云服務(wù)器發(fā)起訪問。使用Loadstorm不需要任何腳本知識,同時提供多樣化的測試圖表和報告模版,用于準(zhǔn)確測量Web應(yīng)用的各項性能指標(biāo),如錯誤率、平均響應(yīng)時間和用戶數(shù)量等。Loadstorm可以申請免費(fèi)試用,但更多壓力和功能需要開通高級帳戶。常用測試工具——性能測試工具其他主流的測試工具——LoadImpact(免費(fèi)使用):LoadImpact(免費(fèi)使用)可以在線免費(fèi)測試網(wǎng)站負(fù)載能力,可以滿足用戶的基本要求,其付費(fèi)后用戶測試的項目將會更多。LoadImpact是一款服務(wù)于DevOps的性能測試工具,支持各種平臺的網(wǎng)站、Web應(yīng)用、移動應(yīng)用和API測試。LoadImpact可以幫助用戶了解應(yīng)用的最高在線用戶數(shù)量,通過模擬測試不同在線人數(shù)時的網(wǎng)站響應(yīng)時間,估算出服務(wù)器的最大負(fù)載。常用測試工具——性能測試工具其他主流的測試工具——LoadImpact(免費(fèi)使用):LoadImpact的使用非常簡單,只需要輸入網(wǎng)址進(jìn)行測試,便可統(tǒng)計出加載網(wǎng)站的一些詳細(xì)測試數(shù)據(jù)包括整體加載和站內(nèi)圖片,JavaScript、CSS等代碼載入??梢赃x擇不同文件來同時對比最多3個對象的加載數(shù)據(jù),并生成圖表顯示,方便網(wǎng)站設(shè)計者來分析。測試完成之后,網(wǎng)站還可以存儲測試過的統(tǒng)計數(shù)據(jù)。常用測試工具——性能測試工具其他主流的測試工具——Locust(開源免費(fèi)):Locust(開源免費(fèi))完全是基于Python編程語言的,采用PurePython描述測試腳本,并且HTTP請求完全基于Requests庫。除了HTTP/HTTPS協(xié)議,Locust也可以測試其他協(xié)議的系統(tǒng),只需要采用Python調(diào)用對應(yīng)的庫進(jìn)行請求描述即可。但是需要手動編寫腳本,有一定的難度。常用測試工具——性能測試工具性能測試流程:性能測試分為5個階段,分別是需求調(diào)研階段、測試準(zhǔn)備階段、測試執(zhí)行階段、測試報告階段、測試總結(jié)階段。需求調(diào)研階段測試準(zhǔn)備階段測試執(zhí)行階段測試報告階段測試總結(jié)階段常用測試工具——性能測試工具性能測試流程——需求調(diào)研:需求調(diào)研階段需求調(diào)研分為兩個步驟進(jìn)行,即需求調(diào)研、需求分析。需求調(diào)研:需求調(diào)研工作由性能測試實施人員負(fù)責(zé),產(chǎn)品經(jīng)理、開發(fā)工程師、運(yùn)維工程師配合完成,主要是確定系統(tǒng)線上環(huán)境的性能需求。閱讀軟件概要設(shè)計文檔,軟件詳細(xì)設(shè)計文檔獲取相關(guān)信息,包括系統(tǒng)信息(如線上環(huán)境硬件、參數(shù)配置、系統(tǒng)架構(gòu)與部署方式、關(guān)聯(lián)系統(tǒng)部署等)、業(yè)務(wù)信息(關(guān)鍵業(yè)務(wù)邏輯與處理流程、交易列表、交易量信息、業(yè)務(wù)分布規(guī)律等)、生產(chǎn)問題、文檔資料等,并對收集到的信息進(jìn)行匯總整理,實現(xiàn)對待測系統(tǒng)業(yè)務(wù)與技術(shù)的整體了解。常用測試工具——性能測試工具需求分析:需求分析是將性能需求轉(zhuǎn)為具體的性能需求指標(biāo)值。例如,在TPS(TransactionperSecond)中系統(tǒng)每秒處理交易數(shù)。經(jīng)過以下3點(diǎn)分析后,匯總成測試指標(biāo)值。TPS性能指標(biāo)分析如下。TPS性能指標(biāo)推導(dǎo)。目前,線上APP1.0試用系統(tǒng)主要有查詢類交易,交易占比40%,系統(tǒng)生產(chǎn)交易量統(tǒng)計為1個月約20萬筆,假設(shè)APP2.0系統(tǒng)上線后業(yè)務(wù)量激增到每日查詢類達(dá)到20萬,則每日總交易量T達(dá)到,T=200000/40%=500000筆/日。系統(tǒng)處理能力TPS推導(dǎo)。APP2.0上線后交易量最大500000筆/日,系統(tǒng)晚間幾乎無交易量,按2:8原則推算,則(500000×80%)/(8×20%×3600)≈69.4筆/秒,取整為70筆/秒,每年按業(yè)務(wù)量增長50%計算,則一年后系統(tǒng)處理能力指標(biāo)約等于70+70×50%=105筆/秒。穩(wěn)定性交易量推導(dǎo)。取系統(tǒng)處理能力的60%×?xí)r長=105筆/秒×60%×8×3600=1814400筆。常用測試工具——性能測試工具需求分析主要內(nèi)容和規(guī)范性要求:性能測試需求應(yīng)準(zhǔn)確描述性能測試指標(biāo)項及需求指標(biāo)值。系統(tǒng)范圍應(yīng)準(zhǔn)確描述性能測試需求指標(biāo)值所依托的測試范圍信息,如應(yīng)描述測試范圍的關(guān)聯(lián)系統(tǒng)邏輯示意圖,及各關(guān)聯(lián)系統(tǒng)的信息;在對系統(tǒng)局部環(huán)節(jié)進(jìn)行測試時,也需闡明具體測試范圍,詳細(xì)描述被測系統(tǒng)的相關(guān)子系統(tǒng)。環(huán)境差異分析應(yīng)準(zhǔn)確描述性能測試需求指標(biāo)值所依托的測試環(huán)境信息,如須描述測試環(huán)境的總體網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖、測試環(huán)境機(jī)器配置(數(shù)量、型號、資源、操作系統(tǒng))、相應(yīng)的軟件配置、重要參數(shù)配置等。同時應(yīng)準(zhǔn)確地描述線上環(huán)境的上述信息,并進(jìn)行詳細(xì)的環(huán)境差異性分析。常用測試工具——性能測試工具性能測試流程——測試準(zhǔn)備階段:測試準(zhǔn)備階段需要完成業(yè)務(wù)模型到測試模型的構(gòu)建、性能測試實施方案編寫、測試環(huán)境的準(zhǔn)備、性能測試案例設(shè)計、性能測試監(jiān)控方案設(shè)計、性能測試腳本,及相關(guān)測試數(shù)據(jù)的準(zhǔn)備。在上述相關(guān)準(zhǔn)備活動結(jié)束后,按照測試計劃進(jìn)行準(zhǔn)入檢查。測試準(zhǔn)備階段測試模型的構(gòu)建性能測試實施方案編寫測試環(huán)境的準(zhǔn)備性能測試案例設(shè)計性能測試監(jiān)控方案設(shè)計性能測試腳本相關(guān)測試數(shù)據(jù)的準(zhǔn)備常用測試工具——性能測試工具測試準(zhǔn)備階段需要重點(diǎn)關(guān)注方案設(shè)計、案例設(shè)計、數(shù)據(jù)準(zhǔn)備、測試腳本開發(fā)。方案設(shè)計在方案中需要描述測試需求、啟停準(zhǔn)則、測試模型設(shè)計、測試策略、測試內(nèi)容、測試環(huán)境與工具需求,以及各個階段的輸出文檔。在方案中還需說明性能測試工作的時間計劃安排、預(yù)期的風(fēng)險與風(fēng)險規(guī)避方法等。案例設(shè)計在案例設(shè)計中,包括案例的描述、測試環(huán)境描述(硬件、軟件、應(yīng)用版本、測試數(shù)據(jù))、延遲設(shè)置、壓力場景、執(zhí)行描述、預(yù)期結(jié)果、監(jiān)控要點(diǎn)。案例設(shè)計是性能測試工作的必須工作環(huán)節(jié),案例設(shè)計的產(chǎn)出文件是《性能測試案例》。數(shù)據(jù)準(zhǔn)備環(huán)境準(zhǔn)備工作中涉及基礎(chǔ)數(shù)據(jù)的準(zhǔn)備。測試數(shù)據(jù)的數(shù)量、邏輯關(guān)系要求十分嚴(yán)格,測試基礎(chǔ)數(shù)據(jù)的準(zhǔn)備一般采用自造模擬數(shù)據(jù)或者使用脫敏后的線上數(shù)據(jù)。測試的腳本開發(fā)測試腳本是對業(yè)務(wù)操作的程序化體現(xiàn),一個腳本一般為一項業(yè)務(wù)的過程描述。該過程主要為腳本的錄制(編寫)、修改和調(diào)試工作,從而保證在測試實施之前每個測試用例的腳本都能夠在單筆和少量迭代次數(shù)的條件下能夠正確執(zhí)行。常用測試工具——性能測試工具測試腳本開發(fā)的一般步驟:通過錄制或者編寫,完成腳本代碼生成根據(jù)測試需求,進(jìn)行參數(shù)化設(shè)置設(shè)定檢查點(diǎn),根據(jù)報文內(nèi)容字段判斷交易是否正確執(zhí)行根據(jù)測試要求確定是否設(shè)置集合點(diǎn)常用測試工具——性能測試工具性能測試流程——測試執(zhí)行階段:測試執(zhí)行階段是執(zhí)行測試案例,獲得系統(tǒng)處理能力指標(biāo)數(shù)據(jù),發(fā)現(xiàn)性能測試缺陷的階段。測試執(zhí)行期間,借助測試工具執(zhí)行測試場景或測試腳本,同時配合各類監(jiān)控工具。執(zhí)行結(jié)束后統(tǒng)一收集各種結(jié)果數(shù)據(jù)進(jìn)行分析。根據(jù)需要,執(zhí)行階段可進(jìn)行系統(tǒng)的調(diào)優(yōu)和回歸測試。常用測試工具——性能測試工具測試執(zhí)行階段重點(diǎn)需要關(guān)注的是測試執(zhí)行與結(jié)果記錄、測試監(jiān)控、測試結(jié)果分析。測試執(zhí)行與結(jié)果記錄測試執(zhí)行過程有相應(yīng)的優(yōu)先級策略,依據(jù)測試案例的優(yōu)先級別,優(yōu)先執(zhí)行級別較高的測試案例。在執(zhí)行階段,測試的執(zhí)行、分析調(diào)優(yōu)、回歸測試工作較為反復(fù),須認(rèn)真記錄全部執(zhí)行過程和執(zhí)行結(jié)果,數(shù)據(jù)結(jié)果記錄是分析瓶頸的主要依據(jù)。測試監(jiān)控測試的監(jiān)控工作與執(zhí)行工作同步進(jìn)行,場景或腳本開始執(zhí)行時,同時啟動監(jiān)控程序監(jiān)控各種IT基礎(chǔ)設(shè)施的性能指標(biāo)。測試結(jié)果分析測試過程中根據(jù)前端性能測試工具顯示結(jié)果和監(jiān)控結(jié)果綜合分析出現(xiàn)的測試問題。常用測試工具——性能測試工具性能測試流程——測試報告階段:這個階段重點(diǎn)關(guān)注的是測試報告撰寫、測試結(jié)果描述、測試缺陷與問題、最終結(jié)果分析和測試結(jié)論。測試報告撰寫測試報告內(nèi)容要包括測試目的、范圍及方法、環(huán)境描述、測試結(jié)果描述、結(jié)果分析、結(jié)論和建議等。測試問題描述測試問題的描述,應(yīng)體現(xiàn)性能測試的執(zhí)行過程,例如,混合場景的容量測試問題展示中,需要描述各個并發(fā)梯度下測試問題及監(jiān)控結(jié)果;在數(shù)字形式的結(jié)果記錄中,要求小數(shù)點(diǎn)后精確3位有效數(shù)字。常用測試工具——性能測試工具測試缺陷與問題在性能測試分析報告中須描述測試過程發(fā)現(xiàn)的缺陷與問題,對于確認(rèn)是測試缺陷的項進(jìn)行風(fēng)險評估,并給出風(fēng)險提示。最終結(jié)果分析測試最終結(jié)果的分析,該部分內(nèi)容應(yīng)該全面、透徹、易理解,且通過圖表方式表達(dá)更直觀。測試結(jié)論測試結(jié)論是性能測試分析報告必須包括的內(nèi)容。測試的結(jié)論須清晰、準(zhǔn)確回答性能測試需求中描述的各項指標(biāo),需全面覆蓋測試需求。常用測試工具——性能測試工具性能測試流程——測試總結(jié)階段:性能測試的總結(jié)工作,主要對該任務(wù)的測試過程和測試技術(shù)進(jìn)行總結(jié)。性能測試工作進(jìn)入總結(jié)階段,意味著性能測試工作臨近結(jié)束。在這個階段,時間允許的情況下應(yīng)將所有的重要測試資產(chǎn)進(jìn)行歸檔保存。常用測試工具——性能測試工具性能測試的作用主要是驗證軟件系統(tǒng)是否能夠達(dá)到用戶提出的性能指標(biāo),同時發(fā)現(xiàn)軟件系統(tǒng)中存在的性能瓶頸,優(yōu)化軟件,最后起到優(yōu)化系統(tǒng)的目的。性能測試的作用主要包括評估系統(tǒng)的能力、識別體系中的弱點(diǎn)系統(tǒng)調(diào)優(yōu)、驗證穩(wěn)定性和可靠性4個方面。優(yōu)化性能、最小化成本、最小化風(fēng)險、交付高質(zhì)量的系統(tǒng)是性能測試的最終目的。性能測試的作用評估系統(tǒng)的能力識別體系中的弱點(diǎn)系統(tǒng)調(diào)優(yōu)驗證穩(wěn)定性和可靠性常用測試工具——性能測試工具性能測試的作用
評估系統(tǒng)的能力:測試中得到的負(fù)荷和響應(yīng)時間數(shù)據(jù)可以被用于驗證所計劃的模型的能力,并幫助做出決策。
識別體系中的弱點(diǎn):受控的負(fù)荷可以被增加到一個極端的水平,識別并突破它,從而修復(fù)體系的瓶頸或薄弱的地方。
系統(tǒng)調(diào)優(yōu):重復(fù)運(yùn)行測試,驗證調(diào)整系統(tǒng)的活動得到了預(yù)期的結(jié)果,從而改進(jìn)性能。檢測軟件中的問題;長時間的測試執(zhí)行可導(dǎo)致程序發(fā)生由于內(nèi)存泄漏引起的失敗,從而揭示程序中隱含的問題或沖突。
驗證穩(wěn)定性和可靠性:在一個生產(chǎn)負(fù)荷下執(zhí)行測試一定的時間是評估系統(tǒng)穩(wěn)定性和可靠性是否滿足要求的唯一方法。常用測試工具——自動化測試工具自動化測試的定義自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程。通常,在設(shè)計測試用例并通過評審之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步一步地執(zhí)行測試,得到實際結(jié)果與期望結(jié)果的比較。在此過程中,為了節(jié)省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。常用測試工具——自動化測試工具自動化測試工具簡介自動化測試工具包含很多,如Web自動化工具、手機(jī)自動化工具等。Web自動化測試工具SeleniumQTP手機(jī)自動化測試工具RobotiumAppium性能自動化測試工具LoadRunnerJmeter接口自動化測試工具SoapUIPostman常用測試工具——自動化測試工具Web自動化測試工具主要有Selenium、QTP等。Selenium是開源免費(fèi)的,主要通過調(diào)用瀏覽器來模擬用戶的操作行為。QTP是商業(yè)軟件,支持的協(xié)議和功能更多一些,特點(diǎn)是支持瀏覽器模擬用戶操作行為來錄制腳本。常用測試工具——自動化測試工具接口自動化測試工具主要有SoapUI、Postman等。SoapUI是一個開源測試工具,通過soap/http來檢查、調(diào)用、實現(xiàn)WebService的功能/負(fù)載/符合性測試。該工具既可作為一個單獨(dú)的測試軟件使用,也可利用插件集成到Eclipse、Maven2.X、Netbeans和IntelliJ中使用。把一個或多個測試套件(TestSuite)組織成項目,每個測試套件包含一個或多個測試用例(TestCase),每個測試用例包含一個或多個測試步驟,包括發(fā)送請求、接受響應(yīng)、分析結(jié)果、改變測試執(zhí)行流程等。Postman是一款功能強(qiáng)大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁HTTP請求的軟件,提供功能強(qiáng)大的WebAPI&HTTP請求調(diào)試,能夠發(fā)送任何類型的HTTP請求(GET,HEAD,POST,PUT),支持配置多個請求參數(shù)和headers(消息頭)。Postman主要用于模擬網(wǎng)絡(luò)請求包、快速創(chuàng)建請求、回放、管理請求、快速設(shè)置網(wǎng)絡(luò)代理。常用測試工具——自動化測試工具手機(jī)自動化測試工具主要有Robotium、Appium等。Robotium是一款國外的Android自動化測試框架,主要針對Android平臺的應(yīng)用進(jìn)行黑盒自動化測試,提供模擬各種手勢操作(單擊、長按、滑動等)、查找和斷言機(jī)制的API,能夠?qū)Ω鞣N控件進(jìn)行操作。Robotium結(jié)合Android官方提供的測試框架達(dá)到對應(yīng)用程序進(jìn)行自動化的測試,此外,Robotium4.0版本已經(jīng)支持對WebView的操作。Robotium對Activity、Dialog、Toast、Menu都是支持的。Appium的核心一個是暴露RESTAPI的Web服務(wù)器。Appium接受來自客戶端的連接,監(jiān)聽命令并在移動設(shè)備上執(zhí)行,答復(fù)HTTP響應(yīng)來描述執(zhí)行結(jié)果。常用測試工具——自動化測試工具自動化測試框架框架是整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實例間交互的方法;另一種定義認(rèn)為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。前者是從應(yīng)用方面,而后者是從目的方面給出的定義。從框架的定義可以了解,框架可以是被重用的基礎(chǔ)平臺;框架也可以是組織架構(gòu)類的東西。其實后者更為貼切,因為框和架是用于組織和歸類的。自動化測試框架是由一個或多個自動化測試基礎(chǔ)模塊、自動化測試管理模塊、自動化測試統(tǒng)計模塊等組成的工具集合。常用測試工具——自動化測試工具自動化測試框架分類表:分類方式框架類型按框架的定義劃分基礎(chǔ)功能測試框架、管理執(zhí)行框架按不同測試類型劃分功能自動化測試框架、性能自動化測試框架按測試階段劃分單元自動化測試框架、接口自動化測試框架、系統(tǒng)自動化測試框架按組成結(jié)構(gòu)劃分單一自動化測試框架、綜合自動化測試框架按部署方式劃分單機(jī)自動化測試框架、分布式自動化測試框架常用測試工具——自動化測試工具一般自動化測試框架應(yīng)包括測試管理、數(shù)據(jù)驅(qū)動、結(jié)果分析和測試報告4部分內(nèi)容。測試管理測試管理的主要任務(wù)是運(yùn)行控制腳本、負(fù)責(zé)建立并維護(hù)運(yùn)行隊列、控制運(yùn)行策略和信號燈。在管理端還需要維護(hù)一個測試任務(wù)的隊列,每個測試腳本開始執(zhí)行的時間可能不同,狀態(tài)也不一樣,測試管理模塊能有效地維護(hù)這些腳本的執(zhí)行。數(shù)據(jù)驅(qū)動數(shù)據(jù)驅(qū)動的主要任務(wù)是將腳本與測試數(shù)據(jù)分離,這部分是框架的核心,一般測試數(shù)據(jù)來自自動化測試用例中的數(shù)據(jù)輸入。通過數(shù)據(jù)驅(qū)動模塊可以將測試用例中的數(shù)據(jù)讀取到腳本,實現(xiàn)同一腳本執(zhí)行多個測試用例的功能。結(jié)果分析結(jié)果分析的主要任務(wù)是判斷實際結(jié)果與預(yù)期結(jié)果是否一致,為輸入測試結(jié)果做準(zhǔn)備,測試過程中判斷測試用例執(zhí)行是否成功。結(jié)果分析不僅僅是界面顯示,還包括對數(shù)據(jù)庫、相關(guān)文件(日志文件和配置文件等)的檢查,結(jié)果分析模塊主要是封裝這些檢查的函數(shù)和方法。測試報告測試報告主要是在執(zhí)行測試完成后,輸出一份日志文件和一份測試報告,日志文件主要是便于分析測試結(jié)果,判斷失敗的結(jié)果是否是由腳本開發(fā)的原因引起的。測試報告主要是用于記錄測試結(jié)果,至少要記錄每個測試用例執(zhí)行的結(jié)果。常用測試工具——自動化測試工具常用測試工具——自動化測試工具自動化測試流程:測試計劃自動化測試用例設(shè)計自動化腳本設(shè)計自動化腳本偏寫測試數(shù)據(jù)設(shè)計自動化測試執(zhí)行測試結(jié)果分析測試腳本維護(hù)常用測試工具——自動化測試工具自動化測試主要流程的概述:測試計劃自動化測試的測試計劃是根據(jù)項目的具體需求,以及所使用的測試工具而制定的,用于指導(dǎo)測試全過程。測試計劃需求指明測試目的、測試范圍、測試策略、測試團(tuán)隊、團(tuán)隊中成員角色和責(zé)任、時間進(jìn)度表、測試環(huán)境準(zhǔn)備、風(fēng)險控制和預(yù)防措施。測試策略是測試計劃的核心內(nèi)容,主要闡明本次自動化測試階段劃分、需要測試的業(yè)務(wù)和冒煙測試的業(yè)務(wù)流程,并且對每個業(yè)務(wù)的測試方法應(yīng)該詳細(xì)介紹。測試環(huán)境設(shè)置是測試計劃中的一部分,包括計劃跟蹤和管理測試環(huán)境的一系列的活動。測試環(huán)境包括硬件、軟件、網(wǎng)絡(luò)資源和數(shù)據(jù)準(zhǔn)備,計劃中需要評估測試環(huán)境準(zhǔn)備每個環(huán)節(jié)的時間。常用測試工具——自動化測試工具自動化測試主要流程的概述:自動化測試用例設(shè)計測試計劃完成后,即可開始寫測試用例,自動化測試用例的設(shè)計方法與手工測試設(shè)計的方法完全一致。最理想的情況是在設(shè)計手工測試用例時,可以將能用作自動化測試的用例標(biāo)識出來,這樣在設(shè)計自動化測試用例時便可直接摘錄這部分測試用例,不需要重新設(shè)計。常用測試工具——自動化測試工具自動化測試主要流程的概述:自動化測試用例設(shè)計每一個測試步驟都能夠被獨(dú)立運(yùn)行。對于測試腳本最重要的標(biāo)準(zhǔn)就是它能夠重復(fù)使用的。如果建立了正確的測試環(huán)境,測試腳本在每次執(zhí)行后都應(yīng)該產(chǎn)生相同的結(jié)果。但請記住,腳本對測試環(huán)境依賴很大,所以測試腳本被另外的一些潛在因素所制約,如計算機(jī)系統(tǒng)或網(wǎng)絡(luò)環(huán)境。常用測試工具——自動化測試工具自動化測試主要流程的概述:自動化腳本編寫腳本編寫過程是將測試用例轉(zhuǎn)化為代碼的過程,腳本編寫的過程應(yīng)該遵循可重用、易用、易維護(hù)的特點(diǎn)。一般情況下,在編寫測試腳本之前應(yīng)該先開發(fā)自動化測試框架。需注意的是自動化測試框架的開發(fā)并不會算在自動化測試過程中,因為在實行自動化測試前,企業(yè)會前期投入對自動化測試框架開發(fā)的時間,并且企業(yè)的框架一般只有一個,每
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北工藝美術(shù)職業(yè)學(xué)院《傳感器與自動檢測技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海歐華職業(yè)技術(shù)學(xué)院《木材識別與鑒定》2023-2024學(xué)年第二學(xué)期期末試卷
- 宜賓職業(yè)技術(shù)學(xué)院《飛行器氣動特性分析與設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 保山學(xué)院《化學(xué)學(xué)科課程與教學(xué)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙大寧波理工學(xué)院《針織成形技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 溫州醫(yī)科大學(xué)仁濟(jì)學(xué)院《現(xiàn)代秘書學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 泉州信息工程學(xué)院《移動電商實務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 石家莊鐵道大學(xué)《英語聽說(3)》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏職業(yè)技術(shù)學(xué)院《中國傳統(tǒng)文化書法》2023-2024學(xué)年第二學(xué)期期末試卷
- 西南財經(jīng)大學(xué)《識圖實訓(xùn)II》2023-2024學(xué)年第二學(xué)期期末試卷
- 供水企業(yè)安全生產(chǎn)培訓(xùn)課件
- 2024年《大學(xué)語文》期末考試復(fù)習(xí)題庫(含答案)
- 早產(chǎn)的護(hù)理查房課件
- 國家智慧教育平臺培訓(xùn)課件
- 針灸科出科個人小結(jié)
- 語感與語言習(xí)得-【中職專用】高一語文同步課件(高教版2023·基礎(chǔ)模塊上冊)
- 2024年中國石化集團(tuán)資本有限公司招聘筆試參考題庫含答案解析
- 普通高中地理課程標(biāo)準(zhǔn)(2023年版)
- 檢驗批劃分方案14
- 《公共管理學(xué)》期末考試復(fù)習(xí)題庫(含答案)
- 公司實際控股人協(xié)議書
評論
0/150
提交評論