摘要:年加入微軟中國有限公司,任職軟件開發(fā)測試工程師,負(fù)責(zé)微軟在線業(yè)務(wù)與商業(yè)智能產(chǎn)品的測試工作。目前,史亮正從事下一代產(chǎn)品的研發(fā)工作。在他們的熱心幫助下,我獲得了去北京面試微軟測試開發(fā)工程師,簡稱的機(jī)會。
非商業(yè)轉(zhuǎn)載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/114546
史亮,東南大學(xué)計(jì)算機(jī)軟件與理論專業(yè)博士,研究領(lǐng)域?yàn)檐浖治雠c測試。2006年加入微軟(中國)有限公司,任職軟件開發(fā)測試工程師,負(fù)責(zé)微軟在線業(yè)務(wù)與商業(yè)智能產(chǎn)品的測試工作。2011年調(diào)至微軟總部,從事Microsoft Office 2013的測試工作。2012年與淘寶測試工程師高翔合著了《探索式軟件測試實(shí)踐之路》一書。2014年,獨(dú)自出版了《軟件測試實(shí)戰(zhàn):微軟技術(shù)專家經(jīng)驗(yàn)總結(jié)》。目前,史亮正從事下一代Microsoft Office產(chǎn)品的研發(fā)工作。
圖靈訪談:您從什么時(shí)候開始編程?是什么讓你決定走上計(jì)算機(jī)這條路?
史亮: 1997年,我進(jìn)入東南大學(xué)計(jì)算機(jī)系,開始正式學(xué)習(xí)軟件開發(fā)。因?yàn)闀r(shí)間久遠(yuǎn),我已經(jīng)記不清當(dāng)時(shí)選擇計(jì)算機(jī)專業(yè)的原因。也許只是懵懂地認(rèn)為計(jì)算機(jī)行業(yè)有更好的發(fā)展前景,幸運(yùn)的是整個(gè)行業(yè)在隨后的十余年時(shí)間有爆發(fā)式的增長。
在攻讀博士學(xué)位時(shí),我閱讀了《C++設(shè)計(jì)新思維——泛型編程與設(shè)計(jì)模式之應(yīng)用》(Andrei
Alexandrescu著,侯捷、於春景譯)。這本書引起了我對于軟件設(shè)計(jì)的熱情。此后,我閱讀了許多軟件開發(fā)的書籍,并通過實(shí)驗(yàn)性項(xiàng)目實(shí)踐了很多編程技術(shù)。從某種意義上,這本書是我職業(yè)發(fā)展的轉(zhuǎn)折點(diǎn)。這并不是因?yàn)樗峁┝宋胰粘J褂玫募夹g(shù),而是它激發(fā)了我的興趣,讓我有動力去深入鉆研。在學(xué)習(xí)和實(shí)踐的過程中,新問題又引出新的動力,這樣的激勵循環(huán)幫助我持續(xù)成長。
圖靈訪談:軟件測試的魅力何在?您為什么選擇測試一行而不做開發(fā)?
史亮: 2006年,我即將離開校園。在通訊軟件MSN Messenger上,大學(xué)本科同學(xué)尚云飛建議我到北京來工作。當(dāng)時(shí),他與我的另一位同學(xué)宋顯祖在微軟亞洲工程院工作。在他們的熱心幫助下,我獲得了去北京面試微軟測試開發(fā)工程師(Software Development Engineer in Test,簡稱SDET)的機(jī)會。隨后就加入微軟,并工作至今?;仡櫷?,當(dāng)年那次聊天令我的人生發(fā)生了改變。在此之前,我從沒有仔細(xì)考慮過離開家鄉(xiāng)到異地工作。李笑來老師(《把時(shí)間當(dāng)作朋友》等書的作者)在演講中曾說:“改變我們?nèi)松年P(guān)鍵事件都是無法預(yù)期的偶然事件?!惫蝗绱?!
在工作后,我逐步體會到軟件測試所面臨的困難,而這些有挑戰(zhàn)的問題就是測試魅力的根源。其中,根本性的困難是,隨著軟件行業(yè)的高速發(fā)展,“軟件的復(fù)雜度已經(jīng)超越了人的理解能力”(我在《軟件測試實(shí)戰(zhàn)》第一章有詳細(xì)的討論)。為了應(yīng)對挑戰(zhàn),測試人員需要綜合發(fā)展自身能力,以實(shí)施有針對性、聚焦風(fēng)險(xiǎn)、豐富多樣、注重實(shí)用的測試。在此過程中,他需要解決一系列復(fù)雜問題,這對他的能力成長很有幫助。
圖靈訪談:您在國內(nèi)和國外都有相當(dāng)豐富的測試經(jīng)驗(yàn),您能對比一下國內(nèi)國外兩種環(huán)境下的測試實(shí)踐的特點(diǎn)嗎?
史亮:我認(rèn)同語境驅(qū)動測試(Context Driven Testing)的觀點(diǎn):測試實(shí)踐的價(jià)值來自于它的語境。除了測試人員的態(tài)度和能力,軟件項(xiàng)目和測試團(tuán)隊(duì)對測試實(shí)踐有最大的影響。測試人員需要根據(jù)項(xiàng)目語境(項(xiàng)目環(huán)境、產(chǎn)品元素、質(zhì)量標(biāo)準(zhǔn)、產(chǎn)品質(zhì)量等)選擇一組相互支持的測試實(shí)踐。
我的切身體會是,國內(nèi)外的工作風(fēng)格確實(shí)有所差別,但是測試實(shí)踐主要取決于產(chǎn)品、項(xiàng)目和團(tuán)隊(duì)。而且,隨著國內(nèi)大型企業(yè)的國際化,其文化氛圍和工作方式與國外企業(yè)并沒有太大的差別。在具體工作中,測試人員總需要研究產(chǎn)品(《軟件測試實(shí)戰(zhàn)》第7章),研究項(xiàng)目(《軟件測試實(shí)戰(zhàn)》第8章)并融入團(tuán)隊(duì)(《軟件測試實(shí)戰(zhàn)》第9章)。只要采用積極的態(tài)度來面對職業(yè)發(fā)展,測試人員在各種環(huán)境中都可以獲得成長。
圖靈訪談:國內(nèi)有一些企業(yè)認(rèn)為相比于開發(fā)者,軟件測試人員能力差一些也可以,您認(rèn)同這種看法嗎?這種想法形成的原因是什么?
史亮:這里,所謂“能力差一些”大多指“編程的能力差一些”。在一些軟件項(xiàng)目中(國內(nèi)外皆有),測試人員的主要工作是手工測試,因此對編程能力沒有很高的要求。但是,測試是獲取信息的技術(shù)調(diào)查,需要多種能力,例如:
交流協(xié)作:對于復(fù)雜的軟件,任何人都不可能掌握全部的信息。為了更好地理解軟件,測試人員需要與項(xiàng)目經(jīng)理、程序員、領(lǐng)域?qū)<摇y試同事等協(xié)作,還需要研究項(xiàng)目文檔、技術(shù)資料、領(lǐng)域?qū)V荣Y料,并通過實(shí)際測試去獲得第一手知識。
測試報(bào)告:測試人員是項(xiàng)目的“車前燈”,他需要提供高質(zhì)量的缺陷報(bào)告和測試報(bào)告,以幫助項(xiàng)目團(tuán)隊(duì)掌握項(xiàng)目情況并形成決策。
測試建模:人們處理復(fù)雜問題的常用策略是“分而治之”。在測試領(lǐng)域,測試人員可以建立產(chǎn)品的模型來幫助測試。在建模過程中,他用當(dāng)前測試目標(biāo)為指導(dǎo),省略無關(guān)的產(chǎn)品細(xì)節(jié),突出重要的產(chǎn)品元素。針對簡化后的產(chǎn)品模型,可以更有效地實(shí)施測試設(shè)計(jì)。
測試設(shè)計(jì)與執(zhí)行:測試人員需要積累多種測試技術(shù),將它們綜合運(yùn)用于當(dāng)前項(xiàng)目,并在測試執(zhí)行的迭代過程中,通過持續(xù)地評估和反思來逐步增強(qiáng)測試方案。
測試開發(fā):測試人員可以使用或開發(fā)恰當(dāng)?shù)臏y試工具,以提高測試效率。
可見,測試人員需要多種能力才能勝任測試工作。其能力集合與開發(fā)人員有重疊,但不盡相同。不能單純用“編程能力”的強(qiáng)弱來評價(jià)測試人員的水平。
其實(shí),無論主管是否要求,測試人員都可以主動學(xué)習(xí)編程技術(shù),并應(yīng)用于實(shí)際工作。在測試中,許多活動提供了自動化的機(jī)會,例如產(chǎn)品部署、環(huán)境配置、機(jī)械性的測試執(zhí)行、信息收集、報(bào)表生成等。合理地運(yùn)用開發(fā)技術(shù),構(gòu)建合適的工具,能夠明顯提高測試效率。
平心而論,項(xiàng)目主管更看重編程工作有現(xiàn)實(shí)因素。軟件項(xiàng)目的目標(biāo)是交付能夠贏得競爭的軟件,而編程是產(chǎn)生軟件的最直接的活動,開發(fā)人員的水平對軟件質(zhì)量有最直接的影響。測試人員的工作雖然重要,但不能直接產(chǎn)生代碼,所以容易被低估。測試人員應(yīng)該正視這種情況,但不必懷憂喪志。作為一個(gè)專業(yè)人員(professional),他應(yīng)該通過每天的努力來推動職業(yè)發(fā)展。
圖靈訪談:您與淘寶測試工程師高翔合著了《探索式測試實(shí)踐之路》一書的過程中有沒有發(fā)現(xiàn)一些測試?yán)砟畹姆制?,這樣的分歧來源自哪里?最后你們是如何解決的?
史亮:我和高翔通過彼此的博客發(fā)現(xiàn)雙方都對探索式測試有濃厚的興趣,于是經(jīng)常交換意見和分享經(jīng)驗(yàn),自然成為好友。后來,我們一起合作撰寫了《探索式測試實(shí)踐之路》 一書,以分享所學(xué)所知。因?yàn)槲覀兌几叨日J(rèn)同語境驅(qū)動測試和探索式測試的思想,所以并沒有根本性的分歧。我們的主要差別在于如何論述探索式測試的實(shí)踐。
下圖是測試專家James Bach提出的概念模型,以展示不同測試方法的風(fēng)格,其中最左側(cè)是嚴(yán)格腳本化的測試,最右側(cè)是高度機(jī)動的自由式探索。高翔在論述探索式測試時(shí),更著力于自由式探索并提出了一批他總結(jié)出的測試模型,我則沒有特別喜好的方法,較寬泛地介紹了一些技術(shù)和工具。從某個(gè)角度,我們的論述內(nèi)容構(gòu)成了深度與廣度的互補(bǔ)。
圖靈訪談:有人說Microsoft算是在軟件測試方向上偏傳統(tǒng)的,您認(rèn)同嗎?您能向我們介紹一下其他互聯(lián)網(wǎng)公司如Facebook、Google以及Amazon的測試風(fēng)格嗎?
史亮:我并沒有在其他互聯(lián)網(wǎng)公司工作過,雖然閱讀過一些報(bào)道,但是不能提供更多的信息。因此,難以置喙。我閱讀過原版的《Google軟件測試之道》(中文版由人民郵電出版社引進(jìn))。該書較生動地介紹了一些谷歌的測試實(shí)踐,部分內(nèi)容很有啟發(fā)性,值得一讀。
正如我之前提到的,測試實(shí)踐主要取決于產(chǎn)品、項(xiàng)目和團(tuán)隊(duì)。在很長的一段時(shí)間內(nèi),微軟最知名的產(chǎn)品都是發(fā)布周期為2~3年的套裝軟件,如Windows和Office。這些產(chǎn)品的測試實(shí)踐很成熟,成為微軟測試的代表。《微軟的軟件測試之道》(Alan Page, Ken Johnston, Bj Rollson著)較好地總結(jié)了相關(guān)方法和經(jīng)驗(yàn)。
隨著互聯(lián)網(wǎng)成為新的計(jì)算平臺,商業(yè)社會的運(yùn)作已經(jīng)深度依賴于互聯(lián)網(wǎng)服務(wù),因此互聯(lián)網(wǎng)服務(wù)的開發(fā)和測試成為新的熱點(diǎn)。而且,智能手機(jī)和平板電腦主導(dǎo)了移動計(jì)算的發(fā)展,基于App Store發(fā)布的移動應(yīng)用成為用戶的新寵。相比之下,套裝軟件顯得不那么“時(shí)髦”。因此,微軟的測試給人以“傳統(tǒng)”的印象。
但是,如果仔細(xì)觀察,不難發(fā)現(xiàn)微軟的產(chǎn)品已經(jīng)發(fā)生了深刻的變化,且還在持續(xù)演變中。伴隨而來的是軟件開發(fā)和測試方式的轉(zhuǎn)變。以下是一些例子。
必應(yīng)的一些在線服務(wù)已經(jīng)做到每日部署(daily deployment),即代碼簽入之后,如果成功通過編譯和自動化測試,可以在24小時(shí)內(nèi)部署到產(chǎn)品環(huán)境,整個(gè)流程(代碼編譯、自動測試、服務(wù)部署、在線監(jiān)控)不需要人工操作。其自動化水平與其他互聯(lián)網(wǎng)領(lǐng)軍企業(yè)相當(dāng)。
Visual Studio是強(qiáng)大的集成開發(fā)環(huán)境,提供了非常豐富的功能。目前,Visual Studio團(tuán)隊(duì)能夠做到每年發(fā)布一個(gè)新版本(如Visual Studio 2012、Visual Studio
2013和即將到來的Visual Studio 2014)和3個(gè)重要更新(如Visual Studio 2013 Update
1、2、3)。對于如此復(fù)雜的產(chǎn)品,能夠做到持續(xù)交付,說明Visual Studio團(tuán)隊(duì)擁有較高的研發(fā)和管理水平。Windows團(tuán)隊(duì)已經(jīng)將Windows重要版本的發(fā)布周期從3年壓縮到1年左右,例如Windows 8.1的研發(fā)用時(shí)約1年,Windows 8.1 Update 1的研發(fā)用時(shí)約半年。
OneNote團(tuán)隊(duì)在多個(gè)平臺(Windows桌面、Windows Store、Windows Phone、Mac、iPad、iPhone、Android、Web)上推出了產(chǎn)品,并公布了OneNote
API,使第三方應(yīng)用可以將內(nèi)容發(fā)布到云端的OneNote筆記本。其產(chǎn)品覆蓋桌面應(yīng)用、平板應(yīng)用、手機(jī)應(yīng)用、Web應(yīng)用、Web服務(wù)等,且在持續(xù)發(fā)布中保持了較高的質(zhì)量。我相信,隨著微軟業(yè)務(wù)模式的轉(zhuǎn)變,微軟的軟件研發(fā)會持續(xù)演化。在此過程中,好的思想和經(jīng)驗(yàn)會被傳承下去,而新語境勢必催生出新的實(shí)踐,并讓一些在其他公司獲得成功的方法在微軟得到應(yīng)用。此外,微軟擁有許多有特點(diǎn)的項(xiàng)目,項(xiàng)目組之間的交流經(jīng)驗(yàn)會催生出一批優(yōu)秀的實(shí)踐。
圖靈訪談:手動測試和自動測試各自的優(yōu)缺點(diǎn)是什么?微軟在實(shí)踐上是如何結(jié)合這兩種測試方法的?
史亮:微軟是一家大型企業(yè),擁有多種類型的項(xiàng)目。不同的項(xiàng)目對于測試提出了不同的要求,因此項(xiàng)目小組往往會采用不同的測試策略。一般而言,微軟要求測試人員具備較高的技術(shù)水平,能夠熟練地開發(fā)自動化測試和測試工具。在許多項(xiàng)目組,測試人員需要編寫大量的代碼來測試產(chǎn)品,也需要花費(fèi)相當(dāng)?shù)臅r(shí)間來手工測試產(chǎn)品。通常,第一線的測試人員最了解產(chǎn)品和技術(shù),他們會主動探索各種技術(shù),以發(fā)展出多樣性的測試策略。
在此,我介紹一些我的個(gè)人觀點(diǎn)(《軟件測試實(shí)戰(zhàn)》的第5章對詳細(xì)地討論了測試開發(fā))。
首先,測試活動是相輔相成的。測試專家Johnathan Kohl將不同的測試活動比喻為不同的交通方式,每種方式都有優(yōu)點(diǎn)與不足。
我喜歡走著上班。我很享受風(fēng)景、運(yùn)動,以及一邊漫步一邊思考問題的時(shí)光。在戶外新鮮的空氣中,在遠(yuǎn)離電腦的思考中,我獲得了一些極好的想法。沿途的觀察激發(fā)了靈感,將我引向創(chuàng)造性的解決方案。
但是步行是緩慢的,如果我駐足觀賞可愛的動物或享受日出霞光映紅的山脈,我很可能會遲到。所以,在趕時(shí)間的時(shí)候,我會搭乘公共交通。雖然公共汽車或列車仍舊伴隨著步行,但是我能用快得多的速度及時(shí)地到達(dá)目的地。我極少駕車上班,因?yàn)檫@讓我無暇去觀察并思考。但是,當(dāng)別人駕車時(shí),我能夠從旅途中獲得很多。例如,最近我坐城鐵去上班,在路上發(fā)現(xiàn)了以前從未注意到的河谷峭壁。我曾經(jīng)多次經(jīng)過河谷,但是直到坐上輕軌的那天,在沒有步行或駕車分心的情況下,我才能用全新的角度觀察到新的景色。
-- Jonathan Kohl, Man and Machine
在以上隱喻中:
手工測試是步行。在漫游產(chǎn)品的過程中,測試人員可以觀察到豐富的細(xì)節(jié),能夠隨時(shí)暫停預(yù)定的測試路線,對感興趣的局部進(jìn)行細(xì)致的測試。其不足是推進(jìn)的速度較慢,有時(shí)不能在短時(shí)間內(nèi)完成長距離的旅行(覆蓋更多的測試目標(biāo))。
自動化測試是駕車。其優(yōu)點(diǎn)是速度快,能在短時(shí)間內(nèi)測試大量的內(nèi)容,其不足是自動化測試只做規(guī)定的檢查,會忽視其他所有細(xì)節(jié)。即便軟件出現(xiàn)一望即知的問題,只要測試代碼沒有做相應(yīng)的檢查,自動化測試就會放過它。其實(shí),自動化測試更像地鐵,可以將大量乘客快速準(zhǔn)時(shí)地送到目的地,但是所有旅客都無法觀察到地面的風(fēng)景。
計(jì)算機(jī)輔助測試是他人駕車。自動化測試或測試工具完成繁重的工作,帶著測試人員快速地漫游產(chǎn)品。在測試過程中,測試人員監(jiān)控產(chǎn)品的表現(xiàn),如果發(fā)現(xiàn)問題,他可以“下車”調(diào)查。該策略綜合了手工測試和自動化測試的優(yōu)點(diǎn),利用軟件工具來提高測試效率、豐富測試手段,讓測試人員能夠更好地觀察、思考與行動。
可見,手工測試和自動化測試并不是相互排斥的。如果綜合它們的優(yōu)點(diǎn),就可能開發(fā)出更具威力的測試策略,以實(shí)現(xiàn)多帶帶的手工測試或自動化測試不能達(dá)到的效果。
第二,測試是為了獲得產(chǎn)品質(zhì)量信息的技術(shù)調(diào)查,任何有助于周密調(diào)查的方法都是有價(jià)值的。在罪案偵查中,刑偵人員會利用多種方法,從各個(gè)信息源收集情報(bào)。他們會利用高精密的儀器提取證據(jù),也會大范圍走訪以獲得線索,更重要的是,他們會反復(fù)思考當(dāng)前的情報(bào),以隨時(shí)調(diào)整調(diào)查方向。與之類似,測試人員也需要綜合運(yùn)用多種技術(shù)和工具,去探究新的信息,并根據(jù)新發(fā)現(xiàn)及時(shí)調(diào)整測試方向。在調(diào)查過程中,學(xué)習(xí)、分析、推斷、反思等思維活動是必不可少的,而這些是無法自動化的。
第三,利用自動化測試,測試人員可以實(shí)施更有效的技術(shù)調(diào)查。以下是一個(gè)案例。
模糊測試是一種修改輸入數(shù)據(jù)來暴露軟件缺陷的方法。如果產(chǎn)品需要讀取復(fù)雜的文檔,測試小組可以使用文件模糊器,對原始文檔進(jìn)行隨機(jī)修改,生成大量的模糊文檔。然后,模糊測試框架啟動產(chǎn)品,令它讀取這批被篡改的文檔,并嚴(yán)密監(jiān)控可能的異常情況。在測試結(jié)束后,測試人員分析測試日志中記錄的錯(cuò)誤,以識別安全缺陷。模糊測試是一種暴力測試方法,一輪模糊測試會使用數(shù)萬個(gè)甚至更多的模糊文件。如果運(yùn)用得當(dāng),模糊測試可以發(fā)現(xiàn)許多手工測試或簡單的自動化測試無法發(fā)現(xiàn)的問題,這對于提高軟件的安全性極具價(jià)值。例如Microsoft
Office團(tuán)隊(duì)在開發(fā)Office 2013時(shí),通過模糊測試發(fā)現(xiàn)并修改了2100多個(gè)缺陷。可見,新的測試挑戰(zhàn)要求測試人員重新思考自動化測試的使命,用創(chuàng)新思維去充分利用計(jì)算資源,以提出更具威力的測試策略。
圖靈訪談:從測試人員的個(gè)人發(fā)展角度來看,您更鼓勵他們參與什么樣的測試工作(手動測試、自動化測試,還是測試用例的設(shè)計(jì))?
史亮:我建議測試人員多方面的發(fā)展。一個(gè)測試新人需要避免的思維誤區(qū)是用某個(gè)職務(wù)頭銜限制自身能力的發(fā)展。例如,我在測試論壇中發(fā)現(xiàn)一些測試人員常討論“白盒測試工程師”、“黑盒測試工程師”和“性能測試工程師”等職位。一部分人認(rèn)為它們是相互排斥的,即做白盒工程師就不用考慮用戶情景,做黑盒工程師就不要考慮代碼實(shí)現(xiàn),做性能工程師就只要鉆研性能測試工具。其實(shí),這些名詞只是某些公司所設(shè)定的職位而已,只代表他們對工程師的要求,并不體現(xiàn)軟件行業(yè)對高水平測試人員的期望。實(shí)際上,國內(nèi)外的高水平科技企業(yè)都要求工程師能夠獨(dú)當(dāng)一面,能夠獨(dú)立完成一個(gè)領(lǐng)域的大部分任務(wù)。對于測試人員而言,他需要能夠獨(dú)立完成一個(gè)產(chǎn)品或組件的測試。無論測試活動是白盒測試、黑盒測試還是性能測試,只要工作需要,他就應(yīng)該有能力完成。因此,為了長遠(yuǎn)地發(fā)展職業(yè)生涯,測試人員不應(yīng)該被頭銜所約束,而是要積極地拓展自己的知識儲備。
圖靈訪談:對在線服務(wù)的測試和對傳統(tǒng)軟件的測試有什么不同?
史亮:一般說來,互聯(lián)網(wǎng)應(yīng)用與客戶端軟件有如下不同。
互聯(lián)網(wǎng)應(yīng)用運(yùn)行在云端,客戶端軟件運(yùn)行在用戶計(jì)算機(jī)上。對于云端服務(wù),運(yùn)營團(tuán)隊(duì)只要發(fā)布新版本就可以立即覆蓋所有用戶,所以部署缺陷修復(fù)變得很容易。這推動項(xiàng)目團(tuán)隊(duì)以更快地速度開發(fā)并測試軟件。反觀客戶端軟件,許多用戶并不經(jīng)常更新軟件,這推動項(xiàng)目團(tuán)隊(duì)花較多的時(shí)間來穩(wěn)定產(chǎn)品,以減少錯(cuò)誤。
互聯(lián)網(wǎng)應(yīng)用大多是“服務(wù)器—瀏覽器”端,其中服務(wù)端的所有代碼都運(yùn)行在受監(jiān)控的環(huán)境中。項(xiàng)目團(tuán)隊(duì)可以通過服務(wù)日志等了解用戶行為和軟件行為,這為分析用戶習(xí)慣、發(fā)現(xiàn)程序錯(cuò)誤、優(yōu)化系統(tǒng)性能等提供了重要資料。這些信息常常是內(nèi)部測試所不能提供的,對項(xiàng)目團(tuán)隊(duì)提高產(chǎn)品質(zhì)量有很大幫助。反觀客戶端軟件,項(xiàng)目團(tuán)隊(duì)通常無法訪問其運(yùn)行環(huán)境,也很難收集到豐富的用戶反饋。這樣的信息缺口要求測試小組更努力的測試、更積極地與用戶交流,但很難到達(dá)互聯(lián)網(wǎng)項(xiàng)目的效果。
互聯(lián)網(wǎng)應(yīng)用往往擁有涉及多個(gè)軟件系統(tǒng)的工作流,每個(gè)系統(tǒng)往往有不同的實(shí)現(xiàn)技術(shù)和測試策略。這要求測試人員掌握更多的方法和工具,并準(zhǔn)備復(fù)雜的測試環(huán)境??蛻舳塑浖3V挥幸粋€(gè)進(jìn)程,測試人員只需要深入了解它,就可以勝任工作,且搭建測試環(huán)境比較簡單。
不過,目前的趨勢是客戶端軟件也在“云端化”,客戶端軟件的測試人員需要更多地借鑒互聯(lián)網(wǎng)應(yīng)用的測試實(shí)踐。
許多客戶端軟件已經(jīng)做到持續(xù)更新。例如,一些軟件會自動下載更新,然后提示用戶更新。有些軟件甚至?xí)詣影惭b更新,所以用戶每次啟動都是該軟件的最新發(fā)布版。在智能手機(jī)和平板電腦上,App Store也會提示用戶更新應(yīng)用,而且在用戶允許的情況下,有些App Store會自動安裝新版本的應(yīng)用。此外,有些應(yīng)用的顯示內(nèi)容是HTML渲染的結(jié)果,只要服務(wù)器推送新的HTML頁面,應(yīng)用的內(nèi)容就會變化。從某種角度,此類應(yīng)用與互聯(lián)網(wǎng)應(yīng)用的瀏覽器端沒有什么差異。
許多客戶端軟件已經(jīng)可以持續(xù)收集質(zhì)量信息。成熟的App Store都向開發(fā)者提供了豐富的質(zhì)量信息,包括用戶下載次數(shù)、購買次數(shù)、用戶評價(jià)、軟件崩潰信息、軟件錯(cuò)誤信息等。這都有助于開發(fā)者提高應(yīng)用質(zhì)量。此外,許多軟件會使用遙測(telemetry)技術(shù),在用戶允許的情況下,向服務(wù)端發(fā)送運(yùn)行數(shù)據(jù)。這讓客戶端軟件的項(xiàng)目團(tuán)隊(duì)也能獲得豐富的質(zhì)量數(shù)據(jù)。
許多客戶端軟件都需要訪問互聯(lián)網(wǎng)服務(wù)。我回憶了一下日常使用的軟件,大部分都要與某些服務(wù)器通訊——這也是大多數(shù)用戶的普遍情況。未來,純粹的“單機(jī)軟件”會愈來愈少,客戶端軟件與互聯(lián)網(wǎng)服務(wù)的結(jié)合會更緊密。因此,相關(guān)測試人員也需要掌握一些互聯(lián)網(wǎng)服務(wù)的測試技術(shù)。
客戶端軟件不會和互聯(lián)網(wǎng)應(yīng)用一模一樣,但是它們將擁有更多的相似之處。在高速發(fā)展的軟件業(yè),技術(shù)工作者需要“擁抱變化”,向同行學(xué)習(xí)一些新技術(shù),做一些恰當(dāng)?shù)膰L試,會收獲好的成果。
圖靈訪談:在《軟件測試實(shí)戰(zhàn)》的結(jié)尾,您總結(jié)了很多幫助測試工程師高效學(xué)習(xí)的方法,其中提到了“耐心”、“堅(jiān)持”和“知行合一”。您能總結(jié)一下一位優(yōu)秀的測試工程師應(yīng)該具備的性格特點(diǎn)嗎?
史亮:我認(rèn)為任何性格特征的測試人員都可以獲得成功,而且從團(tuán)隊(duì)建設(shè)的角度,一個(gè)由不同性格成員所構(gòu)成的團(tuán)隊(duì)往往更有活力。
獲得個(gè)人成功并不容易,我認(rèn)為最重要的基礎(chǔ)是對項(xiàng)目、對自己負(fù)責(zé)任的態(tài)度。對項(xiàng)目負(fù)責(zé),測試人員需要提供高質(zhì)量的測試服務(wù)來幫助項(xiàng)目成功;對自己負(fù)責(zé),測試人員應(yīng)該以專業(yè)人員(professionals)自居,堅(jiān)持專業(yè)主義(professionalism),追求精湛的技藝和卓越的成果。好的態(tài)度會推動持續(xù)的努力,努力將獲得項(xiàng)目成功和技能成長,它們會激發(fā)熱情,而熱情會燃起更積極態(tài)度。這樣的激勵循環(huán)將幫助測試人提升能力,并發(fā)展出適合自身特點(diǎn)的職業(yè)之路。
圖靈訪談:測試過程中,工程師需要對產(chǎn)品和業(yè)務(wù)有相當(dāng)?shù)亓私?,是不是說測試工程師在某些方面對于產(chǎn)品的了解甚至超過了產(chǎn)品經(jīng)理?
史亮:對于復(fù)雜的軟件,任何人都不可能掌握全部的信息。測試人員的主要任務(wù)是通過技術(shù)調(diào)查提供產(chǎn)品的質(zhì)量信息,為項(xiàng)目的關(guān)鍵決策提供支持。一方面,技術(shù)調(diào)查要求測試人員掌握產(chǎn)品和業(yè)務(wù)的知識,另一方面,深入的調(diào)查會幫助他更深刻地理解產(chǎn)品和業(yè)務(wù)。所以,在許多問題上,測試人員的理解超過產(chǎn)品經(jīng)理是很自然的情況。
《軟件測試實(shí)戰(zhàn)》第7章“研究產(chǎn)品”從靜態(tài)分析、動態(tài)分析、業(yè)務(wù)研究等方面入手,討論了如何從測試視角來研究產(chǎn)品。所謂“優(yōu)秀的測試”并不是使用最前沿、最高級的測試技術(shù),而是根據(jù)產(chǎn)品和項(xiàng)目的實(shí)際情況選擇恰當(dāng)?shù)臏y試方法。所以,測試人員需要在整個(gè)項(xiàng)目過程持續(xù)地調(diào)研,并將研究成果應(yīng)用于當(dāng)前的測試。
圖靈訪談:未來辦公軟件產(chǎn)品將會朝什么方向發(fā)展?Office系列產(chǎn)品在未來是否會出現(xiàn)重大革新?
史亮:微軟的整體戰(zhàn)略是“Mobile First, Cloud First” (移動優(yōu)先,云端優(yōu)先)。在Microsoft Office方面,該戰(zhàn)略大致有如下表現(xiàn)。
除了Windows和Windows Phone,Office套件會進(jìn)入其他主流移動平臺,包括iPhone、iPad和Android等。目前,OneNote已經(jīng)在這些平臺上發(fā)布了相應(yīng)版本。
Office套件會和微軟的云服務(wù)(OneDrive、SharePoint Online等)深度集成,讓用戶可以隨時(shí)隨地通過Office應(yīng)用來訪問存放在云端的信息。
Office365(Office套件與云服務(wù)的集合)會在商業(yè)智能、團(tuán)隊(duì)協(xié)作、業(yè)務(wù)管理等領(lǐng)域持續(xù)發(fā)力。 未來,移動計(jì)算與云計(jì)算會深度集成,Office產(chǎn)品也需要“與時(shí)俱進(jìn)”。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/8697.html
摘要:北京時(shí)間月日月日,由和中國國際人才交流基金會聯(lián)合主辦的第七屆全球軟件案例研究峰會簡稱在北京國家會議中心圓滿落幕。本屆峰會,來自阿里美團(tuán)百度平安銀行等企業(yè)的講師分別從企業(yè)轉(zhuǎn)型及研發(fā)效能方面分享敏捷和的實(shí)踐細(xì)節(jié)和操作經(jīng)驗(yàn)。 北京時(shí)間11月30日-12月3日,由msup和中國國際人才交流基金會聯(lián)合主辦的第七屆全球軟件案例研究峰會(簡稱:TOP100summit)在北京國家會議中心圓滿落幕。T...
摘要:公布的公有云存儲提供商魔術(shù)象限顯示,正在逐漸失利,而谷歌和微軟則取得了一些進(jìn)展。還指出,它很難擊敗谷歌和微軟以及在中國擊敗阿里巴巴。到目前為止,和公有云存儲產(chǎn)品之間沒有集成點(diǎn),仍然不支持,也不支持。Gartner公布的公有云存儲提供商魔術(shù)象限顯示,AWS正在逐漸失利,而谷歌和微軟則取得了一些進(jìn)展。Gartner分析師指出,與主要競爭對手的多區(qū)域?qū)ο蟠鎯Ψ?wù)相比,谷歌的可用性一直是更高的,網(wǎng)絡(luò)...
摘要:年月日,麻省理工科技評論發(fā)布了年歲以下科技創(chuàng)新人中國榜單,美團(tuán)點(diǎn)評平臺部中心負(fù)責(zé)人點(diǎn)評搜索智能中心負(fù)責(zé)人王仲遠(yuǎn)獲評為遠(yuǎn)見者。這一次,王仲遠(yuǎn)依然拿到了很多頂級機(jī)構(gòu)發(fā)出的。年,因?yàn)榧彝シ矫娴目紤],王仲遠(yuǎn)選擇回國發(fā)展。 2019 年 1 月 21 日,《麻省理工科技評論》發(fā)布了 2018 年35 歲以下科技創(chuàng)新 35 人(35 Innovators Under 35)中國榜單,美團(tuán)點(diǎn)評AI平...
閱讀 2472·2021-09-01 10:41
閱讀 1464·2019-08-30 14:12
閱讀 536·2019-08-29 12:32
閱讀 2881·2019-08-29 12:25
閱讀 2960·2019-08-28 18:30
閱讀 1733·2019-08-26 11:47
閱讀 1014·2019-08-26 10:35
閱讀 2624·2019-08-23 18:06