什么是性能測試? 在軟件中,性能測試(也稱為性能測試)確定或驗證被測系統(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ù)載測試,體積測試,壓力測試,容量測試,均熱/耐久測試和逐步測試,以測試測試發(fā)現(xiàn)或解決系統(tǒng)中的性能問題。 性能工程與性能測試之間的區(qū)別?性能工程是一門學(xué)科,其中包括在軟件開發(fā)生命周期(SDLC)的每個階段中的最佳實 踐和活動,以測試和調(diào)整應(yīng)用程序,以實現(xiàn)所需的性能。 性能測試可模擬實際的最終用戶負(fù)載,以確定系統(tǒng)的速度,響應(yīng)能力和穩(wěn)定性。 它涉及在各種參數(shù)(例如響應(yīng)時間,并發(fā)用戶負(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)準(zhǔn)是什么?進入標(biāo)準(zhǔn):明確定義的服務(wù)水平協(xié)議(SLA)/性能目標(biāo) 退出標(biāo)準(zhǔn):實現(xiàn)SLA /性能目標(biāo) 性能測試過程涉及什么識別測試環(huán)境: 確定物理測試環(huán)境,生產(chǎn)環(huán)境,并知道可用的測試工具。 在開始測試過程之前,請了解硬件,軟件和網(wǎng)絡(luò)配置的詳細(xì)信息。 必須在項目的整個生命周期中定期重新審查此過程。 確定性能驗收標(biāo)準(zhǔn): 這包括響應(yīng)時間,吞吐量和資源利用率的目標(biāo)和約束。 響應(yīng)時間是用戶關(guān)心的問題,吞吐量是業(yè)務(wù)問題,資源利用率是系統(tǒng)問題。 還必須確定那些目標(biāo)和約束可能無法捕獲的項目成功標(biāo)準(zhǔn)。 計劃和設(shè)計性能測試: 確定關(guān)鍵方案以測試所有可能的用例。 確定如何模擬該可變性,定義測試數(shù)據(jù)以及建立要收集的指標(biāo)。 配置測試環(huán)境: 在執(zhí)行之前準(zhǔn)備測試環(huán)境,安排工具和其他資源 實施測試設(shè)計: 根據(jù)測試設(shè)計進行性能測試 執(zhí)行測試: 執(zhí)行和監(jiān)控測試 分析結(jié)果,報告并重新測試: 合并,分析和共享測試結(jié)果。 微調(diào)并重新測試以查看性能是否有所提高。 當(dāng)所有度量標(biāo)準(zhǔn)值都在可接受的范圍內(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ò)連接緩慢時,驗證負(fù)載下應(yīng)用程序的響應(yīng)時間是否在可接受的范圍內(nèi) 驗證應(yīng)用程序在低,正常,中等和重負(fù)載條件下的響應(yīng)時間 檢查服務(wù)器在高負(fù)載下是否仍可正常運行而不會崩潰 驗證峰值負(fù)載后應(yīng)用程序是否恢復(fù)到正常行為 驗證峰值負(fù)載下的數(shù)據(jù)庫服務(wù)器以及應(yīng)用程序的CPU和內(nèi)存使用情況 性能測試生命周期涉及哪些階段?性能測試生命周期的各個階段如下 非功能需求分析 性能測試策略 性能測試設(shè)計 性能測試執(zhí)行 性能測試結(jié)果分析 基準(zhǔn)和建議 功能測試和非功能測試之間的區(qū)別?
性能測試,負(fù)載測試和壓力測試之間的區(qū)別
有哪些不同類型的性能測試?性能測試的類型如下 負(fù)載測試 壓力測試 浸泡/耐力測試 峰值測試 量測 可伸縮性測試/容量測試 什么是負(fù)載測試?進行了負(fù)載測試,以驗證系統(tǒng)/應(yīng)用程序可以處理預(yù)期的事務(wù)數(shù)量, 并驗證系統(tǒng)/應(yīng)用程序在正常和峰值負(fù)載條件(用戶數(shù)量)下的行為。 負(fù)載測試是性能測試的子集,是一種非功能測試。 什么是可伸縮性/容量測試:容量測試用于確定系統(tǒng)/應(yīng)用程序在性能目標(biāo)變得無法接受之前可以成功處理多少用戶。 這使我們能夠避免將來出現(xiàn)潛在問題,例如增加的用戶群或增加的數(shù)據(jù)量。 它可以幫助用戶確定擴展策略,從而確定系統(tǒng)是應(yīng)該向上擴展還是向外擴展。 它主要在電子商務(wù)和銀行網(wǎng)站上完成。有一些例子。這種測試有時稱為可伸縮性測試。 什么是壓力測試?壓力測試用于在負(fù)載增加超過系統(tǒng)設(shè)計預(yù)期的情況下驗證系統(tǒng)的行為。 該測試解決了當(dāng)我們通過施加超出設(shè)計預(yù)期的負(fù)載給系統(tǒng)施加壓力時,哪些組件首先會失敗。 這樣我們就可以設(shè)計出更強大的系統(tǒng)。 什么是浸泡/耐力測試?浸泡測試又名耐力測試。長時間在高負(fù)載下運行系統(tǒng)以識別性能問題稱為“浸泡測試”。 這是為了確保該軟件可以長時間處理預(yù)期的負(fù)載。 什么是峰值測試?峰值測試用于確定系統(tǒng)負(fù)載突然增加(大量用戶)時系統(tǒng)的行為。 用戶的面孔有哪些常見的性能問題?用戶面臨的一些常見性能問題是 加載時間更長 響應(yīng)時間短 可擴展性差 諸如編碼錯誤或硬件問題之類的瓶頸 列出性能測試考慮的一些參數(shù)?性能測試的一些參數(shù)是: 內(nèi)存使用情況 處理器使用率 帶寬 內(nèi)存 網(wǎng)絡(luò)輸出隊列長度 響應(yīng)時間 每秒CPU中斷 承諾的內(nèi)存 線程數(shù) 等待 選擇性能工具時應(yīng)考慮哪些因素?選擇最佳性能測試工具進行性能測試時需要考慮的一些因素。 預(yù)算(許可費用) 牌照種類 簡易安裝 協(xié)議支持 客戶偏愛負(fù)載測試工具 培訓(xùn)員工使用所選工具的成本 加載工具的硬件/軟件要求 工具供應(yīng)商支持和更新政策 詳細(xì)報告 云端整合 列舉一些流行的性能測試工具?一些流行的性能測試工具如下 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)值。 性能測試中的基準(zhǔn)測試是什么?在得出任何結(jié)論之前,應(yīng)在應(yīng)用程序上進行此測試,以獲取我們進一步測試的參考。 這些測試應(yīng)有助于我們確定服務(wù)器的正常響應(yīng)。 然后,我們可以使用這些值在其他測試中設(shè)置斷言。 性能測試中的基準(zhǔn)測試是什么?基準(zhǔn)測試是將軟件或硬件的性能與其他組織設(shè)定的行業(yè)標(biāo)準(zhǔn)進行比較的過程。 在這里,我將結(jié)束本性能測試面試問題帖子。 如果您發(fā)現(xiàn)我沒有涵蓋某些問題,請在下面的評論部分中告訴我。 我將嘗試更新此性能測試面試問題與解答。
|
|