1雄卷、性能測(cè)試包含了哪些軟件測(cè)試(至少舉出3種)儡蔓?
參考答案:負(fù)載測(cè)試;壓力測(cè)試;容量測(cè)試;
負(fù)載測(cè)試(Load Testing):負(fù)載測(cè)試是一種主要為了測(cè)試軟件系統(tǒng)是否達(dá)到需求文檔設(shè)計(jì)的目標(biāo)郭蕉,譬如軟件在一定時(shí)期內(nèi),最大支持多少并發(fā)用戶數(shù)喂江,軟件請(qǐng)求出錯(cuò)率等恳不,測(cè)試的主要是軟件系統(tǒng)的性能。
壓力測(cè)試(Stress Testing):強(qiáng)度測(cè)試也就是壓力測(cè)試开呐,壓力測(cè)試主要是為了測(cè)試硬件系統(tǒng)是否達(dá)到需求文檔設(shè)計(jì)的性能目標(biāo)烟勋,譬如在一定時(shí)期內(nèi),系統(tǒng)的cpu利用率筐付,內(nèi)存使用率卵惦,磁盤I/O吞吐率,網(wǎng)絡(luò)吞吐量等瓦戚,壓力測(cè)試和負(fù)載測(cè)試最大的差別在于測(cè)試目的不同沮尿。
容量測(cè)試(Volume Testing):確定系統(tǒng)最大承受量,譬如系統(tǒng)最大用戶數(shù)较解,最大存儲(chǔ)量畜疾,最多處理的數(shù)據(jù)流量等。
或者在下面選擇幾項(xiàng):并發(fā)測(cè)試印衔;基準(zhǔn)測(cè)試 啡捶;爭(zhēng)用測(cè)試;性能配置 奸焙;負(fù)載測(cè)試瞎暑;強(qiáng)度測(cè)試彤敛;容量測(cè)試?
2、請(qǐng)問(wèn)什么是性能測(cè)試了赌、負(fù)載測(cè)試墨榄、壓力測(cè)試?
性能測(cè)試是通過(guò)自動(dòng)化的測(cè)試工具模擬多種正常勿她、峰值以及異常負(fù)載條件來(lái)對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試袄秩。負(fù)載測(cè)試、壓力測(cè)試參考答案如上題逢并。
3播揪、在給定的測(cè)試環(huán)境下進(jìn)行,考慮被測(cè)系統(tǒng)的業(yè)務(wù)壓力量和典型場(chǎng)景筒狠?
負(fù)載測(cè)試是用來(lái)測(cè)定系統(tǒng)飽和狀態(tài)猪狈、確定閥值。其特點(diǎn)有:這種方法的目的是找到系統(tǒng)處理能力的極限辩恼;通過(guò)“檢測(cè)雇庙、加壓、閥值”手段找到如“響應(yīng)時(shí)間不超過(guò)10秒”灶伊,“平均CPU利用率低于65%”等指標(biāo)疆前。
這種性能測(cè)試方法需要在給定的測(cè)試環(huán)境下進(jìn)行,通常也需要考慮被測(cè)系統(tǒng)的業(yè)務(wù)壓力量和典型場(chǎng)景聘萨、另外HP Mercury LoadRuner在使用該方法進(jìn)行“加壓”的時(shí)候必須選擇典型場(chǎng)景竹椒。
這種性能測(cè)試方法一般用來(lái)了解系統(tǒng)的性能容量,或者是配合性能調(diào)優(yōu)的時(shí)候來(lái)使用米辐。特別是該的Weblogic 和庫(kù)的性能調(diào)優(yōu)胸完。 (1079636098)軟件測(cè)試性能測(cè)試交流群
4、什么時(shí)候可以開(kāi)始執(zhí)行性能測(cè)試翘贮?
在產(chǎn)品相對(duì)比較穩(wěn)定赊窥,功能測(cè)試結(jié)束后。靈活性比較強(qiáng)狸页。?
5锨能、簡(jiǎn)述性能測(cè)試的步驟。
熟悉應(yīng)用:了解應(yīng)用的架構(gòu)芍耘、功能邏輯測(cè)試需求:1址遇、需要將開(kāi)發(fā)給定的需求轉(zhuǎn)為吞吐量和響應(yīng)時(shí)間。2斋竞、根據(jù)測(cè)試目的倔约,細(xì)化需求測(cè)試準(zhǔn)備:測(cè)試準(zhǔn)備包括測(cè)試客戶端機(jī)器準(zhǔn)備、測(cè)試數(shù)據(jù)準(zhǔn)備窃页、測(cè)試腳本準(zhǔn)備跺株。測(cè)試執(zhí)行:測(cè)試的執(zhí)行中复濒,需要監(jiān)控測(cè)試客戶端和服務(wù)器性能脖卖,監(jiān)控服務(wù)器端應(yīng)用情況:客戶端的系統(tǒng)資源(cpu乒省、io、memory)情況服務(wù)端的系統(tǒng)資源(cpu畦木、io袖扛、memory)情況服務(wù)器的jvm運(yùn)行情況服務(wù)端的應(yīng)用情況,看是否有異常十籍,響應(yīng)時(shí)間蛆封、吞吐量等指標(biāo)。
系統(tǒng)資源監(jiān)控勾栗,linux下可以采用的工具有:vmstat惨篱、top、meminfo等围俘。JVM的監(jiān)控砸讳,可以用jprofiler工具,linux下面的jmap界牡、jhat等簿寂。響應(yīng)時(shí)間、吞吐量等宿亡,由grinder提供常遂。上述這些信息,一般在測(cè)試結(jié)束后挽荠,均需要?dú)w檔整理克胳,已備后續(xù)詳細(xì)分析我們自己開(kāi)發(fā)一套腳本,用于以固定的頻率獲取測(cè)試客戶端和服務(wù)器的vmstat和top輸出圈匆、grinder的log毯欣,并從中截取有用信息保存,用于事后分析臭脓。每次測(cè)試運(yùn)行完以后酗钞,肯定會(huì)增加很多數(shù)據(jù),需要考慮本次執(zhí)行對(duì)數(shù)據(jù)量的影響来累,如果數(shù)據(jù)量的變化對(duì)后續(xù)測(cè)試會(huì)有影響砚作,則需要清理數(shù)據(jù)。測(cè)試分析
6嘹锁、你如何識(shí)別性能瓶頸葫录?
RBI方法重點(diǎn)測(cè)試“吞吐量”指標(biāo),因?yàn)镽BI認(rèn)定80%的系統(tǒng)性能瓶頸由吞吐量造成领猾。按照網(wǎng)絡(luò)米同、硬件骇扇、數(shù)據(jù)庫(kù)、應(yīng)用服務(wù)器面粮、代碼的順序自上而下分析性能工具:IBM少孝、HP、OpenSource工具都支持熬苍。需使用分析模塊稍走、根據(jù)Weblogic、Oracle區(qū)別有專門的工具實(shí)現(xiàn)RBI柴底。
7婿脸、性能測(cè)試時(shí),是不是必須進(jìn)行參數(shù)化柄驻?為什么要?jiǎng)?chuàng)建參數(shù)狐树?
是。模擬用戶真實(shí)的業(yè)務(wù)操作鸿脓。創(chuàng)建參數(shù)列表抑钟,用參數(shù)替換固定的文本。?
8答憔、你如何設(shè)計(jì)負(fù)載味赃?標(biāo)準(zhǔn)是什么?
負(fù)載測(cè)試計(jì)劃多少用戶數(shù)量虐拓、使用什么類型的機(jī)器心俗、以及在什么環(huán)境下進(jìn)行。主要基于兩個(gè)重要的文檔蓉驹,任務(wù)分布圖和事務(wù)信息城榛,任務(wù)分布圖告訴我們?cè)谪?fù)載時(shí)間段內(nèi),某一個(gè)事務(wù)使用的用戶數(shù)态兴,高峰使用率及低峰使用率均來(lái)自該文檔狠持;事務(wù)信息告訴我們事務(wù)名及優(yōu)先級(jí),在設(shè)計(jì)場(chǎng)景時(shí)可以參考瞻润。
?9喘垂、解釋5個(gè)常用的性能指標(biāo)的名稱與具體含義。
響應(yīng)時(shí)間绍撞、并發(fā)用戶數(shù)正勒,吞吐量,性能計(jì)數(shù)器傻铣,TPS章贞,HPS
響應(yīng)時(shí)間:指的是“系統(tǒng)響應(yīng)時(shí)間”定義為應(yīng)用系統(tǒng)從發(fā)出請(qǐng)求開(kāi)始到客戶端接收到響應(yīng)所消耗的時(shí)間。把它作為用戶視角的軟件性能的主要體現(xiàn)非洲。
最大并發(fā)用戶數(shù):有兩種理解方式鸭限,一種是從業(yè)務(wù)的角度來(lái)模擬真實(shí)的用戶訪問(wèn)蜕径,體現(xiàn)的是業(yè)務(wù)并發(fā)用戶數(shù),指在同一時(shí)間段內(nèi)訪問(wèn)系統(tǒng)的用戶數(shù)量败京;另一種是從服務(wù)器端承受的壓力來(lái)考慮兜喻,這里的“并發(fā)用戶數(shù)”指的是同時(shí)向服務(wù)器端發(fā)出請(qǐng)求的客戶數(shù),該概念一般結(jié)合并發(fā)測(cè)試(Concurrency Testing)使用喧枷,體現(xiàn)的是服務(wù)端承受的最大并發(fā)訪問(wèn)數(shù)虹统。
性能計(jì)數(shù)器(Counter)是描述服務(wù)器或操作系統(tǒng)性能的一些數(shù)據(jù)指標(biāo)弓坞。例如隧甚,對(duì)Windows 系統(tǒng)來(lái)說(shuō),使用內(nèi)存數(shù)(Memory In Usage)渡冻,進(jìn)程時(shí)間(Total Process Time)等都是常見(jiàn)的計(jì)數(shù)器戚扳。
思考時(shí)間(Think Time),也被稱為“休眠時(shí)間”族吻,從業(yè)務(wù)的角度來(lái)說(shuō)帽借,這個(gè)時(shí)間指的是用戶在進(jìn)行操作時(shí),每個(gè)請(qǐng)求之間的間隔時(shí)間超歌。從自動(dòng)化測(cè)試實(shí)現(xiàn)的角度來(lái)說(shuō)砍艾,要真實(shí)地模擬用戶操作,就必須在測(cè)試腳本中讓各個(gè)操作之間等待一段時(shí)間巍举,體現(xiàn)在腳本中脆荷,具體而言,就是在操作之間放置一個(gè)Think 的函數(shù)懊悯,使得腳本在執(zhí)行兩個(gè)操作之間等待一段時(shí)間蜓谋。
TPS:Transaction per second,每秒鐘系統(tǒng)能夠處理的交易或者事務(wù)的數(shù)量炭分。它是衡量系統(tǒng)處理能力的重要指標(biāo)桃焕。點(diǎn)擊率:HPS,每秒鐘用戶向WEB服務(wù)器提交的HTTP請(qǐng)求數(shù)捧毛。
10观堂、描述不同的角色(用戶、產(chǎn)品開(kāi)發(fā)人員呀忧、系統(tǒng)管理員)各自關(guān)注的軟件性能要點(diǎn)师痕。
用戶:重點(diǎn)關(guān)注打開(kāi)速度及響應(yīng)時(shí)間開(kāi)發(fā):重點(diǎn)關(guān)注響應(yīng)時(shí)間和數(shù)據(jù)庫(kù)交互管理員:重點(diǎn)關(guān)注用戶感受到的軟件性能;如何利用管理功能進(jìn)行性能調(diào)優(yōu)荐虐;如何利用其他軟硬件手段進(jìn)行性能調(diào)優(yōu)?
11七兜、請(qǐng)分別針對(duì)性能測(cè)試、負(fù)載測(cè)試和壓力測(cè)試試舉一個(gè)簡(jiǎn)單的例子福扬?
?12腕铸、請(qǐng)問(wèn)您是如何得到性能測(cè)試需求惜犀?怎樣針對(duì)需求設(shè)計(jì)、分析是否達(dá)到需求狠裹?
?
軟件測(cè)試虽界,與你同行!公眾號(hào):測(cè)試人追風(fēng)涛菠,領(lǐng)取一線大廠軟件測(cè)試&Python自動(dòng)化面試題資料莉御。