51Testing專訪史亮:測(cè)試人員在國(guó)外
版權(quán)聲明:51Testing軟件測(cè)試網(wǎng)原創(chuàng)出品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處、作者信息和本聲明,否則將追究法律責(zé)任。 史亮,東南大學(xué)計(jì)算機(jī)軟件與理論專業(yè)博士,研究領(lǐng)域?yàn)檐浖治雠c測(cè)試。2006年加入微軟(中國(guó))有限公司,任職軟件開(kāi)發(fā)測(cè)試工程師,負(fù)責(zé)微軟在線業(yè)務(wù)與商業(yè)智能產(chǎn)品的測(cè)試工作。2011年調(diào)至微軟總部,從事Microsoft Office 2013的測(cè)試工作。2012年與淘寶測(cè)試工程師高翔合著了《探索式軟件測(cè)試實(shí)踐之路》一書(shū)。2014年,獨(dú)自出版了《軟件測(cè)試實(shí)戰(zhàn):微軟技術(shù)專家經(jīng)驗(yàn)總結(jié)》。目前,史亮正從事下一代Microsoft Office產(chǎn)品的研發(fā)工作。
51Testing:史亮老師,您好,歡迎做客51Testing。聽(tīng)說(shuō)您目前在國(guó)外工作,您是出于什么原因選擇去國(guó)外工作的?
史亮:在2011年,我打算更換工作環(huán)境,以接觸更多的新技術(shù)和重要產(chǎn)品。于是,我主動(dòng)申請(qǐng)工作調(diào)動(dòng),然后通過(guò)內(nèi)部面試流程,獲得了微軟總部的工作機(jī)會(huì),所在部門是Microsoft Office。
51Testing:您去國(guó)外大概多長(zhǎng)時(shí)間了?主要的工作內(nèi)容是什么?
史亮:從2011年到現(xiàn)在,我已經(jīng)在微軟總部工作了整整三年。最初我加入Microsoft Office部門,主要負(fù)責(zé)的是Microsoft Office 2013的研發(fā),工作內(nèi)容是測(cè)試Windows版本的Office產(chǎn)品。目前,我正參與研發(fā)下一代的Microsoft Office,主要工作是測(cè)試產(chǎn)品和開(kāi)發(fā)測(cè)試輔助工具。
51Testing:很多朋友剛出國(guó)時(shí)會(huì)有不適應(yīng),您是否也如此?在國(guó)外工作了三年,您感覺(jué)國(guó)外公司和國(guó)內(nèi)公司存在哪些差異?(例如管理、工作環(huán)境、薪資、員工福利)讓您感受最深的又是什么?
史亮:沒(méi)有存在不適應(yīng)。我認(rèn)為測(cè)試人員的工作環(huán)境、工作壓力、員工福利等取決與具體的項(xiàng)目、團(tuán)隊(duì)和企業(yè),與企業(yè)的注冊(cè)國(guó)籍并沒(méi)有直接的關(guān)系。而且,目前國(guó)內(nèi)軟件業(yè)蓬勃發(fā)展,有形形色色的項(xiàng)目和團(tuán)隊(duì),任何外資企業(yè)所面臨的情況,都可以在中國(guó)企業(yè)中找到相似的語(yǔ)境。一些中國(guó)企業(yè)在全球處于領(lǐng)先的地位,他們的企業(yè)文化、工作方式和福利報(bào)酬都勝過(guò)外企,且領(lǐng)先優(yōu)勢(shì)還在擴(kuò)大。對(duì)于測(cè)試人員而言,應(yīng)該多接觸業(yè)內(nèi)同行,了解他們的工作實(shí)踐,以"他山之石可以攻玉"的心態(tài),虛心請(qǐng)教。然后,將好的工作實(shí)踐"因地制宜"地修改為適合當(dāng)前項(xiàng)目的方法,從而改進(jìn)項(xiàng)目環(huán)境、優(yōu)化工作成果。
51Testing:看來(lái)現(xiàn)在國(guó)內(nèi)外軟件測(cè)試行業(yè)的差異不是很大,測(cè)試人員想要出國(guó)發(fā)展還是十分可行的。那對(duì)于想要有出國(guó)發(fā)展的測(cè)試人員,您作為一個(gè)前輩對(duì)他們有些什么建議呢?
史亮:測(cè)試專家Cem Kaner和James Bach對(duì)于測(cè)試人員的職業(yè)發(fā)展有一條忠告:"不管選擇走哪條路,都要積極追求"。測(cè)試人員并沒(méi)有被鎖定在測(cè)試上,也沒(méi)有被鎖定在任何公司或軟件行業(yè)上。他完全可以選擇改變職業(yè)發(fā)展方向并追求其他目標(biāo)。一旦下定決心,就要對(duì)自己負(fù)責(zé),通過(guò)持續(xù)地努力來(lái)推動(dòng)職業(yè)生涯的發(fā)展。
51Testing:前面聊了很多關(guān)于您在國(guó)外工作的部分,滿足了小編對(duì)于測(cè)試人員在國(guó)外工作狀態(tài)的好奇。根據(jù)小編的了解,現(xiàn)在很多測(cè)試新人對(duì)軟件測(cè)試的未來(lái)較為迷茫,而您在國(guó)內(nèi)外都工作過(guò)很長(zhǎng)一段時(shí)間,有相當(dāng)豐富的測(cè)試經(jīng)驗(yàn),您是怎么看待未來(lái)的軟件測(cè)試人員的發(fā)展趨勢(shì)?
史亮:為了更好地討論這個(gè)問(wèn)題,先介紹一個(gè)測(cè)試技術(shù)分類的參考模型。測(cè)試專家Lisa Chrispin和Janet Gregory在《敏捷軟件測(cè)試》中將測(cè)試技術(shù)劃分到如圖1所示的四個(gè)象限中。
圖1 敏捷測(cè)試四象限
"Q1:面向技術(shù)的(technology facing)、支持項(xiàng)目團(tuán)隊(duì)的(supporting the team)的自動(dòng)化測(cè)試,例如單元測(cè)試、組件測(cè)試等。
"Q2:面向商業(yè)的(business facing)、支持項(xiàng)目團(tuán)隊(duì)的自動(dòng)化和手工測(cè)試,包括功能測(cè)試、樣例、用戶故事測(cè)試、原型、模擬等。
"Q3:面向商業(yè)的、考驗(yàn)產(chǎn)品的(critique product)的手工測(cè)試,包括探索式測(cè)試,情景測(cè)試、可用性測(cè)試、用戶驗(yàn)收測(cè)試、Alpha及Beta測(cè)試等。
"Q4:面向技術(shù)的、考驗(yàn)產(chǎn)品的、基于工具的測(cè)試,例如性能測(cè)試、負(fù)載測(cè)試、安全性測(cè)試、屬性測(cè)試等。
利用敏捷測(cè)試四象限,測(cè)試人員可以快速理解測(cè)試技術(shù)在軟件開(kāi)發(fā)中的位置,并根據(jù)當(dāng)前任務(wù)選擇合適的測(cè)試技術(shù)。不過(guò),我并不同意Lisa Chrispin和Janet Gregory將探索式測(cè)試(exploratory testing)置于Q3象限。探索式測(cè)試是一種并行地實(shí)施測(cè)試學(xué)習(xí)、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行和結(jié)果評(píng)估的測(cè)試風(fēng)格。作為一種測(cè)試思維方法,它可以指導(dǎo)四個(gè)象限的任何一種測(cè)試技術(shù)的使用。
目前,軟件行業(yè)高速發(fā)展,以前所未有的速度向各個(gè)產(chǎn)業(yè)滲透。在互聯(lián)網(wǎng)應(yīng)用、移動(dòng)應(yīng)用、物聯(lián)網(wǎng)應(yīng)用等重要領(lǐng)域,市場(chǎng)競(jìng)爭(zhēng)日趨激烈。為了在競(jìng)爭(zhēng)中脫穎而出,軟件項(xiàng)目團(tuán)隊(duì)必須具備高度的機(jī)動(dòng)性,能夠快速地嘗試新想法,并持續(xù)發(fā)布具有特色的產(chǎn)品。這要求程序員負(fù)責(zé)更多的測(cè)試活動(dòng),通過(guò)加速"編碼-測(cè)試-重構(gòu)"的循環(huán),來(lái)快速交付高質(zhì)量的代碼。也就是說(shuō),程序員將承擔(dān)Q1象限(面向技術(shù)、支持項(xiàng)目團(tuán)隊(duì))的測(cè)試工作,以及部分其他象限的活動(dòng)--以Q2象限(面向商業(yè)、支持項(xiàng)目團(tuán)隊(duì))的活動(dòng)較為常見(jiàn)。
在該趨勢(shì)下,專職測(cè)試人員的活動(dòng)將向四象限的右側(cè)和上方移動(dòng),更偏向面向商業(yè)的、考驗(yàn)產(chǎn)品的測(cè)試活動(dòng)。從業(yè)務(wù)角度,測(cè)試人員的角色應(yīng)該是領(lǐng)域?qū)<液蛯?shí)際用戶,能夠以超越代碼(beyond code)眼光來(lái)考察產(chǎn)品的商業(yè)價(jià)值和用戶價(jià)值。從技術(shù)角度,測(cè)試人員的角色可以是黑客和技術(shù)專家,能夠在安全性、性能、穩(wěn)定性等領(lǐng)域?qū)嵤I(yè)的、高強(qiáng)度的測(cè)試。
另一個(gè)軟件研發(fā)的趨勢(shì)是DevOps,即融合研發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì),由一個(gè)團(tuán)隊(duì)負(fù)責(zé)整個(gè)產(chǎn)品開(kāi)發(fā)、測(cè)試、發(fā)布、運(yùn)維和更新。在此類團(tuán)隊(duì)中,測(cè)試人員需要承擔(dān)部分開(kāi)發(fā)和運(yùn)維任務(wù),例如分析服務(wù)端的日志、分析客戶端提交的遙測(cè)(telemetry)數(shù)據(jù)、分析用戶行為、報(bào)告服務(wù)狀態(tài)、定位產(chǎn)品問(wèn)題、修復(fù)特定環(huán)節(jié)的錯(cuò)誤、發(fā)布產(chǎn)品更新等。這意味著測(cè)試人員的工作不僅僅是尋找缺陷,而是通過(guò)技術(shù)調(diào)查(調(diào)查對(duì)象包括已發(fā)布的線上產(chǎn)品)來(lái)獲得產(chǎn)品信息,以持續(xù)提高產(chǎn)品質(zhì)量。可以說(shuō),在一些項(xiàng)目環(huán)境中,測(cè)試人員的職責(zé)發(fā)生了變化,需要更多樣化的技能。測(cè)試人員需要積極面對(duì)變化,拓展自己的能力,以適應(yīng)行業(yè)的發(fā)展。
51Testing:您已經(jīng)第二次做客我們51Testing了,上一次專訪我們聊得是探索式測(cè)試,相信很多朋友都對(duì)此印象深刻。作為探索式測(cè)試的資深人士,怎樣才能進(jìn)行有效地探索式測(cè)試?另外很多優(yōu)秀的軟件測(cè)試工程師都能敏銳地嗅到bug,您認(rèn)為該如何訓(xùn)練這方面能力?
史亮:首先,"態(tài)度決定一切"。成為一個(gè)優(yōu)秀的測(cè)試人員,我認(rèn)為最重要的基礎(chǔ)是對(duì)項(xiàng)目、對(duì)自己負(fù)責(zé)任的態(tài)度。對(duì)項(xiàng)目負(fù)責(zé),測(cè)試人員需要提供高質(zhì)量的測(cè)試服務(wù)來(lái)幫助項(xiàng)目成功;對(duì)自己負(fù)責(zé),測(cè)試人員應(yīng)該以專業(yè)人員(professionals)自居,堅(jiān)持專業(yè)主義(professionalism),追求精湛的技藝和卓越的成果。這需要通過(guò)日復(fù)一日的努力工作來(lái)落實(shí),無(wú)捷徑可言。
第二,Cem Kaner等測(cè)試專家指出"困惑是一種測(cè)試工具"。有時(shí),軟件的表現(xiàn)出乎測(cè)試人員預(yù)料,但是他并不能確定這是一個(gè)缺陷。這說(shuō)明測(cè)試人員對(duì)軟件的設(shè)計(jì)還有不了解的地方。他應(yīng)該將此疑惑視為一個(gè)學(xué)習(xí)的機(jī)會(huì),通過(guò)閱讀文檔、咨詢同事等方法來(lái)獲得答案。推而廣之,如果測(cè)試人員對(duì)軟件、技術(shù)或項(xiàng)目產(chǎn)生疑問(wèn),他應(yīng)該感到警惕。這可能意味著他不了解業(yè)務(wù)邏輯,不知曉產(chǎn)品設(shè)計(jì),不清楚實(shí)現(xiàn)細(xì)節(jié)。這些知識(shí)上的漏洞會(huì)導(dǎo)致薄弱的測(cè)試設(shè)計(jì)和嚴(yán)重的缺陷遺漏。
負(fù)責(zé)人的測(cè)試人員不會(huì)放過(guò)任何一個(gè)疑問(wèn),在"好奇心"的指引下,他會(huì)"打破沙鍋問(wèn)到底"。他會(huì)運(yùn)用多種手段(周密測(cè)試、代碼分析、軟件調(diào)試、文檔閱讀、請(qǐng)教專家等)對(duì)問(wèn)題進(jìn)行研究。通過(guò)積極地測(cè)試和學(xué)習(xí),測(cè)試人員不但可以彌補(bǔ)知識(shí)的漏洞,還可以發(fā)現(xiàn)隱藏的缺陷。
第三,測(cè)試人員需要"刻意練習(xí)"。測(cè)試專家已經(jīng)給出了許多好的建議和方法,這些想法皆來(lái)自于實(shí)踐。軟件開(kāi)發(fā)專家Ralph E. Johnson 指出"從實(shí)踐中來(lái)的知識(shí)在沒(méi)有實(shí)踐之前是無(wú)法被真正理解的"(practical knowledge has to be experienced to fully understood),測(cè)試專家Cem Kaner等也認(rèn)為"你不能掌握測(cè)試,除非你重新發(fā)明它"(You can't master testing unless you reinvent it)。因此,測(cè)試人員需要將學(xué)到的新技術(shù)應(yīng)用于真實(shí)的測(cè)試,并認(rèn)真評(píng)估其效果。通過(guò)練習(xí)、評(píng)估和反思,測(cè)試人員能夠掌握方法的原理和細(xì)節(jié),并混入自身經(jīng)驗(yàn)和其他技術(shù),以演化出新的方法。堅(jiān)持這樣的研究和創(chuàng)新將幫助測(cè)試人員走上精通之路。
51Testing:許多剛從事測(cè)試的新人往往會(huì)在工作的過(guò)程中發(fā)現(xiàn)自己的很多不足,想要提高自己,在您看來(lái),測(cè)試人員應(yīng)如何提高自己的測(cè)試思維和測(cè)試技術(shù)?
史亮:前面兩個(gè)問(wèn)題的回答對(duì)于本問(wèn)題有參考價(jià)值。在這里,我補(bǔ)充說(shuō)明一個(gè)測(cè)試人員容易忽略的要點(diǎn):提高測(cè)試技術(shù)的根本目標(biāo)是為了更有效的測(cè)試,在許多情況下,測(cè)試效果(測(cè)試技術(shù)的實(shí)施效果)決于測(cè)試人員對(duì)軟件和項(xiàng)目的理解。
我曾經(jīng)長(zhǎng)期測(cè)試一個(gè)網(wǎng)絡(luò)應(yīng)用。當(dāng)我離開(kāi)這個(gè)項(xiàng)目時(shí),測(cè)試經(jīng)理安排一個(gè)測(cè)試員工來(lái)接替我。他剛剛?cè)肼殻瑢?duì)被測(cè)軟件和業(yè)務(wù)領(lǐng)域都不了解,在工作中遇到了許多困難,我?guī)椭鉀Q了一系列問(wèn)題。作為一個(gè)測(cè)試工程師,我的工作效率更高,主要原因包括:
" 我理解產(chǎn)品,知道它的業(yè)務(wù)目標(biāo),了解它通過(guò)什么方法去實(shí)現(xiàn)目標(biāo)。因此,我能夠快速地制定測(cè)試方案。
" 我理解用戶的期望,知道哪些功能絕對(duì)不能出錯(cuò),需要仔細(xì)測(cè)試。我也知道哪些功能允許一些瑕疵,即便出錯(cuò),也可以在三個(gè)月之后發(fā)布的下一個(gè)版本中修復(fù)。因此,我能夠更好地分配測(cè)試時(shí)間。
" 我理解產(chǎn)品的架構(gòu),閱讀過(guò)大部分模塊源代碼,知道哪些模塊容易出現(xiàn)哪些缺陷。因此,我可以針對(duì)不同的模塊采用有針對(duì)性的測(cè)試策略。
" 我曾經(jīng)嘗試自動(dòng)化測(cè)試用戶界面,但是發(fā)現(xiàn)此類自動(dòng)化測(cè)試很不穩(wěn)定,需要很高的維護(hù)代價(jià),卻不能發(fā)現(xiàn)錯(cuò)誤。于是,我只為Web服務(wù)編寫(xiě)自動(dòng)化測(cè)試用例,用手工測(cè)試來(lái)檢查用戶界面。因此,我回避了浪費(fèi)時(shí)間卻沒(méi)有收益的任務(wù)。
" 我了解產(chǎn)品元素和項(xiàng)目團(tuán)隊(duì)。當(dāng)出現(xiàn)缺陷時(shí),我知道如何閱讀系統(tǒng)日志發(fā)掘蛛絲馬跡;當(dāng)我遇到困難時(shí),我知道向哪位程序員或測(cè)試人員求助。因此,我可以深入挖掘并快速推進(jìn)。
" 我在原先的團(tuán)隊(duì)工作了很長(zhǎng)的時(shí)間,與同事們保持了良好的關(guān)系。當(dāng)我提出一些可測(cè)試性的建議時(shí),比較容易受到程序員的支持。
從以上幾點(diǎn)不難看出,我能夠更有效地測(cè)試,其主要原因不是我掌握更多的測(cè)試技術(shù),而是我更了解軟件產(chǎn)品、業(yè)務(wù)領(lǐng)域和項(xiàng)目環(huán)境。通過(guò)逐點(diǎn)分析,可以得到如下啟示。
" 產(chǎn)品是一種解決方案,如果沒(méi)有解決問(wèn)題,它就是無(wú)用的。測(cè)試人員需要了解軟件產(chǎn)品和業(yè)務(wù)領(lǐng)域,才能設(shè)計(jì)有效的測(cè)試。
" 測(cè)試是一種信息服務(wù),要了解服務(wù)對(duì)象(通常最重要的服務(wù)對(duì)象是用戶和項(xiàng)目經(jīng)理)的需求。如果用戶不能容忍某些錯(cuò)誤,測(cè)試人員就需要仔細(xì)測(cè)試相關(guān)功能;如果用戶對(duì)一些瑕疵并不在意,測(cè)試人員就不必在此花費(fèi)更多的時(shí)間。只有了解服務(wù)對(duì)象的優(yōu)先級(jí),才能更好地設(shè)定測(cè)試工作的優(yōu)先級(jí)。
" 不同的模塊采用不同的技術(shù),擁有不同的典型錯(cuò)誤。只有了解軟件實(shí)現(xiàn),才能設(shè)計(jì)差異化且有針對(duì)性的測(cè)試用例。
" 測(cè)試設(shè)計(jì)可能包含錯(cuò)誤,測(cè)試人員需要從錯(cuò)誤中吸取經(jīng)驗(yàn)和教訓(xùn)。避免一些已知的錯(cuò)誤,會(huì)提高測(cè)試效率。
" 當(dāng)測(cè)試工作遇到困難時(shí),測(cè)試人員需要知道在哪里尋找信息。了解產(chǎn)品能夠提供的信息、了解哪位同事知道更多內(nèi)幕,會(huì)節(jié)省時(shí)間。
" "人脈"有時(shí)候會(huì)極大地提高測(cè)試人員的工作效率,測(cè)試人員需要和程序員和測(cè)試同事保持良好的關(guān)系。達(dá)成協(xié)作關(guān)系的關(guān)鍵之一是測(cè)試人員能夠?yàn)橥聜兲峁└哔|(zhì)量的信息服務(wù)。
" 在職業(yè)生涯中,測(cè)試人員總是會(huì)遇到新的軟件、項(xiàng)目和團(tuán)隊(duì)。他應(yīng)該培養(yǎng)一種好的工作風(fēng)格,以求快速地理解產(chǎn)品和項(xiàng)目。
實(shí)施高效的測(cè)試需要很多條件。熟練地掌握測(cè)試技術(shù)是一個(gè)很重要的因素,但很少會(huì)是決定性的因素。只有充分地掌握軟件產(chǎn)品和項(xiàng)目環(huán)境,測(cè)試技術(shù)才能找到大放光彩的舞臺(tái)。
51Testing:想要提高測(cè)試技術(shù),書(shū)籍是必不可少的朋友,作為探索式測(cè)試的忠實(shí)實(shí)踐者,您能給我們的會(huì)員推薦幾本相關(guān)書(shū)籍嗎?
史亮:探索式測(cè)試是一個(gè)內(nèi)涵豐富的主題,感興趣的測(cè)試人員可以從以下書(shū)籍入手。
" Cem Kaner, James Bach, Bret Pettichord, 《軟件測(cè)試經(jīng)驗(yàn)與教訓(xùn)》(Lessons Learned in Software Testing:A Context-Driven Approach)。該書(shū)是語(yǔ)境驅(qū)動(dòng)測(cè)試的經(jīng)典著作,充滿對(duì)軟件測(cè)試的真知灼見(jiàn),是探索式測(cè)試者案頭必備。
" 史亮,高翔,《探索式測(cè)試實(shí)踐之路》。該書(shū)由我與淘寶資深測(cè)試工程師高翔合著,系統(tǒng)地總結(jié)了現(xiàn)有的探索式測(cè)試實(shí)踐,并納入了我們的經(jīng)驗(yàn)和反思。探索式測(cè)試大師James Bach對(duì)此書(shū)予以了肯定:This is the first book on exploratory testing, in any language, that summarizes the published work in the field。
" 史亮,《軟件測(cè)試實(shí)戰(zhàn)》。我本人是探索式測(cè)試的忠實(shí)實(shí)踐者,該書(shū)可視為"一個(gè)探索式測(cè)試者的自我總結(jié)"。全書(shū)雖然沒(méi)有強(qiáng)調(diào)名詞"探索式測(cè)試",但是探索式測(cè)試的核心精神(將測(cè)試學(xué)習(xí)、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行、測(cè)試結(jié)果評(píng)估作為相互支持的活動(dòng)來(lái)并行實(shí)施)貫穿全書(shū)。
" 我和高翔在《探索式測(cè)試實(shí)踐之路》的附錄B提供了一批推薦讀物,供讀者參考。
51Testing:本次訪談即將接近尾聲,再問(wèn)最后一個(gè)問(wèn)題,您以后會(huì)選擇繼續(xù)長(zhǎng)期留在國(guó)外發(fā)展還是回國(guó)發(fā)展呢?
史亮:我目前還在持續(xù)評(píng)估自己的職業(yè)發(fā)展,尚未做出長(zhǎng)遠(yuǎn)的規(guī)劃。
51Testing:由于時(shí)間關(guān)系,本次訪談?wù)浇Y(jié)束,非常感謝史亮老師抽出寶貴時(shí)間參加我們的訪談,祝您在國(guó)外工作一切順利!
史亮:謝謝,也祝51Testing越辦越好!
版權(quán)聲明:51Testing軟件測(cè)試網(wǎng)原創(chuàng)出品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處、作者信息和本聲明,否則將追究法律責(zé)任。
posted on 2014-08-26 09:41 順其自然EVO 閱讀(192) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄