終於在51testing上發現一個有點意思的文章,把各觀點整理一下。言辭比較激烈,給大家看著樂樂。
文章標題:軟體測試工程師試題發布版 發貼人 jackei
這份試題的內容來自兩年來軟體測試工程師招聘經驗的總結,不涉及任何機密資訊或隱私資訊,希望可以為即將走上測試之路或已經開始軟體測試生涯的朋友們提供一些參考或協助。
文檔為Word格式,之所以沒有轉換成PDF,就是希望這可以做為一份開放的文檔供大家使用,我也並不介意您直接將這份文檔應用在自己的招聘工作中,希望每個看過這份文檔的人都可以從中獲得一些收穫。
也希望更多高手在我拋出這塊“磚”之後,可以一起站出來為這個行業的發展做些事情。
點擊下載http://www.cnblogs.com/jackei/archive/2005/03/17/120183.html
貼主說(以下藍色背景為貼主的回帖):
設計本試題的目的是希望可以希望可以通過筆試,儘可能多的體現出應聘者對於軟體測試、軟體工程和軟體品質保證方面基礎知識的掌握情況,並引導應聘者儘可能多的展示自己在以往的工作中積累的工作經驗。我的目的是希望可以達到一種通過紙面與應聘者交流的效果,讓應聘者在答題的過程中可以對自己的思想和經驗做一些總結和反思。我在面試的工作中,都會多多少少的給應聘者講一些測試方面的知識或者解答一些力所能及的問題,也是希望應聘者可以不虛此行吧。同樣,如果應聘者可以記住這份試題中的問題,那麼也可以做為一份很好的學習計劃和指導,因為在我看來,這就是我對於一名優秀的測試工程師的要求——當然,要耐心從頭至尾完成這份試題,也說明達到了測試工程師的一項基本要求——耐心^_^
本來也是做為一份面試試題的,排成這種格式主要是方便主考官不在公司的時候供應聘者書寫使用的。
在一片叫好聲中,有人站出來說(以下黃色背景為此網友A的回帖,我隱去了其網名):
看了,滿篇都是大道理,玄虛的概念,須知測試的知識是從實踐中得來的,不是背書本背出來的。
哪家公司給你出這樣的面試題,就可以打定主意不要去了。
A,不好意思,這份題是我出的。當然,這份題仍然不是十分完善,不過這主要是因為我個人水平有限,同公司沒有直接關係。如果可以,非常希望您可以幫忙增補或者修改,謝謝。
樓主故作自謙的八股客套話實在讓人聽著難受。我是不回貼都不行了。
01.為什麼要在一個團隊中開展軟體測試工作?
拆析: 此問就有失水準,試問哪個測試不是在團隊中做的?哪有無開發的測試?如果作者想問“軟體為什麼需要測試”,那就跟問程式員“什麼叫軟體”一樣,實在是一個無聊而又外延極廣的話題。
02.您是否瞭解以往所工作的企業的軟體測試過程?如果瞭解,請試述在這個過程中都有哪些工作要做?分別由哪些不同的角色來完成這些工作?
拆析: 這個話題稍微實際一點,但研究下來,實在是一個空泛的問題。作者恐怕自己都不知道軟體測試過程從軟體生命週期中何時開始,又何時結束,否則不會又問出第三道題來。
03.您是否瞭解以往所工作的企業的軟體開發過程?如果瞭解,請試述一個完整的開發過程需要完成哪些工作?分別由哪些不同的角色來完成這些工作?(對於軟體測試部分,可以簡述)
拆析:建議作者試卷的title改為《軟體品質保證工程師的筆試試題》
04.您在以往的測試工作中都曾經具體從事過哪些工作?其中最擅長哪部分工作?
拆析: 這個問題不適合筆試,適合面試時發問,後續可根據面試者回答的答案,再做深入性發問。在筆試中,無疑又是一道假大空的問題。
05. 您所熟悉的軟體測試類型都有哪些?請試著分別比較這些不同的測試類型的區別與聯絡(如功能測試、效能測試……)
拆析:這種問題又是放了一個衛星。軟體測試類型按什麼劃分?按周期可從單元測試到驗收測試,按測試技術又有黑箱測試和白盒測試,按被測軟體運行狀態又有靜態分析和動態檢查。。。。。。作者可謂想一道題將天下所有的測試概念一網打盡,真叫應試者犯難啊。
06.請試著比較一下黑箱測試、白盒測試、單元測試、整合測試、系統測試、驗收測試的區別與聯絡。
拆析:犯了一個基本的錯誤:黑箱測試和白盒測試屬測試技術範疇,即測試方法,可應用於不同的具體測試中;單元測試。。。驗收測試屬測試策略問題,即在軟體開發的生命週期中的相應測試點。都不是一個劃分範疇的概念拿出來有什麼可比較的?
本來還想再寫下去,看了這試題,懶得動筆了。
筆試題目考基本功,面試考應變發揮,我看到的卻恰恰相反。通篇看過你出的筆試題目,一道可度量的技術題都沒有,莫非樓主早已只研究測試管理,不屑於寫test case了嗎?
哈哈
別怪我拍磚太狠,樓主發個文章說著是拋磚引玉,但字裡行間卻連連聲稱是為測試人員做指導,為軟體行業做貢獻,擺出一副老者的姿態指指點點,這也太虛偽了吧,論壇是大家熱烈討論,拍磚的場所,不是誰顯擺自己資曆,教育他人的地方。
這樣做,不知樓主是瞧著測試業裡沒人,還是真的以為自己登峰造極了。另外,這些面試題題目本身就犯基本概念錯誤,不知是考應試者,還是樓主自己也想知道答案。
哈哈
A,非常感謝你,我的確是不知道這些問題的答案,不如你把這份題重新整理一下,然後附上答案,協助我們這些初學者提高水平,如何?
筆試的最大失敗之處:一百個筆試者有一百個答案,一百個考官能給出一百個不同的分數。
這份題不用整理,直接燒掉了。
樓主,你認為你問的問題會有標準答案嗎?這份題目與其說是考察筆試者的能力,不如說是考察筆試者的認知和你自己的認知一致的程度。
網友B的發言:
A,你可以給出一份你自己的正確答案給大家參考,相信大部分也是對的,寫個參考答案,協助協助大家嗎。不要老是說斑竹這裡不好那裡不好,斑竹能寫出這份題來,已經是對大家很大的協助了,你的板磚不要拍的這麼狠:)
網友C的發言:
從A的述說中,我贊同其關於筆試題的觀點:筆試不能一百個筆試者有一百個答案,一百個考官能給出一百個不同的分數,如果是這樣的題應該放在面試的時候問,不知樓主是否同意這樣的說法?
不過話說回來,如果應聘者能夠用筆應對這些問題,也是一件好事……不過A所說的哪些題如出現在筆試題中,並不合適。如果應聘者看到這樣的題,會覺得出題者(公司)急需測試人員,更會無端猜測公司現有測試團隊的技能水平……
其實我想大家不需要為是否適合筆試爭論了,說實話我也不是很喜歡筆試,因為筆試通常會給應聘者過大的壓力。對於 A 說的“考察筆試者的認知和你自己的認知一致的程度”,我想對於面試或者筆試,難道我們都是為了知道應聘者的觀點是與我們不同的嗎?這份試題我個人覺得更側重於看應聘者是否真的對問題有自己的觀點和思考,是否真的在實際工作中從事過這些工作並進行了思考。如果應聘者對於某項工作有更好的方法,我們也可以考慮採用啊。
說實話,我們不能說面試官就一定是高手,一定可以評判應聘者的答案是否正確。但是能夠作為面試官,至少在某方面是有所擅長的,可以在某個方面去觀察和評價應聘者的能力以及素質、態度是否符合公司職位的需要——這也是為什麼通常面試都會安排幾位不同的面試官。我還真想不出有哪個公司的面試官是以應聘者與自己的觀點完全相駁來確定聘用的。
另外,從A的回帖中可以看出也是一位具有一定水平的測試工程師,不知道是否真的可以整理出一份自己認為比較好的試題一起讓大家交流呢?
總有人愛為自己的錯誤找出各種各樣的冠冕堂皇的理由。哈哈
B,C諸位看官,可以說從你們的骨子裡就認為測試是個技術含量低的事情,測試水平高低的衡量標準就是玩弄那些玄虛的概念和理論的熟練程度。
測試和所有的工作一樣,都是不可能脫離實際的工作環境,從被測軟體系統到中介軟體,作業系統平台甚至程式設計,編譯原理,哪一樣不可作為筆試的素材?
在unix系統下程式測試,至少要懂unix常用命令,shell編程吧
做效能測試,至少要懂系統配置,軟體構架,甚至程式設計原理,編譯原理,否則記憶體溢出,程式啟動緩慢都不知道怎麼回事
做帶介面的系統測試至少要知道測試案例設計方法,一些指令碼的運行原理,檢查點的截取方法吧
另外,給測試人員一個系統,考察他何設計一個測試載入器也不過分吧。
你出這樣的題目來評判測試人員的水平,簡直就是在蔑視軟體測試的技術含量(當然現在目前大多測試人員都水平不高,但並不意味著這個工作就是水平不高)
幸虧軟體測試的前途沒有掌握在你們手中,否則又成了三個代表,放之四海皆準,卻處處不通。
你們幾個一定都沒做過一年以上的開發,或者說可能乾脆都沒做過開發。看來將來軟體測試人員的水平提高需要軟體開發人員來協助了,應該讓他們來做軟體測試。