測(cè)試的行業(yè)危機(jī)

入職華為以來(lái),一直做的是測(cè)試工作,這種危機(jī)感在近幾年愈發(fā)強(qiáng)烈,一直想總結(jié)一下,但又擔(dān)心總結(jié)不好,動(dòng)搖軍心。但該面對(duì)的早晚要面對(duì),需改變的也要盡早改變,一定要有革自己命的勇氣。

危機(jī)的預(yù)兆

舉兩個(gè)測(cè)試行業(yè)危機(jī)的例子:

一個(gè)是外部例子。近期參加了幾個(gè)測(cè)試行業(yè)交流,測(cè)試技術(shù)分享方面并沒(méi)有什么新的發(fā)展,還是自動(dòng)化、APP 測(cè)試能力技術(shù)分享。業(yè)界的測(cè)試專家也普遍進(jìn)入一個(gè)迷茫期,很多測(cè)試專家轉(zhuǎn)型敏捷教練、DevOps 流程專家。和幾個(gè)專家聊了一下,也普遍感覺(jué)近幾年業(yè)界對(duì)測(cè)試的關(guān)注已經(jīng)逐步偏弱。

另外一個(gè)是內(nèi)部的例子。華為 2017 年應(yīng)屆生招聘已經(jīng)啟動(dòng),在啟動(dòng)材料中,明確說(shuō)明華為已經(jīng)取消了軟件測(cè)試工程師的崗位,HR 認(rèn)為現(xiàn)在的軟件需要全棧工程師,開(kāi)發(fā)工程師也需要具備自測(cè)的能力。

危機(jī)產(chǎn)生的原因

測(cè)試行業(yè)發(fā)展的頂峰應(yīng)該在 2000 年后,Google 測(cè)試體系大肆宣傳的那幾年,市面上到處都是 Google 測(cè)試的書(shū)籍,自動(dòng)化測(cè)試能力也得到業(yè)界的高度認(rèn)同,整個(gè) IT 界都在推廣自動(dòng)化,一個(gè)測(cè)試專家僅靠自動(dòng)化能力就會(huì)獲得比較高的薪資。而近幾年隨著軟件技術(shù)的快速發(fā)展,技術(shù)知識(shí)越來(lái)越容易獲取,技術(shù)的迭代周期也不斷加速,技術(shù)門(mén)檻也越來(lái)越低。在這種大背景下,專職測(cè)試的必要性也在不斷受到挑戰(zhàn),特別對(duì)于一些創(chuàng)業(yè)類的小型公司,在沒(méi)有專職測(cè)試的條件下,產(chǎn)品也能得到市場(chǎng)的認(rèn)可。

隨著軟件開(kāi)源社區(qū)的快速發(fā)展,軟件工具的易用性也在不斷加強(qiáng),各類開(kāi)發(fā)和測(cè)試框架層出不窮,技術(shù)人員可以很方便的使用框架代碼實(shí)現(xiàn)自己的需求,按照公司的說(shuō)法是我們無(wú)需自己造輪子。各種輪子的使用,讓業(yè)務(wù)開(kāi)發(fā)變得更加便捷,這也是為什么華為的軟件可以使用大量合作的原因,也許不久的將來(lái),這個(gè)行業(yè)真的會(huì)變成勞動(dòng)密集型行業(yè),未來(lái)受到?jīng)_擊的可能不僅僅是測(cè)試和運(yùn)維,開(kāi)發(fā)一樣存在在行業(yè)危機(jī)。

軟件工程方法也在不斷演進(jìn)。以近期盛行的 DevOps 為例,該流程倡導(dǎo)一種全功能團(tuán)隊(duì)的運(yùn)作模式,團(tuán)隊(duì)中的各個(gè)角色分工相對(duì)模糊,開(kāi)發(fā)需要投入自測(cè)和運(yùn)維,這種開(kāi)發(fā)模式體現(xiàn)了及時(shí)響應(yīng),及時(shí)改進(jìn)的快速迭代思想,提升了對(duì)開(kāi)發(fā)的要求,但是對(duì)于運(yùn)維和測(cè)試角色,造成了一定沖擊。

傳統(tǒng)的軟件測(cè)試,特別是通信類產(chǎn)品和大型的 To B 類軟件,對(duì)交付質(zhì)量較高,有很高的門(mén)檻。一個(gè)測(cè)試專家需要了解無(wú)線交換、數(shù)通網(wǎng)絡(luò)、小型機(jī)、軟件、各類信令。專家到各地開(kāi)局時(shí),往往是單槍匹馬,一人搞定,受到辦事處同事的敬仰膜拜。記得有次給客戶演示 VPN 短號(hào),業(yè)務(wù)服務(wù)器故障一直無(wú)法定位,征得客戶的同意,直接在交換上做了一個(gè)號(hào)碼變換,先解決演示的問(wèn)題,當(dāng)時(shí)測(cè)試人員要求的技術(shù)廣度遠(yuǎn)超于開(kāi)發(fā)人員。

但是近幾年,通信業(yè)已經(jīng)無(wú)法阻擋軟件化的趨勢(shì),隨著 CT 技術(shù)門(mén)檻也在不斷降低,華為也正喊出了 CT 轉(zhuǎn) IT 的口號(hào)。軟件的微服務(wù)、云化等技術(shù),讓測(cè)試人員工作也不斷簡(jiǎn)化,很多新來(lái)的同事對(duì)直接使用計(jì)算云部署環(huán)境,對(duì)物理服務(wù)器的了解也是一知半解,在知識(shí)廣度方面可能和開(kāi)發(fā)持平,而在深度方面,又不如開(kāi)發(fā),測(cè)試技術(shù)不在存在門(mén)檻,角色的必需性正在不斷的弱化。

華為測(cè)試人員的現(xiàn)狀

華為大部分部門(mén)的測(cè)試開(kāi)發(fā)比在 1:3 或 1:4 這個(gè)比例,這在業(yè)界是比較高的,比例高有兩方面原因,一方面是和我們的通信軟件質(zhì)量要求比較高有關(guān),需要多輪的驗(yàn)證,需要大型解決方案的交付。另外一方面和華為的 IPD 流程相關(guān),大量的測(cè)試交付件,大量的評(píng)審和會(huì)議,為了確保大家步調(diào)的一致性,行管部門(mén)還是定期進(jìn)行飛檢和數(shù)據(jù)晾曬。嚴(yán)謹(jǐn)?shù)牧鞒瘫U弦彩怯欣斜?,從好處?lái)看,可以確保軟件的質(zhì)量不會(huì)出現(xiàn)大的問(wèn)題,適合軟件開(kāi)發(fā)的大兵團(tuán)運(yùn)作,弊端來(lái)看,嚴(yán)重影響到軟件的生產(chǎn)效率。

從華為對(duì)測(cè)試角色的定位看,測(cè)試需要承擔(dān)三種職能角色,一種是管控角色。測(cè)試人員就像就像沙丁魚(yú)箱中的鯰魚(yú)一樣,不斷的通過(guò)各種數(shù)據(jù),各流程,驅(qū)動(dòng)上游團(tuán)隊(duì)持續(xù)的保持活躍,進(jìn)行相關(guān)的改進(jìn)。并且測(cè)試作為研發(fā)的一個(gè)環(huán)節(jié),本身也要提供相關(guān) TR 點(diǎn)的素材,配合提供項(xiàng)目的各類測(cè)試交付材料。在大型的團(tuán)隊(duì)中,這部分的流程和數(shù)據(jù)還是非常受到領(lǐng)導(dǎo)重視,因此也產(chǎn)生了很多華為自有測(cè)試員工,過(guò)于投入流程和數(shù)據(jù),而忽略業(yè)務(wù)本身的現(xiàn)象。

第二種角色是質(zhì)量服務(wù)角色。就是測(cè)試要對(duì)產(chǎn)品投入實(shí)際的測(cè)試執(zhí)行工作,發(fā)現(xiàn)版本的質(zhì)量問(wèn)題。在華為傳統(tǒng)觀念中,測(cè)試部應(yīng)該對(duì)產(chǎn)品的質(zhì)量負(fù)責(zé),負(fù)責(zé)的重要標(biāo)準(zhǔn)就是測(cè)試部需要對(duì)版本進(jìn)行一次完整測(cè)試,需要輸出相關(guān)結(jié)論。在華為和開(kāi)發(fā)和測(cè)試分工中,也是基于一種不信任的配合關(guān)系,測(cè)試人員不需要關(guān)注開(kāi)發(fā)測(cè)試過(guò)程中已經(jīng)驗(yàn)證了什么,版本轉(zhuǎn)測(cè)試后,測(cè)試必須完整版本驗(yàn)證工作,從部門(mén)的角度給出最終的結(jié)論。而這種測(cè)試定位,在互聯(lián)網(wǎng)領(lǐng)域中,已經(jīng)逐步的弱化,只有關(guān)鍵的產(chǎn)品才會(huì)投入專職的測(cè)試專家進(jìn)行測(cè)試設(shè)計(jì)和執(zhí)行工作。

第三種是工程能力角色,類似 Google 的工程生產(chǎn)力部門(mén),定位為提升研發(fā)過(guò)程效率和質(zhì)量,輸出相關(guān)工具和方法的支撐,提升整個(gè)研發(fā)過(guò)程的測(cè)試效率。目前這部分的專家主要集中在 2012 實(shí)驗(yàn)室和幾個(gè)大產(chǎn)品線的工具部。而產(chǎn)品測(cè)試(業(yè)務(wù)測(cè)試)投入的能力建設(shè),主要集中在 DFX 的特性測(cè)試以及自動(dòng)化能力方面。

對(duì)于華為傳統(tǒng)的 To B 類產(chǎn)品,測(cè)試投入的 1、2 兩個(gè)角色職能的工作非常多,也占用了業(yè)務(wù)測(cè)試團(tuán)隊(duì)的大量時(shí)間,特別對(duì)于具體的測(cè)試執(zhí)行,各產(chǎn)品線業(yè)務(wù)測(cè)試投入大量合作員工進(jìn)行基礎(chǔ)的測(cè)試保障。對(duì)于工具和測(cè)試能力的提升,2012 實(shí)驗(yàn)室的測(cè)試行業(yè)投入較多,在 6+1 測(cè)試工具有了一些成果,但是能力和業(yè)務(wù)還是有一定的脫節(jié),行業(yè)專家不會(huì)介入業(yè)務(wù)太深,業(yè)務(wù)定制化的測(cè)試需求也較多,導(dǎo)致很多實(shí)際的業(yè)務(wù)測(cè)試效率問(wèn)題,仍然需要業(yè)務(wù)自身解決。

我所在的云服務(wù)屬于公司內(nèi)少有的 To C 類產(chǎn)品。我們所有的產(chǎn)品都是無(wú)需向運(yùn)營(yíng)商交付的,對(duì)自有業(yè)務(wù)需求的控制比 To B 產(chǎn)品好太多,也可以在我們自有的環(huán)境上進(jìn)行灰度發(fā)布,Beta 測(cè)試,很多快速交付的實(shí)踐都在產(chǎn)品中落地,因此可以做到每月至少一次的迭代發(fā)布。

但是對(duì)于云服務(wù)測(cè)試來(lái)講,也仍然面臨的較多的問(wèn)題。我們的測(cè)試開(kāi)發(fā)比在 1:7 到 1:10,基本上一個(gè)人負(fù)責(zé)一個(gè)或者多個(gè)模塊的測(cè)試,在華為的質(zhì)量體系下,我們也是要遵從華為一些質(zhì)量交付件,例如云服務(wù)需要與 EMUI 進(jìn)行版本的配套,相關(guān)的測(cè)試交付還是要參考 IPD 的流程,所以在流程工作的投入上,測(cè)試人員投入的仍然很多,各類的會(huì)議也是很多。安全交付件更是如此,這是公司的紅線。在組織職責(zé)方面,測(cè)試和開(kāi)發(fā)的組織職責(zé)也可以相對(duì)獨(dú)立,不存在開(kāi)發(fā)自測(cè)交付的概念,在版本交付后,所有的測(cè)試的工作需要測(cè)試部獨(dú)立承擔(dān),包括外部采購(gòu)的合作項(xiàng)目,可能開(kāi)發(fā)需要投入一個(gè) PM,但是測(cè)試要完成所有驗(yàn)收。未解決測(cè)試執(zhí)行覆蓋的問(wèn)題,也是大量使用了合作員工,合作自有比也超過(guò) 5:1,合作的流失和培養(yǎng)一直都是歷史難題。

因?yàn)閳F(tuán)隊(duì)規(guī)模比較小,能力建設(shè)方面也主要采用合作的模式,依賴外部的測(cè)試能力和 2012 的團(tuán)隊(duì),來(lái)推進(jìn)云測(cè), 6+1 等方面工作合作,測(cè)試的重點(diǎn)依然的是自動(dòng)化,DFX 等方面。而對(duì)于業(yè)務(wù)體驗(yàn)等方面關(guān)注的力度并不足。交付類測(cè)試仍然是我們工作的主要方向。

業(yè)務(wù)測(cè)試人員的發(fā)展方向

雖然前面講了很多測(cè)試的危機(jī)和問(wèn)題,但是從行業(yè)發(fā)展的必要性來(lái)講,測(cè)試是質(zhì)量的重要保障,測(cè)試行業(yè)不可能被淘汰,我們只需要考慮如何讓我們的行業(yè)價(jià)值更高,讓自己不會(huì)被這個(gè)時(shí)代所拋棄。

公司一直倡導(dǎo)的都是工匠精神,但是軟件行業(yè)和傳統(tǒng)的手藝不同,我們所使用的工具在不斷的變化,十幾年前,我們還在使用 Basic、Pascal,但是現(xiàn)在已經(jīng)是 Java 的天下了,軟件的工匠精神不是比拼的是對(duì)語(yǔ)言和工具的熟悉,更多的在于軟件系統(tǒng)的經(jīng)驗(yàn)。

測(cè)試的定位,不是僅僅發(fā)現(xiàn)版本的問(wèn)題,或者做簡(jiǎn)單測(cè)試技術(shù)工具的投入,而是應(yīng)該定位更高一層,測(cè)試是整個(gè)產(chǎn)品的質(zhì)量守護(hù)者,需要具備提前預(yù)防質(zhì)量風(fēng)險(xiǎn)的能力,應(yīng)該具備推進(jìn)產(chǎn)品測(cè)試技術(shù)改進(jìn)的能力,也應(yīng)該具備產(chǎn)品研發(fā)過(guò)程中(含開(kāi)發(fā)環(huán)節(jié))測(cè)試效率提升的能力。測(cè)試能真正從客戶角度去看待和發(fā)現(xiàn)問(wèn)題,并推動(dòng)客戶質(zhì)量滿意度的不斷提升。這個(gè)定位很高,實(shí)現(xiàn)過(guò)程也很難,我們現(xiàn)在普通的測(cè)試人員 80% 都是在測(cè)試的具體執(zhí)行和一堆的事務(wù)性工作上,每日都在加班加點(diǎn),很少有沉下心來(lái)分析問(wèn)題的根因,通過(guò)學(xué)習(xí)不斷尋找技術(shù)改進(jìn)的方向。

從測(cè)試技術(shù)發(fā)展來(lái)看,測(cè)試的工具化或自動(dòng)化肯定是未來(lái)的趨勢(shì),自動(dòng)化的比例會(huì)不斷的提升,但是機(jī)器的自動(dòng)化短期內(nèi)無(wú)法實(shí)現(xiàn)完全脫離測(cè)試人員的,仍然需要人工接入進(jìn)行相關(guān)的自動(dòng)化設(shè)計(jì)。從執(zhí)行的特點(diǎn)看,測(cè)試分為兩類,一類是固定場(chǎng)景的驗(yàn)證,一類是未知場(chǎng)景的探索。

對(duì)于固定場(chǎng)景的驗(yàn)證,有預(yù)期的輸入和輸出,無(wú)論是接口測(cè)試還是 LLT (底層測(cè)試),都是具備這個(gè)特點(diǎn)。測(cè)試人員的重點(diǎn)是將具體的場(chǎng)景抽象為自動(dòng)化用例,提升回歸測(cè)試的工作效率。對(duì)于基于 UI 的自動(dòng)化,因?yàn)楫a(chǎn)品可能存在較大變動(dòng),UI 識(shí)別也存在部分確定性,我們可以量力而行或盡可能抽象為接口自動(dòng)化。在自動(dòng)化工作中,測(cè)試要對(duì)開(kāi)發(fā)有足夠的可測(cè)試性要求,產(chǎn)品具備良好的代碼解耦的架構(gòu)。

對(duì)于未知場(chǎng)景的探索,主要是針對(duì)沒(méi)有對(duì)應(yīng)測(cè)試設(shè)計(jì)的測(cè)試驅(qū)動(dòng)??梢苑譃楣ぞ哳惖淖詣?dòng)化探索,例如我們手機(jī)可靠性測(cè)試使用的 monkey,以及安全測(cè)試的 fuzzy 等。測(cè)試的場(chǎng)景由工具生成和決定。另外一種是人工的探索測(cè)試,這個(gè)概念近幾年也比較盛行。但個(gè)人認(rèn)為這種在可行性上還是有一定難度,對(duì)測(cè)試人員的經(jīng)驗(yàn)要求較高,目前我們也并沒(méi)有組織,主要通過(guò) Beta 測(cè)試,引入大量普通用戶完成各類場(chǎng)景的探索。

任何測(cè)試都是不能 100% 發(fā)現(xiàn)問(wèn)題,網(wǎng)上問(wèn)題的發(fā)生也是很難避免,測(cè)試需要盡量降低網(wǎng)上問(wèn)題的級(jí)別和發(fā)生概率,并且需要具備較高質(zhì)量風(fēng)險(xiǎn)防范的意識(shí),對(duì)于高風(fēng)險(xiǎn)產(chǎn)品必須有雙重(或三重)的防范機(jī)制。例如我們做一個(gè)支付類產(chǎn)品,可能會(huì)在存在某些質(zhì)量問(wèn)題,導(dǎo)致用戶未支付的情況下,支付狀態(tài)進(jìn)行了更新(這個(gè)例子可能大家感覺(jué)不會(huì)出現(xiàn),但是現(xiàn)實(shí)中有各類可能)。測(cè)試人員必須對(duì)產(chǎn)品提出,有額外的管控系統(tǒng),對(duì)賬號(hào)進(jìn)行準(zhǔn)實(shí)時(shí)的核查比對(duì),確保收支一致。互聯(lián)網(wǎng)有過(guò)類似的安全,2012 年某東積分兌換 BUG 的問(wèn)題轟動(dòng)一時(shí)。好的測(cè)試專家需要像扁鵲大哥一樣,盡可能的識(shí)別和規(guī)避可能的質(zhì)量風(fēng)險(xiǎn)。

測(cè)試人員的技能模型應(yīng)該保持多樣性的發(fā)展,在廣度方面不斷延伸,深度方面可以選擇一兩項(xiàng)技術(shù)進(jìn)行不斷挖掘。有三點(diǎn)需要測(cè)試重點(diǎn)關(guān)注:

編碼能力:特別對(duì)于新員工,這個(gè)能力是與開(kāi)發(fā)有共同語(yǔ)言的基礎(chǔ)。測(cè)試人員需要了解對(duì)應(yīng)業(yè)務(wù)的代碼框架,構(gòu)建工具,以及 LLT 測(cè)試,持續(xù)推動(dòng)開(kāi)發(fā)過(guò)程中的改進(jìn),能給予代碼提出測(cè)試建議,將質(zhì)量構(gòu)建在開(kāi)發(fā)階段。

組網(wǎng)能力:測(cè)試需要對(duì)系統(tǒng)的組網(wǎng),以及實(shí)際的部署情況有清晰的技術(shù)理解,這樣才能發(fā)現(xiàn)更多的質(zhì)量問(wèn)題和隱患。這個(gè)說(shuō)起來(lái)是比較簡(jiǎn)單,但是如果做到深入的了解,還是有很高的技術(shù)難度,例如我們現(xiàn)在各個(gè)業(yè)務(wù)使用的 CDN 和 DNS,如何組網(wǎng)可以讓我們的系統(tǒng)體驗(yàn)會(huì)更快更好。用戶使用的 UC、QQ 瀏覽器等是具備緩存加速,在緩存場(chǎng)景下是否會(huì)對(duì)某些業(yè)務(wù)特性產(chǎn)生影響。

業(yè)務(wù)能力:測(cè)試不能脫離業(yè)務(wù),這也是為測(cè)試人員未來(lái)轉(zhuǎn)型產(chǎn)品經(jīng)理或其他崗位的一個(gè)必備能力。無(wú)論開(kāi)發(fā)還是測(cè)試,能在整個(gè)職業(yè)生涯中,堅(jiān)持到底的,是少之又少。大型產(chǎn)品線如有測(cè)試系統(tǒng)部之類的部門(mén),如果脫離業(yè)務(wù),純粹投入技術(shù)規(guī)劃或流程規(guī)劃,往往會(huì)逐步被產(chǎn)品邊緣化。

產(chǎn)品會(huì)有各類的隱患和問(wèn)題,測(cè)試人員如果長(zhǎng)期只發(fā)現(xiàn)簡(jiǎn)單的 BUG,不僅會(huì)讓技能水平下降,而且會(huì)失去對(duì)工作的興趣,我們只有通過(guò)工具或技術(shù)不斷解決問(wèn)題,才能挖掘測(cè)試工作的樂(lè)趣。

 

 

極客網(wǎng)企業(yè)會(huì)員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2016-10-12
測(cè)試的行業(yè)危機(jī)
入職華為以來(lái),一直做的是測(cè)試工作,這種危機(jī)感在近幾年愈發(fā)強(qiáng)烈,一直想總結(jié)一下,但又擔(dān)心總結(jié)不好,動(dòng)搖軍心。但該面對(duì)的早晚要面對(duì),需改變的也要盡早改變,一定要有革自己命的勇氣。危機(jī)的預(yù)兆舉兩個(gè)測(cè)試行業(yè)危機(jī)的例子:一個(gè)是外部例子。近期參加了幾個(gè)測(cè)試行業(yè)交流,測(cè)試技術(shù)

長(zhǎng)按掃碼 閱讀全文