從工作內(nèi)容看軟件性能測(cè)試
在前面的文章中,我們了解到軟件性能測(cè)試的基本概念以及意義,那么在實(shí)際工作中,性能測(cè)試的工作內(nèi)容是什么?本文我們重點(diǎn)了解性能測(cè)試的工作內(nèi)容。
1、測(cè)試確認(rèn)
理解被測(cè)系統(tǒng)、尋找測(cè)試點(diǎn)、確認(rèn)測(cè)試范圍、測(cè)試環(huán)境等。一些重要信息需要同PM、需求人員、設(shè)計(jì)人員討論確認(rèn),如用戶最常用哪些功能、最關(guān)注哪的性能,程序上哪可能是壓力點(diǎn),哪些數(shù)據(jù)需要模擬到真實(shí)的量級(jí),大體上需要使用哪種測(cè)試方法。
2、確定通過(guò)標(biāo)準(zhǔn)
性能是好是壞、測(cè)試是否通過(guò),必須有明確的標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn),主要從客戶的期望和業(yè)務(wù)上的需求兩方面來(lái)考慮,客戶的期望一般指頁(yè)面上的響應(yīng)時(shí)間,業(yè)務(wù)需求則是系統(tǒng)的處理能力,一般為吞吐量或TPS(每秒完成事務(wù)數(shù))。標(biāo)準(zhǔn)制定的不合理,測(cè)試結(jié)果可能無(wú)法反映系統(tǒng)真實(shí)的性能表現(xiàn),或者會(huì)讓客戶無(wú)法接受我們認(rèn)為通過(guò)的軟件。
至于具體如何去設(shè)定,是需要同業(yè)務(wù)負(fù)責(zé)人(一般為PM)和技術(shù)負(fù)責(zé)人(一般為設(shè)計(jì)人員)共同確認(rèn)的,業(yè)務(wù)負(fù)責(zé)人了解用戶的實(shí)際需求和期望,技術(shù)負(fù)責(zé)人了解具體的實(shí)現(xiàn),可以判斷哪些是不可達(dá)到的要求。
一旦達(dá)成了共識(shí),那么測(cè)試就要嚴(yán)格的按照標(biāo)準(zhǔn)去執(zhí)行。
3、測(cè)試設(shè)計(jì)
主要從上面提到的幾個(gè)方面進(jìn)行分析,針對(duì)系統(tǒng)的特點(diǎn)設(shè)計(jì)出合理的測(cè)試場(chǎng)景。為了讓測(cè)試結(jié)果更加準(zhǔn)確,這里需要很細(xì)致的工作。如建立用戶模型,只有知道真實(shí)的用戶是如何對(duì)系統(tǒng)產(chǎn)生壓力,才可以設(shè)計(jì)出有代表性的壓力測(cè)試場(chǎng)景。這就涉及到很多信息,如用戶群的分布、各類型用戶用到的功能、用戶的使用習(xí)慣、工作時(shí)間段、系統(tǒng)各模塊壓力分布等等。只有從多方面不斷的積累這種數(shù)據(jù),才會(huì)讓壓力場(chǎng)景更有意義。最后將設(shè)計(jì)場(chǎng)景轉(zhuǎn)換成具體的用例。
測(cè)試數(shù)據(jù)的設(shè)計(jì)也是一個(gè)重點(diǎn)且容易出問(wèn)題的地方。生成測(cè)試數(shù)據(jù)量達(dá)到未來(lái)預(yù)期數(shù)量只是最基礎(chǔ)的一步,更需要考慮的是數(shù)據(jù)的分布是否合理,需要仔細(xì)的確認(rèn)程序中使用到的各種查詢條件,這些重點(diǎn)列的數(shù)值要盡可能的模擬真實(shí)的數(shù)據(jù)分布(數(shù)據(jù)統(tǒng)計(jì)信息、執(zhí)行計(jì)劃相關(guān)的內(nèi)容,此處就不細(xì)說(shuō)了),否則測(cè)試的結(jié)果可能是無(wú)效的。
此外,性能測(cè)試執(zhí)行過(guò)程中,需要監(jiān)控收集的各種指標(biāo)數(shù)據(jù),也需要明確下來(lái)。
4、測(cè)試環(huán)境準(zhǔn)備
部署測(cè)試環(huán)境,生成測(cè)試數(shù)據(jù),環(huán)境預(yù)調(diào)優(yōu)等等。
5、測(cè)試執(zhí)行、監(jiān)控
準(zhǔn)備測(cè)試腳本,執(zhí)行之前設(shè)計(jì)好的各個(gè)用例,監(jiān)控并收集需要的數(shù)據(jù)。
6、問(wèn)題分析定位、調(diào)優(yōu)
發(fā)現(xiàn)問(wèn)題或者性能指標(biāo)達(dá)不到預(yù)期,及時(shí)的分析定位,處理后重復(fù)測(cè)試過(guò)程。
性能問(wèn)題通常是相互關(guān)聯(lián)相互影響的,表面上看到的現(xiàn)象很可能不是根本問(wèn)題,而是另一處出現(xiàn)問(wèn)題后引起的反應(yīng)。這就要求監(jiān)控收集數(shù)據(jù)時(shí)要全面,從多方面多個(gè)角度去判斷定位。
調(diào)優(yōu)的過(guò)程其實(shí)也是一種平衡的過(guò)程,在系統(tǒng)的多個(gè)方面達(dá)到一個(gè)平衡即可。
7、性能報(bào)告
將測(cè)試過(guò)程中記錄的各種數(shù)據(jù)匯總成報(bào)告,將各方面需要的結(jié)果清楚的展現(xiàn)出來(lái)。
上面所有內(nèi)容中,如果排除技術(shù)上的問(wèn)題,性能測(cè)試中最難做好的,就是用戶模型(或者叫系統(tǒng)使用模型)的分析。它直接決定了壓力測(cè)試場(chǎng)景是否能夠有效的模擬真實(shí)世界壓力,而正是這種對(duì)真實(shí)壓力的模擬,才使性能測(cè)試有了更大的意義??梢哉f(shuō),性能測(cè)試做到一定程度,差距就體現(xiàn)在了模型建立上。
至于性能問(wèn)題的分析、定位或者調(diào)優(yōu),很大程度是一種技術(shù)問(wèn)題,需要多方面的專業(yè)知識(shí)。數(shù)據(jù)庫(kù)、操作系統(tǒng)、網(wǎng)絡(luò)、開(kāi)發(fā)都是一個(gè)合格的性能測(cè)試人員需要擁有的技能,只有這樣,才能從多角度全方位的去考慮分析問(wèn)題。
山東省軟件評(píng)測(cè)中心韓慶良主任說(shuō)過(guò):“對(duì)于測(cè)試人員來(lái)說(shuō),技術(shù)能力只是輔助手段,測(cè)試思想才是最根本的。”敏銳的嗅覺(jué)、嚴(yán)謹(jǐn)?shù)倪壿嫛⒑侠淼耐茰y(cè)、大膽的實(shí)踐是一個(gè)合格測(cè)試工程師的必備要素。
如有疑問(wèn),歡迎登陸http://www.×××/