專訪中興劉長山:云測試帶我們從封閉走向開放
原創(chuàng)云測試是基于云計(jì)算的一種新型測試方案,基于高性能、彈性、可恢復(fù)性、安全性的云平臺(tái),測試人員可以從中訪問到大量的計(jì)算資源,使企業(yè)更好地了解到怎樣能使客戶擁有更好的產(chǎn)品體驗(yàn)。云測試最主要的優(yōu)點(diǎn)是可以節(jié)省內(nèi)部測試環(huán)境的創(chuàng)建、維護(hù)和審批成本,從而能夠有效地幫助企業(yè)節(jié)約硬件資源,加速企業(yè)應(yīng)用面市進(jìn)程。
但是,云計(jì)算作為新興技術(shù),讓很多傳統(tǒng)用戶不敢輕易接招,他們認(rèn)為很難評估這個(gè)方案到底能給他們帶來多少好處,也對企業(yè)內(nèi)部測試團(tuán)隊(duì)和組織架構(gòu)如何圍繞它進(jìn)行轉(zhuǎn)型感到茫然。
帶著這個(gè)疑問,在11月21日北京國際會(huì)議中心的***00全球軟件案例峰會(huì)上,51CTO記者專訪到中興通訊技術(shù)總工劉長山,與我們分享中興測試團(tuán)隊(duì)在云測試服務(wù)中,是如何通過吸收傳統(tǒng)測試的經(jīng)驗(yàn),從而在技術(shù)和體驗(yàn)兩個(gè)層面,來更多的發(fā)揮測試價(jià)值和作用的。
采訪對象簡介:
劉長山,中興通訊技術(shù)總工, 測試系統(tǒng)工程師。主要負(fù)責(zé)智能終端類產(chǎn)品測試方案設(shè)計(jì),測試架構(gòu)、能力搭建等工作。個(gè)人愛好音樂,電影,不算技術(shù)控,但對測試技術(shù)有強(qiáng)烈的興趣。
以下為51CTO記者對劉長山老師的專訪錄音整理。
首先請您介紹一下您個(gè)人的發(fā)展情況,在中興主要負(fù)責(zé)哪些工作?
2004年畢業(yè)以后我就到了中興,一直負(fù)責(zé)測試領(lǐng)域的工作,已經(jīng)十年了。從最早的終端產(chǎn)品,到產(chǎn)品級解決方案的測試,包括傳統(tǒng)的測試,測試的執(zhí)行、設(shè)計(jì),再到測試架構(gòu),可以說一直在測試領(lǐng)域不斷學(xué)習(xí)。
在中興,終端類的測試都是在我們的產(chǎn)品測試中心完成的,測試中心的團(tuán)隊(duì)技術(shù)非常強(qiáng)大,本人負(fù)責(zé)整個(gè)技術(shù)、框架、體系和流程搭建這一塊。我們內(nèi)部有一個(gè)技術(shù)標(biāo)準(zhǔn)委員會(huì),負(fù)責(zé)產(chǎn)品測試的各項(xiàng)組織、設(shè)計(jì)工作。
是什么讓您想到要轉(zhuǎn)變思路,開展共享的云測試服務(wù)呢?
云測試平臺(tái)的搭建,也是我們整個(gè)團(tuán)隊(duì)基于現(xiàn)狀所考慮的。從內(nèi)部來講,中興是個(gè)傳統(tǒng)企業(yè),規(guī)模比較大,分工也比較細(xì)。以往的這種傳統(tǒng)的模式,不論是人工組織的,還是說流程驅(qū)動(dòng)的,效率提升的空間很大。比如測試資源的使用效率。所以我們希望能夠建立一套方案來綜合將人、工具、設(shè)備、系統(tǒng)這些資源可以復(fù)用起來。前兩年“云計(jì)算”技術(shù)的興起,可以利用“云”這個(gè)體系和思路去幫助實(shí)現(xiàn)我們的想法,任何人借助“云”的平臺(tái)都能夠簡單的使用服務(wù)。
傳統(tǒng)測試關(guān)注的重點(diǎn),主要是這個(gè)產(chǎn)品有沒有做好,對用戶感覺的關(guān)注點(diǎn)相對差一些。移動(dòng)互聯(lián)網(wǎng)時(shí)代下,產(chǎn)品更多的是要考慮客戶的體驗(yàn),云測試是開放的,他可以讓我們更好地了解怎么做讓用戶對這個(gè)產(chǎn)品達(dá)到***程度的滿意。
咱們的云平臺(tái)設(shè)架構(gòu)是怎樣的?與其他廠商相比較,它的優(yōu)勢或者特點(diǎn)在哪里?
“云測試”不是一蹴而就的,而是基于我們企業(yè)的特點(diǎn)來設(shè)計(jì)的。中興的云測試架構(gòu)主要為測試基礎(chǔ)資源層、軟件技術(shù)和能力層、及平臺(tái)服務(wù)層,對應(yīng)經(jīng)典架構(gòu)中IaaS、SaaS、 PaaS三層服務(wù)。
在我們內(nèi)部實(shí)際的改造過程中,涉及到流程的改造、技術(shù)和能力的提升、方法的改變,包括觀念的改變。云測試的服務(wù)能夠解決一個(gè)基礎(chǔ)性的問題,就是測試資源的高效實(shí)用。我們通過虛擬化的技術(shù),把移動(dòng)終端、存儲(chǔ)、測試資源整合到我們的共享資源池,這樣一方面降低企業(yè)成本,現(xiàn)有測試資源可以平滑的延續(xù)使用,另外也滿足了新增實(shí)驗(yàn)室和能力的持續(xù)不斷加入。
云測試解決方案,我們一直在持續(xù)改進(jìn),根據(jù)我們的需要和自身技術(shù)能力的提升不斷優(yōu)化設(shè)計(jì)?,F(xiàn)在,我們已經(jīng)把測試服務(wù)云做成一個(gè)標(biāo)準(zhǔn)的產(chǎn)品,通過集成流程管理系統(tǒng)和測試資源管理系統(tǒng)來高效使用測試資源和人力,讓我們可以更多的關(guān)注產(chǎn)品設(shè)計(jì)階段的測試和用戶的使用,而不在過渡擔(dān)心資源和技術(shù)上的問題。
現(xiàn)在我們的測試方法有哪些具體的改變呢?
對于很多傳統(tǒng)的企業(yè),產(chǎn)品的的測試更多偏向人工的測試,一些儀表在項(xiàng)目緊張的時(shí)候,有時(shí)需要測試人員兩班倒,甚至三班倒。在“云”的體系之下,我們通過技術(shù)的改進(jìn),來提升我們的設(shè)備使用效率。比如說我們可以通過“自動(dòng)化”的方法,把任務(wù)下給儀表,讓儀表自動(dòng)地去完成這個(gè)測試。再通過一個(gè)平臺(tái),把這個(gè)結(jié)果自動(dòng)輸出,再把這個(gè)結(jié)果回傳到我的平臺(tái)中去。這個(gè)過程不需要人工參與,就不涉及人員的排配,不管這位同學(xué)是新手,不需要培訓(xùn),也不需要擔(dān)心因?yàn)榻?jīng)驗(yàn)不足出現(xiàn)結(jié)果誤判。過程經(jīng)驗(yàn)通過持續(xù)不斷的的積累,結(jié)合自動(dòng)化測試技術(shù)的引入,讓我們的測試進(jìn)展的更加透明。任務(wù)分配、測試日報(bào)、計(jì)劃下發(fā)、任務(wù)跟綜和結(jié)果回收都是自動(dòng)化的,帶來了非常大的改變。我們的測試管理團(tuán)隊(duì)很開心,因?yàn)槿請?bào)都不用人來手動(dòng)編寫了,通過測試云就自動(dòng)完成了。
這個(gè)過程對我們團(tuán)隊(duì)的分工產(chǎn)生了什么影響呢?
直接影響就是測試分工走向?qū)I(yè)化。對于一個(gè)傳統(tǒng)或者說相對大型的產(chǎn)品的測試,往往不會(huì)是一兩個(gè)研發(fā)、測試人員就可以承接的。對于大型產(chǎn)品的測試往往需要非常專業(yè)的分工和有效組織。面向研發(fā)的,需要代碼級和仿真的能力,而面向體驗(yàn)類的測試,又測試人員能夠站在用戶的角度去設(shè)計(jì)場景,包括和用戶交流,溝通反饋等,可以說差別越來越大。
我們針對不同軟件的、硬件的、協(xié)議的、底層的、用戶的需求,都有不同的團(tuán)隊(duì)相對固定的來負(fù)責(zé)這個(gè)事情。這個(gè)好處就是經(jīng)驗(yàn)可以持續(xù)地積累起來,同時(shí)利用我們測試云的知識庫平臺(tái),可以將經(jīng)驗(yàn)和技術(shù)轉(zhuǎn)化為可見的成果。
面向不同的用戶視角,咱們云測試的服務(wù)是怎樣實(shí)現(xiàn)的?
首先,和用戶互動(dòng)更方便了。通過我們的平臺(tái),讓真正的用戶直接參與到我們的設(shè)計(jì)和測試中。云平臺(tái)中有一個(gè)眾測的平臺(tái),讓一些友好用戶,免費(fèi)使用我們的產(chǎn)品。在這段時(shí)間里,只需要手指動(dòng)動(dòng),用戶遇到的問題和建議就可以通過云測試服務(wù)平臺(tái)把這個(gè)問題報(bào)上來。用戶覺得哪塊兒不好,錄個(gè)音說句話,就馬上可以傳到平臺(tái)里,讓我們的工程師***時(shí)間了解到真實(shí)的用戶在使用的過程中體驗(yàn)是怎么樣的。
其次,我們的專業(yè)能力更強(qiáng)了,比如 “手機(jī)安全實(shí)驗(yàn)室”。我們會(huì)把一些常見的安全性能方面用戶比較關(guān)注的一些點(diǎn),變成自動(dòng)化的工具和用例。以往這個(gè)工作需要人工來操作,來主觀感覺手機(jī)卡不卡或者說安不安全,沒有量化標(biāo)準(zhǔn)?,F(xiàn)在這些都可以轉(zhuǎn)化為客觀的判斷準(zhǔn)則,把這個(gè)相對主觀的事情變成客觀的方法去做,整個(gè)效率和準(zhǔn)確率也是提升的很明顯的。
最終,通過我們的項(xiàng)目流程管理系統(tǒng)和資源管理系統(tǒng)為核心,我們把測試流程,測試技術(shù)和測試工具以及測試資源整合到一起,形成整體的測試信息化解決方案,讓我們測試內(nèi)容原來使用手工或郵件傳遞的內(nèi)容都電子化起來,整個(gè)產(chǎn)品的測試周期和效率都大大提升。我們現(xiàn)在做的事情是移動(dòng)化,將一些測試的流程移動(dòng)化起來,讓產(chǎn)品的測試流轉(zhuǎn)更快捷。
您認(rèn)為目前移動(dòng)應(yīng)用產(chǎn)品的性能測式還存在什么主要的問題?對如何解決這些問題有什么設(shè)想?
相信大多數(shù)消費(fèi)者都遇到過類似的問題,比如說曾經(jīng)我Andriod手機(jī)里安裝了一款非常流行的新聞聚合軟件,里面有一個(gè)性能的bug。在不插卡,WIFI的環(huán)境下經(jīng)常出現(xiàn)閃退,或者是嚴(yán)重卡頓。而有時(shí),平時(shí)可以正常使用的軟件,有時(shí)候就會(huì)變得很慢,特別是在解鎖后或者剛開機(jī)不久時(shí)。以上是非常典型的兩種性能問題。
造成這類的問題有兩個(gè)原因,應(yīng)用設(shè)計(jì)和平臺(tái)或者操作系統(tǒng)的設(shè)計(jì)問題。對于***種情況,建議作為應(yīng)用的開發(fā)者很重要的一點(diǎn),是在設(shè)計(jì)之初就要考慮不同場景下用戶的使用場景。比如像Andriod資源加載過程,界面頻繁刷新都會(huì)影響界面的流暢性,在設(shè)計(jì)的過程中就要設(shè)計(jì)好資源的使用,比如CPU的使用,網(wǎng)絡(luò)的狀態(tài)等等。
另外就是android系統(tǒng)的優(yōu)化,Android作為開源系統(tǒng)確實(shí)很優(yōu)秀,但是在性能方面確實(shí)存在一定的局限,這部分局限性也需要應(yīng)用的設(shè)計(jì)者在早期架構(gòu)時(shí)考慮。比如不同版本間的差異,硬件高低配置的性能差異等,結(jié)合這些特性才能夠設(shè)計(jì)出一些客戶體驗(yàn)更好的一些產(chǎn)品。
很多人覺得測試的開展和項(xiàng)目的進(jìn)度之間存在著矛盾,甚至看不到測試的未來在哪兒。那么通過咱們開展的云測試服務(wù),在平衡項(xiàng)目進(jìn)度、成本與保證測試質(zhì)量之間的關(guān)系這方面,您有哪些經(jīng)驗(yàn)可以和我們分享?
以前強(qiáng)調(diào)的比較多研發(fā)和測試的***比例,如1:2等等,說的越來越少了,另外一個(gè)現(xiàn)象是,一些新興的互聯(lián)網(wǎng)企業(yè)測試的人數(shù)確實(shí)越來越少了,比如Facebook號稱沒有測試人員。很多人會(huì)疑問,是不是測試團(tuán)隊(duì)就會(huì)消亡了?專業(yè)的測試人員是不是就沒有未來了?
一些傳統(tǒng)的產(chǎn)品,大的比如飛機(jī)產(chǎn)品,小的比如網(wǎng)絡(luò)產(chǎn)品,移動(dòng)終端等,沒有專業(yè)的測試團(tuán)隊(duì),直接讓用戶來使用,不太可能。比如現(xiàn)在手機(jī)使用中越來越多的安全性問題,性能問題,就需要專業(yè)的工具和團(tuán)隊(duì)來測試。而反過來,如果只做一個(gè)APP工具,那就不需要那么嚴(yán)格,因?yàn)槠鋵?shí)就算出現(xiàn)報(bào)錯(cuò)退出,用戶也能忍受。專業(yè)化的測試在某些產(chǎn)品仍然非常重要,而且分工可能會(huì)越來越細(xì),而一些輕量級的消費(fèi)產(chǎn)品,產(chǎn)品迭代會(huì)越來越快,產(chǎn)品的測試策略和參與的角色也會(huì)不同。比如互聯(lián)網(wǎng)的有些產(chǎn)品,仍然需要測試,但這個(gè)時(shí)候參與的是往往是普通的用戶,而不再是大量的測試人員。
在這種大的背景下,信息化的測試系統(tǒng)就更加重要了,通過工具和服務(wù),可以進(jìn)一步幫助傳統(tǒng)的測試團(tuán)隊(duì)輕量化,因?yàn)橛懈鄰?fù)雜的流程通過E化系統(tǒng)來解決。云測試的實(shí)現(xiàn)可以讓項(xiàng)目快速流動(dòng)起來,有了“TE”(測試資源管理系統(tǒng)),測試用例、測試工具、方法、總結(jié),甚至是測試時(shí)間,都變成測試資源,測試的成員都可以方便的看到和使用。同事,測試的計(jì)劃、資源管理、成本進(jìn)度、實(shí)驗(yàn)室管理系統(tǒng)都通過項(xiàng)目管理系統(tǒng)連接。這一切幫助我們的測試人員解放出來,可以更深入產(chǎn)品的底層,做更多早期和專業(yè)的測試。
您覺得在移動(dòng)互聯(lián)時(shí)代的背景下,優(yōu)秀的測試人員應(yīng)該具備哪些素質(zhì)?
最主要是要有持續(xù)學(xué)習(xí)心態(tài),對于新技術(shù)和改變不要抵觸,擁抱變化和不斷的提升自己,適應(yīng)時(shí)代的變化。
這次參加***00案例峰會(huì),我就覺得是個(gè)很好的機(jī)會(huì)。讓我們這些技術(shù)人員可以和不同行業(yè)的,做不同產(chǎn)品的人產(chǎn)生交流。如果只埋頭苦干,不仰望星空,肯定是不行的。這次大會(huì)能提供這樣一個(gè)交流的平臺(tái),我覺得收獲非常大。
同時(shí),創(chuàng)新能力也是非常重要的,要關(guān)注測試方法和測試技術(shù)的創(chuàng)新。 “打鐵還須自身硬”,要善于發(fā)現(xiàn)日常工作中的價(jià)值點(diǎn),找到平時(shí)工作中效率不高或者可以大幅提升的點(diǎn)來思考。遇到問題,不能簡單的增加人力,時(shí)間,而是善于利用工具,設(shè)計(jì)工具和開發(fā)工具來幫助我們。
第三個(gè)我覺得就是開發(fā)和設(shè)計(jì)能力。雖然很多人會(huì)認(rèn)為測試的技術(shù)含量不是很高。但是實(shí)際上很多測試,特別是面向底層的這個(gè)測試還是需要很強(qiáng)大的研發(fā)能力的。
比如我們的測試開發(fā)團(tuán)隊(duì)做的幾個(gè)主要的設(shè)計(jì)是這樣的:我們的硬件測試開發(fā)團(tuán)隊(duì)來做仿真。在真正的產(chǎn)品沒出來之前,那我們就可以根據(jù)這些仿真結(jié)果進(jìn)行判斷,我們的產(chǎn)品一旦做出來到底行不行?發(fā)熱能不能滿足要求?射頻指標(biāo)達(dá)不達(dá)標(biāo)?我們軟件測試開發(fā)團(tuán)隊(duì)做編碼級別測試。那么在這個(gè)產(chǎn)品沒集成在手機(jī)上的時(shí)候,先在手機(jī)仿真器上、模擬網(wǎng)絡(luò)上把功能跑一遍,我就知道這個(gè)產(chǎn)品大部分功能狀態(tài)怎么樣。
還有很多重要的能力是測試人員必須具備的,比如組織能力,溝通能力等等,很多測試的前輩總結(jié)了很多經(jīng)驗(yàn),值得每個(gè)測試人思考和總結(jié)。