就這樣,李敏開始了在微軟當軟件測試開發工程師的旅程。
幾個月過去了,當同學好奇地問起在微軟工作的感受和SDET的情況時,她說了自己的“微軟測試初體驗”:
測試初體驗一、軟件測試開發工程師,很“奢侈”很“酷”
問起對軟件測試開發工程師的第一印象是什么,她的回答是:挺“奢侈”挺“酷”的。
說到“奢侈”,先看看一個軟件測試開發工程師的典型“測試財產清單” —— 一到兩臺配置先進的工作機;兩個21寸的液晶顯示器,一個屏幕用來顯示產品的界面,另一個屏幕用來發bug或者編程序;再加上實驗室里面十幾臺測試機器或是一個16G內存的“巨無霸”。如果你需要測試Windows Mobile,那恭喜你了,各式各樣的smart phone、pocket PC可以裝滿一抽屜。經過一段時間的了解后,她也知道了這樣“奢侈”的配置一方面可以提高工作效率,更重要的是讓測試工程師能夠考慮到各種復雜的配置以及模擬客戶環境。
說到“酷”,印象中,軟件測試開發工程師總是有機會走在嘗試各種微軟新技術、新產品的前端,也總是有機會通過動手能力來展示自己的“酷”。比如工程師會把十幾臺測試機器裝成各種各樣不同的Bench, 操作系統從Windows 2000、XP到最新的Vista、Longhorn甚至Windows 7,從x86到x64,從英文到德文、中文、日文等;微軟最新的產品或者尚未發布的產品都可以拿來“研究”一把,比如Longhorn、Windows 7、Hyper-V等;雖然不一定考過MCSE,但是每個人都會配置DNS、DHCP、AD、network等。
測試初體驗二、測試有時候就像是玩游戲,找問題的能力很重要
測試就像是玩游戲?也許你會覺得不可思議。李敏拿了道面試題來打比方,給你一臺筆記本電腦,你會怎么去測試它?這是一道典型的開放式問題,即使是沒有測試知識的人也可以想出很多的“測試用例”。比如檢查筆記本的型號、顏色、硬件配置、屏幕、電池、操作系統等,相信這是很多人拿到新買的筆記本之后做的第一件事情,這些多半都屬于常規的正向功能測試;還有些人指出,外觀要小巧方便攜帶,鍵盤手感如何布局如何,功能鍵是不是方便易用,這些人對可用性要求比較高;還有些會想到用它來玩3D游戲看看顯卡的性能怎么樣;有些人想到裝上Vista、64位的操作系統,這就是兼容性方面的考慮;還有人思維“不走尋常路”,提出要把筆記本放在赤道的日照、南極的冰雪環境下試試能不能正常工作,當砧板切切菜,扔下樓看看碎不碎,這就是關于可靠性和壓力方面的測試,有趣的答案還可以有許多許多,只要你去想…
在李敏的描述中,軟件測試開發工程師真實的日常工作跟答這道題一樣的好玩,只不過筆記本電腦換成了軟件程序。軟件測試開發工程師拿到“筆記本電腦”之后,會像上面說到的一樣開動腦筋仔細檢查,檢查之前需要列出想測試的各個方面、策略、工具、風險以及怎么開展等,這稱為測試計劃(test plan);每項具體的測試叫做測試用例(test case),每個test case需要列出具體操作步驟(steps);找出來軟件的缺陷、問題等稱為bug,bug中需要記錄怎樣去重現它,稱為重現步驟(repro steps);找bug的過程中你可以試圖找出根本原因在哪里、甚至哪一行代碼有問題,這就是debugging。優秀的軟件測試開發工程師在這個“玩游戲”的過程中需要具備足夠的好奇心,想出各種各樣的主意把軟件“搞壞”,盡可能地找出bug,還要多從客戶的角度去想,其終極目標就是為發布到客戶手中的軟件把好質量關。其中,找bug是軟件測試開發工程師應該具備的基本功。
不久她就找到機會“測試”了一把自己的SDET指數,正好高性能計算組舉辦找bug比賽,優勝者可以獲得一些小禮品,她拿到了一個印有Microsoft標志的水杯。
這時候,她的一個高中同學在MSN上面發了條消息:“你當了測試工程師,就不用編程了吧?”??磥硇枰吻逡幌铝耍?/P>
測試初體驗三、誰說軟件測試開發工程師不用寫代碼了?
微軟早年也設有只做手工測試而不寫代碼的職位,稱為STE(Software Testing Engineer)?,F在所有的測試工程師的職位都叫做SDET(Software Development Engineer in Test),從名字可以看出來,需要具備編程能力,這些編程工作是為了更好地做測試。
舉個例子,李敏負責的某個UI模塊有1000多個測試用例,手工執行一遍想想都很累。為了偷懶,她寫了些代碼將其中80%的測試用例實現測試自動化,這樣下班前只要讓機器開始跑自動化,第二天就可以拿到結果,從而大大減少了驗證這些測試用例所需要花的人工時間,又可以及時地捕捉到bug。此外,軟件測試開發工程師經常會做一些實用的測試工具和研究測試技術,比如開發UI測試方面的工具,開發測試流程管理工具,和更好地運用基于模型的測試方法等。在堅持創新的公司文化引導下,大家都非常注重運用新技術新方法,不斷地把測試工作推進到新的高度。
轉眼間,一年過去了,李敏從上海的服務器與開發工具事業部老大謝恩偉的手中接過了一周年的水晶紀念碑,按照慣例還請大家吃了一磅的M&M巧克力。2007年秋天,她所在的團隊發布了System Center Configuration Manager 2007。在這段時間里,她親身體驗了微軟給員工提供的多種多樣的成長幫助:職業發展體驗一、員工成長路上的多種幫助
從加入公司的第一天起,部門就分配了一個資深員工給李敏做“Mentor”,Mentor的意思是良師益友,也就是“師傅”。Mentor會手把手地教日常工作中碰到的各種問題,很多小問題都可以請教Mentor,比如打印機怎么用、測試用例怎么設計、甚至是開會的時候有個縮寫名詞沒聽懂等。第一個 Mentor的作用就是“師傅領進門”。
公司還提供了系統的專業知識培訓。半年內,她先后參加了New SDET in Microsoft、Test Automation等培訓,這些都是測試工作的基礎知識。說起“修行在自身”,公司MyLearning網站上有不少測試專題,比如性能測試、代碼覆蓋率研究和安全測試等;這個網站有無數的在線課程錄像,在這里可以學習其他員工的知識和經驗,幫助自己更好地做測試工作;近期即將進行的技術講座、培訓、會議等也會在這里公布,熱門專題一定要早點去注冊“占座”,否則就沒位子了。另外,她還發現了一個非常棒的資源MSLibrary,那里有無比豐富的技術書籍、新聞雜志和研究論文等。公司還投資了一系列的綜合能力培訓,為員工提供從各方面提升“軟”技能的平臺:有些培訓是語言方面的,比如覺得英文不夠好的可以去上課,老外來到中國也可以學中文;還有一些是教你“怎么說話”的,比如告訴你怎么精準提問、精準回答,怎樣做演講,怎樣去溝通得到大家都想要的結果;還有一些教你“怎么思考”,比如創新思考,不同情況下的思考方式等。這些培訓很實用,一般學完了就可以運用到實際工作和生活中。
原文轉自:http://www.anti-gravitydesign.com