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