大自然素以平衡為美,穩(wěn)定,可持續(xù)是很多事物的一個(gè)穩(wěn)態(tài)。
捕魚,講究獵殺不絕,生生不息。
做公司思考著如何構(gòu)建自運(yùn)營的公司,做團(tuán)隊(duì)思考著如何構(gòu)建可持續(xù)發(fā)展的團(tuán)隊(duì)。而做我們測試,思考如何構(gòu)建穩(wěn)定,可持續(xù)發(fā)展的測試體系,如果,我想,可以稱之為完美測試體系。
順應(yīng)自然的運(yùn)行法則,我自底向上進(jìn)行一個(gè)分析和思考,看看我夢想中的完美測試體系。
階段一,運(yùn)轉(zhuǎn)起來。
要有這樣一群人,他們能夠分析需求,制定測試計(jì)劃與策略,完成用例編寫和執(zhí)行工作,其中,有一定經(jīng)驗(yàn)的測試項(xiàng)目經(jīng)理。
他們能夠,有效按照用戶需求,進(jìn)行黑盒用例設(shè)計(jì),對被測系統(tǒng)進(jìn)行功能測試,邊界測試,一定容錯(cuò)和異常測試,加一些場景測試和必要有效的性能測試。
好了,流程制定起,運(yùn)轉(zhuǎn)起來,這個(gè)階段完美嗎?也挺好的,穩(wěn)定,有效,并且,可以比較OK的完成老板給定的任務(wù)。然而,許多團(tuán)隊(duì)易出現(xiàn)一種現(xiàn)象,進(jìn)入該 穩(wěn)定的狀態(tài)后,由于項(xiàng)目緊,大家工作忙無有效能力提高,一個(gè)項(xiàng)目接一個(gè),忙,無改進(jìn),忙,死循環(huán)。 人走人來,可謂穩(wěn)定而不完美。
階段二,打破平衡,改進(jìn)效益。
要有自動化,打破忙的重復(fù)的勞動,也許一開始并不順利,畢竟新生事物剛開始成長都是艱難的,相信自己,做下去。
要有業(yè)務(wù)專家,深度挖掘測試需求,改進(jìn)一開始很可能并不合理的測試點(diǎn),精簡無用冗長的測試用例,方便手工測試,方便自動化。
要有性能專家,不斷改進(jìn)性能測試需求。
如何打破?有潛力的,主動性好的人,不要給予100%項(xiàng)目時(shí)間,50%-70%夠了,指派更有前瞻性的工作,例如,新的測試技術(shù)產(chǎn)出,自動化實(shí)踐,即將 進(jìn)行的下版本測試分析預(yù)研性工作。記住,管理人員敢于失敗敢于承擔(dān)。培養(yǎng)起骨干人員,不斷有所產(chǎn)出。形成一個(gè)小的可持續(xù)改進(jìn)循環(huán)。靜等有能力的人出現(xiàn)。
階段三,旋轉(zhuǎn),完美起來。
有了骨干人員的成長,相信,一定有能力完成:
1、自動化可以在項(xiàng)目初期提交自動化需求,融合自動化在測試流程中,在適當(dāng)?shù)臅r(shí)候使用自動化測試,也許,當(dāng)前自動化已經(jīng)復(fù)用完成了許多功能模塊的覆蓋。這是自動化專家可以完成的工作。
2、業(yè)務(wù)精通的測試分析專家,能夠有效制定精細(xì)的測試策略,包括版本模塊的測試重點(diǎn),使用哪些技術(shù)測試,制定有效的分層測試戰(zhàn)略。分層測試在這里可以大 規(guī)模節(jié)省成本,例如,使用自動化完成關(guān)鍵部分的接口級測試,而不是做難于大規(guī)模產(chǎn)出效益的UI級自動化。使用UI自動化測試最有必要,易于改動引發(fā)問題的 部分。分層測試可以有效節(jié)省測試用例設(shè)計(jì)和可測性的工作量。通過模塊分離,可以有效分離BUG產(chǎn)生原因,便于開發(fā)修改和回歸。
3、性能測試專家,與測試策略同時(shí)制定,分析系統(tǒng)可能存在的性能問題,完成高效的性能測試需求,如,利用什么樣的工具或改進(jìn)現(xiàn)有工具,高效完成哪些性能指標(biāo)測試。
4、高效執(zhí)行團(tuán)隊(duì),固定的不易于改變的,通過一次手工執(zhí)行和方便的自動化框架構(gòu)建下次可快速回歸的執(zhí)行過程。有效的BUG review,和有針對性的發(fā)散性和探索性測試,構(gòu)建場景測試的團(tuán)隊(duì)。如有需求,構(gòu)建安全測試團(tuán)隊(duì)。
我們來看看,現(xiàn)在一次完美的測試過程:
項(xiàng)目立項(xiàng),由用戶和BOSS立項(xiàng),研發(fā)和測試跟進(jìn),各技術(shù)專家評審需求,除提供有效的場景供用戶和開發(fā)確定外,測試分析專家(架構(gòu)師)給予可測 試性需求,包括不限于,用戶級需求的可測試性分析;白盒測試的約束和接口,如庫的導(dǎo)出標(biāo)準(zhǔn);與開發(fā)的架構(gòu)師一起確定整體設(shè)計(jì)方案是否合理有效,并指導(dǎo)或確 定可測試性設(shè)計(jì)要求。
項(xiàng)目設(shè)計(jì),開發(fā)在處理用戶需求的同時(shí),跟進(jìn)前期測試,完成自動化測試需求,測試專家的可測試性需求跟蹤和測試策略的制定。
項(xiàng)目編寫集成,項(xiàng)目的自動化工程師和執(zhí)行人員介入,按照項(xiàng)目流程和策略進(jìn)行集成測試,并同時(shí)產(chǎn)出相關(guān)自動化用例,完成制定的測試分析專家的分層測試策略與其他測試策略。
項(xiàng)目系統(tǒng)測試,根據(jù)策略,至少2輪以上,快速回歸自動化,集成發(fā)散性測試和探索性測試,充分發(fā)揮大家的思考發(fā)散能力,將上一階段的問題發(fā)現(xiàn)并提交,并回溯起來,不斷改進(jìn)前期過程。
項(xiàng)目穩(wěn)定性和場景測試,由相關(guān)人員進(jìn)行場景測試,保證到最終用戶的可靠的使用。
是否完美呢?它有高效的運(yùn)作方式,有經(jīng)驗(yàn)豐富和技術(shù)牛人指導(dǎo)前期,有完整高效的分層策略和自動化保證快速開發(fā),有穩(wěn)定性與用戶場景保證最終的可 靠性發(fā)布。如果說不完美,有一點(diǎn),還缺少那么一點(diǎn)點(diǎn)預(yù)見性,那么,培養(yǎng)具有市場前瞻性的技術(shù)專家吧,例如,提前半年分析超大流量的測試技術(shù),提前研究移動 終端的快速測試技術(shù)。
自底向上,意味著,很多東西我們管理需要培養(yǎng)起有能力的人員由他們自然推動,而不是靠從上向下的強(qiáng)推自動化,強(qiáng)推所謂的敏捷流程。
至于流程,在完美測試體系中,它應(yīng)該融入到我們的研發(fā)和測試平臺中。自然隨性,不知不覺跟進(jìn)了流程。這是流程的最高境界。
在測試界中,易于出現(xiàn)無成就感的問題,在這里,沒有任何問題,每個(gè)人有向上發(fā)展的動力,有其不同的價(jià)值體現(xiàn)。最終的大牛進(jìn)入研發(fā)過程改進(jìn)中。
所謂大局觀,是一種思路,在管理過程中,抓住前瞻性的重要不緊急工作,把它做好。那么,自然,穩(wěn)定的,可持續(xù)的完美測試體系,在未來,可成矣。
“飲鴆止渴”, 萬萬不可。