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