什么是性能測試,? 在軟件中,,性能測試(也稱為性能測試)確定或驗證被測系統(tǒng)或應(yīng)用程序的速度,, 可伸縮性和/或穩(wěn)定性特征。性能與實現(xiàn)滿足項目或產(chǎn)品性能目標(biāo)的響應(yīng)時間,, 破壞和資源利用水平有關(guān)。
進行Web應(yīng)用程序性能測試是為了降低系統(tǒng)可用性,,可靠性,,可伸縮性,響應(yīng)性,, 穩(wěn)定性等風(fēng)險,。 性能測試包含多種不同類型的測試,例如負載測試,,體積測試,,壓力測試,容量測試,,均熱/耐久測試和逐步測試,,以測試測試發(fā)現(xiàn)或解決系統(tǒng)中的性能問題。 性能工程與性能測試之間的區(qū)別,?性能工程是一門學(xué)科,,其中包括在軟件開發(fā)生命周期(SDLC)的每個階段中的最佳實 踐和活動,以測試和調(diào)整應(yīng)用程序,,以實現(xiàn)所需的性能,。 性能測試可模擬實際的最終用戶負載,以確定系統(tǒng)的速度,,響應(yīng)能力和穩(wěn)定性,。 它涉及在各種參數(shù)(例如響應(yīng)時間,并發(fā)用戶負載,,服務(wù)器吞吐量等)下測試和報告 應(yīng)用程序的當(dāng)前性能,。 什么是性能調(diào)優(yōu)?性能調(diào)整有哪些類型,?性能調(diào)整是一個專注于提高系統(tǒng)性能的過程,。
有兩種類型的性能調(diào)整。 1.硬件調(diào)優(yōu):優(yōu)化,,添加或替換系統(tǒng)的硬件組件以提高系統(tǒng)性能的過程稱為硬件調(diào)優(yōu),。 2.軟件調(diào)優(yōu):通過對代碼,數(shù)據(jù)庫等進行概要分析來確定軟件級別的瓶頸,。 借助微調(diào)或修改軟件來解決瓶頸的方法稱為軟件調(diào)優(yōu),。 性能測試中的配置文件是什么?通過優(yōu)化代碼,,性能分析有助于微調(diào)應(yīng)用程序,。 必須對代碼進行分析,,調(diào)試和審查,以確定使其運行更快的最有效方法,。 列舉一些常見的性能瓶頸,?性能測試的目的是消除性能瓶頸。一些常見的性能瓶頸如下 CPU利用率 內(nèi)存利用率 網(wǎng)絡(luò)利用 軟件限制 磁盤使用情況 性能測試的進入和退出標(biāo)準是什么,?進入標(biāo)準:明確定義的服務(wù)水平協(xié)議(SLA)/性能目標(biāo) 退出標(biāo)準:實現(xiàn)SLA /性能目標(biāo) 性能測試過程涉及什么識別測試環(huán)境: 確定物理測試環(huán)境,,生產(chǎn)環(huán)境,并知道可用的測試工具,。 在開始測試過程之前,,請了解硬件,軟件和網(wǎng)絡(luò)配置的詳細信息,。 必須在項目的整個生命周期中定期重新審查此過程,。 確定性能驗收標(biāo)準: 這包括響應(yīng)時間,吞吐量和資源利用率的目標(biāo)和約束,。 響應(yīng)時間是用戶關(guān)心的問題,,吞吐量是業(yè)務(wù)問題,資源利用率是系統(tǒng)問題,。 還必須確定那些目標(biāo)和約束可能無法捕獲的項目成功標(biāo)準,。 計劃和設(shè)計性能測試: 確定關(guān)鍵方案以測試所有可能的用例。 確定如何模擬該可變性,,定義測試數(shù)據(jù)以及建立要收集的指標(biāo),。 配置測試環(huán)境: 在執(zhí)行之前準備測試環(huán)境,安排工具和其他資源 實施測試設(shè)計: 根據(jù)測試設(shè)計進行性能測試 執(zhí)行測試: 執(zhí)行和監(jiān)控測試 分析結(jié)果,,報告并重新測試: 合并,,分析和共享測試結(jié)果。 微調(diào)并重新測試以查看性能是否有所提高,。 當(dāng)所有度量標(biāo)準值都在可接受的范圍內(nèi)時,,就說明您已經(jīng)在該特定配置上測試了 該特定方案。 我們什么時候應(yīng)該使用性能測試,?性能測試應(yīng)該在開發(fā)過程中,,質(zhì)量保證過程中,產(chǎn)品發(fā)布之前,,新版本發(fā)布之后以及市場計劃中進行,。 簡單的答案是在系統(tǒng)更改時的任何時候。 為什么要自動化性能測試,?市場上許多性能測試工具都包含用于執(zhí)行自動化測試的組件,。 我們的構(gòu)建系統(tǒng)使用自動化來完成重復(fù)性任務(wù),因此我們有更多時間花在分析結(jié)果上,。 由于執(zhí)行了這些重復(fù)性的自動化任務(wù),,因此更容易定期進行測試,,并且可以及早發(fā)現(xiàn)問題。 給出一些性能測試用例的例子 與編寫功能測試用例相比,,編寫用于性能測試的測試用例需要不同的心態(tài),。 驗證應(yīng)用程序是否能夠處理一定數(shù)量的同時用戶 當(dāng)網(wǎng)絡(luò)連接緩慢時,驗證負載下應(yīng)用程序的響應(yīng)時間是否在可接受的范圍內(nèi) 驗證應(yīng)用程序在低,,正常,,中等和重負載條件下的響應(yīng)時間 檢查服務(wù)器在高負載下是否仍可正常運行而不會崩潰 驗證峰值負載后應(yīng)用程序是否恢復(fù)到正常行為 驗證峰值負載下的數(shù)據(jù)庫服務(wù)器以及應(yīng)用程序的CPU和內(nèi)存使用情況 性能測試生命周期涉及哪些階段?性能測試生命周期的各個階段如下 非功能需求分析 性能測試策略 性能測試設(shè)計 性能測試執(zhí)行 性能測試結(jié)果分析 基準和建議 功能測試和非功能測試之間的區(qū)別,?功能測試 | 非功能測試 |
---|
系統(tǒng)實際執(zhí)行的是功能測試 | 系統(tǒng)的性能如何是非功能測試 | 確保您的產(chǎn)品符合客戶和業(yè)務(wù)要求,并且沒有任何重大錯誤 | 確保產(chǎn)品符合客戶期望 | 驗證軟件與預(yù)期輸出的準確性 | 驗證軟件在各種負載條件下的行為 | 在非功能測試之前執(zhí)行 | 在功能測試后執(zhí)行 | 功能測試用例的示例是驗證登錄功能 | 非功能測試用例的示例是檢查是否在不到2秒的時間內(nèi)加載了主頁 | 測試類型為 ·單元測試 ·冒煙測試 ·用戶接受度 ·集成測試 ·回歸測試 ·本地化 ·全球化 ·互操作性 | 測試類型包括 · 性能測試 ·容量測試 ·可伸縮性 ·可用性測試 ·負載測試 ·壓力測試 ·一致性測試 ·可移植性測試 ·災(zāi)難恢復(fù)測試 | 可以手動或自動執(zhí)行 | 如果自動化,,則可以高效執(zhí)行 |
性能測試,,負載測試和壓力測試之間的區(qū)別性能測試 | 負載測試 | 壓力測試 |
---|
它是負載和壓力測試的超集 | 它是性能測試的一部分 | 它是性能測試的一部分 | 性能測試的目標(biāo)是為應(yīng)用程序設(shè)置基準和標(biāo)準 | 負載測試的目標(biāo)是確定系統(tǒng)的上限,設(shè)置應(yīng)用程序的SLA并檢查系統(tǒng)如何處理重負載 | 壓力測試的目的是發(fā)現(xiàn)系統(tǒng)在極端負載下的行為以及如何從故障中恢復(fù) | 負載極限在中斷閾值之上和之下 | 負載極限是突破的門檻 | 負載極限高于中斷閾值 | 性能測試中檢查的屬性是速度,,響應(yīng)時間,,資源使用,穩(wěn)定性,,可靠性和吞吐量 | 在負載測試中檢查的屬性是峰值性能,,服務(wù)器吞吐量,各種負載級別下的響應(yīng)時間,,負載平衡要求等,。 | 在壓力測試中檢查的屬性是穩(wěn)定性響應(yīng)時間,帶寬容量等,, |
有哪些不同類型的性能測試,?性能測試的類型如下 負載測試 壓力測試 浸泡/耐力測試 峰值測試 量測 可伸縮性測試/容量測試 什么是負載測試?進行了負載測試,,以驗證系統(tǒng)/應(yīng)用程序可以處理預(yù)期的事務(wù)數(shù)量,, 并驗證系統(tǒng)/應(yīng)用程序在正常和峰值負載條件(用戶數(shù)量)下的行為。 負載測試是性能測試的子集,,是一種非功能測試,。 什么是可伸縮性/容量測試:容量測試用于確定系統(tǒng)/應(yīng)用程序在性能目標(biāo)變得無法接受之前可以成功處理多少用戶。 這使我們能夠避免將來出現(xiàn)潛在問題,,例如增加的用戶群或增加的數(shù)據(jù)量,。 它可以幫助用戶確定擴展策略,從而確定系統(tǒng)是應(yīng)該向上擴展還是向外擴展,。 它主要在電子商務(wù)和銀行網(wǎng)站上完成,。有一些例子。這種測試有時稱為可伸縮性測試,。 什么是壓力測試,?壓力測試用于在負載增加超過系統(tǒng)設(shè)計預(yù)期的情況下驗證系統(tǒng)的行為,。 該測試解決了當(dāng)我們通過施加超出設(shè)計預(yù)期的負載給系統(tǒng)施加壓力時,哪些組件首先會失敗,。 這樣我們就可以設(shè)計出更強大的系統(tǒng),。 什么是浸泡/耐力測試?浸泡測試又名耐力測試,。長時間在高負載下運行系統(tǒng)以識別性能問題稱為“浸泡測試”,。 這是為了確保該軟件可以長時間處理預(yù)期的負載。 什么是峰值測試,?峰值測試用于確定系統(tǒng)負載突然增加(大量用戶)時系統(tǒng)的行為,。 用戶的面孔有哪些常見的性能問題?用戶面臨的一些常見性能問題是 加載時間更長 響應(yīng)時間短 可擴展性差 諸如編碼錯誤或硬件問題之類的瓶頸 列出性能測試考慮的一些參數(shù),?性能測試的一些參數(shù)是: 內(nèi)存使用情況 處理器使用率 帶寬 內(nèi)存 網(wǎng)絡(luò)輸出隊列長度 響應(yīng)時間 每秒CPU中斷 承諾的內(nèi)存 線程數(shù) 等待 選擇性能工具時應(yīng)考慮哪些因素,?選擇最佳性能測試工具進行性能測試時需要考慮的一些因素。 預(yù)算(許可費用) 牌照種類 簡易安裝 協(xié)議支持 客戶偏愛負載測試工具 培訓(xùn)員工使用所選工具的成本 加載工具的硬件/軟件要求 工具供應(yīng)商支持和更新政策 詳細報告 云端整合 列舉一些流行的性能測試工具,?一些流行的性能測試工具如下 Web加載 LoadRunner NeoLoad Apache JMeter LoadUI專業(yè)版 什么是性能測試中的吞吐量,?吞吐量是性能測試中的關(guān)鍵指標(biāo)之一。 它是指在給定時間段內(nèi)在客戶端和服務(wù)器之間傳輸?shù)臄?shù)據(jù)量,,通常以每秒位數(shù)(bps)表示,。 它是根據(jù)每次請求數(shù)計算的。 吞吐量=(請求數(shù))/(總時間) 示例:每秒比特,,每秒字節(jié)(Bps),,每秒千字節(jié)(KBps),每秒兆字節(jié)(MBps)和每秒千兆字節(jié)(GBps),。 如果服務(wù)器在一分鐘內(nèi)收到60個請求,,則吞吐量為每秒一個請求。 如果它在一分鐘內(nèi)收到120個請求,,則吞吐量為每秒兩個請求,。等等。 并發(fā)用戶在性能測試中意味著什么,?并發(fā)用戶數(shù)是給定時間與應(yīng)用程序交互的用戶數(shù),。 所有用戶可能都處于某種會話的中間,但是他們都在執(zhí)行不同的操作,。 性能測試中的協(xié)議是什么,?性能測試中的協(xié)議是一種用于客戶端和服務(wù)器之間通信的語言。 通過在性能測試工具中選擇協(xié)議,,指示該工具捕獲所選客戶端與其服務(wù)器的所選語言的通信,。 一些協(xié)議是: HTTP HTTPS FTP Web Services Citrix 什么是性能測試中的參數(shù)化?參數(shù)化用于用參數(shù)替換腳本中的硬編碼值。 性能測試之間有什么關(guān)聯(lián),?關(guān)聯(lián)用于在性能測試中捕獲測試腳本中的動態(tài)值,,并防止腳本在執(zhí)行期間失敗。 如果在相同或不同用戶重放操作時,,每個用戶操作的值都發(fā)生變化,,則稱為動態(tài)值。 性能測試中的基準測試是什么,?在得出任何結(jié)論之前,,應(yīng)在應(yīng)用程序上進行此測試,以獲取我們進一步測試的參考,。 這些測試應(yīng)有助于我們確定服務(wù)器的正常響應(yīng),。 然后,我們可以使用這些值在其他測試中設(shè)置斷言,。 性能測試中的基準測試是什么,?基準測試是將軟件或硬件的性能與其他組織設(shè)定的行業(yè)標(biāo)準進行比較的過程。 在這里,,我將結(jié)束本性能測試面試問題帖子。 如果您發(fā)現(xiàn)我沒有涵蓋某些問題,,請在下面的評論部分中告訴我,。 我將嘗試更新此性能測試面試問題與解答。
|