軟件測試 | 性能測試管理障礙
如果以樂觀的態(tài)度來看性能測試工作,可以欣慰地說性能測試工作在企業(yè)中越來越受重視了,因為至少很多項目的管理人員甚至一些公司領(lǐng)導(dǎo)都知道“性能測試”這一工作。不過分析一下國內(nèi)多數(shù)公司的軟件開發(fā)環(huán)境,不難看出軟件測試在開發(fā)過程中仍然沒有受到足夠的重視,作為測試工作一部分的性能測試,很容易被忽略也就不足為奇了,這也是國內(nèi)很多軟件產(chǎn)品處于“亞健康”狀態(tài)的根本原因之一。
性能測試的地位決定了性能測試工作的管理和實施都會存在一定的困難。
1.性能測試習慣拖到最后階段進行
導(dǎo)致拖后是很常見的一種現(xiàn)象。國內(nèi)很多公司系統(tǒng)測試工作都會拖到最后階段進行,這就導(dǎo)致性能測試很容易遇到下面的情形。
當項目或者產(chǎn)品開發(fā)的進度延誤時,首先被延期或者省掉的工作就會是測試,這自然會影響到性能測試的開展。
當系統(tǒng)的缺陷較多時,項目團隊往往投入精力在功能測試上,性能測試很容易被忽視或者在最后階段才進行。
上面的兩種現(xiàn)象是在性能測試工作中經(jīng)常遇到的,也是很多中小企業(yè)公司不斷重復(fù)的場景。性能測試拖后的最嚴重后果是一旦發(fā)現(xiàn)系統(tǒng)性能問題會來不及修改,尤其是架構(gòu)、設(shè)計方面的問題,嚴重的可能會導(dǎo)致整個系統(tǒng)重新開發(fā),因此拖延到后期進行性能測試將很難管理。要想解決這種問題,只有改進組織的開發(fā)流程和規(guī)范測試執(zhí)行過程,否則開發(fā)和測試團隊將會陷入一個惡性循環(huán)的怪圈里。
實際上,性能測試應(yīng)該按照第2.2節(jié)“性能測試策略制定原則”先確定合理的測試策略,然后按照測試計劃來執(zhí)行,而不是按照時間是否充裕來決定什么時候進行。只有從項目啟動階段規(guī)劃好,才更容易做好性能測試。
2.性能測試以走形式的方式進行
“走形式”的性能測試多發(fā)生在下面的情形。
測試一下系統(tǒng)的性能“看看”。一些不懂性能測試的項目負責人經(jīng)常會隨意地安排性能測試,而且一般不會給予性能測試充裕的時間來進行,這種情況多發(fā)生在對自己技術(shù)盲目自信的項目負責人身上,其后果是即浪費了人力又沒有效益。
客戶現(xiàn)場的一些驗收性能測試。這種情況多在項目團隊不重視性能測試時發(fā)生,之所以在驗收測試階段進行性能測試,是因為客戶提出了一些性能測試指標或者銷售人員向客戶做出了性能方面的承諾。本著節(jié)約成本的原則,只在產(chǎn)品投產(chǎn)后和客戶共同測試一下系統(tǒng)的性能,以實現(xiàn)讓客戶進行驗收簽字的目的。這種做法的后果是把系統(tǒng)的性能問題留給客戶區(qū)發(fā)現(xiàn)。
走形式的性能測試是很難發(fā)現(xiàn)真正的性能問題,應(yīng)該避免這種情況發(fā)生。即使對自己的產(chǎn)品有百分之百的信息,也應(yīng)該根據(jù)自己的產(chǎn)品制定合理的性能測試策略和測試計劃,然后按照計劃來開展性能測試。
3.一些無意義的性能測試
除了走形式的性能測試安排外,性能測試工程師們經(jīng)常被安排去做一些無意義的性能測試工作,這種情況多在性能測試進行地1.3節(jié)中的誤區(qū)時發(fā)生。
項目經(jīng)理如果視圖在開發(fā)環(huán)境相愛完成全部性能測試任務(wù),很有可能進行一些無意義的性能測試。例如進行一些和硬件相關(guān)的性能測試,事實上一個J2EE架構(gòu)的系統(tǒng),在1024MB內(nèi)存的開發(fā)環(huán)境下發(fā)現(xiàn)系統(tǒng)內(nèi)存瓶頸沒有太大意義,相反發(fā)現(xiàn)一些功能引起的性能問題(例如內(nèi)存泄漏)才是這個階段的主要任務(wù)。
無意義的性能測試可以通過提高整個組織的認知能力來避免。
此外也可以經(jīng)常進行一些開發(fā)和測試人員的交流來加強性能測試知識的普及,只有整個研發(fā)團隊的能力提高上去了,性能測試工作的管理與實施才會順利進行。