這個題目更應該是個疑問句,而不是陳述句。要想成為一名Senior Mobile SW testing engineer,不談軟性的方面,諸如管理能力,溝通技巧等等,單純從技術層面上來說,在廣度和深度上到底需要具備那些專業知識,到目前為止,我仍然沒有一個確定的答案。
有個插曲可以說一說,倒是可以給這個問題帶來一點點提示。在韓國出差的時候,曾經和一位開發的同事閑聊,問他為什么不是Senior SW engineer, 因為據我所知,和他差不多同樣水平的工程師大部分都是Senior的級別。他說當初應聘我們公司的時候沒有想到要申請 Senior,進來才發現原來成為Senior很容易。然后他反過來問我,我說我不是,但是我們組剛來的幾個從SE跳過來的同事都是Senior。這位開發工程師一臉詫異的表情,你們這測MMI的不久是啪啪的按手機嗎?還有什么Senior!難道Senior看的就是比誰手按的快嗎?一時之間,我啞然了,因為我實在無法解釋作為手機MMI層的測試工程師,Senior與Junior的區別到底在哪里?在我們項目里,Senior和Junior工程師所從事的工作是完全一致的,Senior的價值又體現在哪里呢?開發的同事接著說,Senior的測試工程師應該可以自己開發測試工具啊,這樣才夠Senior啊。
能夠自己開發測試工具,無疑是一個Senior testing engineer應該具備的素質之一。
但是我覺的這只是一個方面,在我理解中,一個合格的高級手機軟件測試工程師應該具有以下幾個方面的知識:
★★★★★ 深入理解及掌握
★★★★ 一般理解
★★★ 了解
★★ 基本概念
1. 移動通信原理和網絡結構★★★★
移動通信的原理和網絡結構,專業性很強,而一般的MMI測試工程師很難掌握,而且也有專門的協議測試工程師來負責協議棧一致性測試。但是我認為作為一個手機軟件測試工程師還是應該學習和理解一些在協議層level上的知識,對于信道,信令等還是要有一些概念性的理解。對于一些典型的手機流程,比如開機,關機,主呼,被呼,發送/接受短信等典型流程,應該有信令級的理解,對于一些常用的網絡參數,要理解其含義,發現問題的時候,通過trace或log信息能夠基本確定網絡問題還是手機的 defect。(其實要想看懂的手機的Trace,就一定要對協議棧有一定的理解)。題外話,我們測試部門的director曾經對我們軟件測試team的表現很不滿意,認為我們不應該只是單純的發現bug,而應該從更深層次的去探究這個 bug的原因,甚至可以定位bug,所以對我們做了很么網絡,協議層的培訓,但是效果很不好,而且team manager和director的分歧也很大,在我們team manager看來,定位defect應該是開發的任務,對于這一點我想另外寫文說說自己的觀點
2. 手機軟件的架構★★★
手機軟件的Architecture,從底層驅動到上層應用,是一個什么樣的結構,應該有一定的認識。在我的理解中,基本上現在的手機研發,都是由第三方如TI提供一個整體的平臺,整合了所有協議棧的內容,然后在之上是手機的操作系統,如Symbian, Linux, or Palm等等,或者如我所在的公司,由Openplug or SKY提供開發的framework, 然后在這之上進行MMI的開發
3. 軟件測試理論知識★★★★★
這個不用多說,軟件測試工程師必須要掌握的,軟件測試如何融入整個開發的流程,什么時候介入,什么時候結束,如何搭建測試環境,如何設計Test Case (包括設計Case的等價類劃分,邊界值法等等),還有測試領域專用的一些術語等等。
4. 開發技能★★★★★
合格的軟件測試工程師,編程技能不可缺少。在手機測試中,比如AT command,完全可以開發工具來實現自動化測試。所以掌握一門扎實的編程語言,C或者C++還是非常重要的
5. 手機的工作原理★
這里涉及到手機的一些硬件知識,這部分知識在手機軟件測試中有沒有作用,我也沒有什么認識。暫且列在此處。但是我覺的一些手機的專業術語還是應該知道的。
我能想到的就是這些了,一個合格的手機軟件測試工程師,要掌握的東西是很多很多的。
生無涯,而學也無涯,看來學習要走的路還是很長的,加油啦!
文章來源于領測軟件測試網 http://www.kjueaiud.com/