為功能測試正名,寫給廣大軟件測試同行 《轉(zhuǎn)載》
首先,恭祝生日快樂,感謝您一直是所有軟件測試人員成長的搖籃和精神支柱!
從剛剛接觸軟件測試工作,到現(xiàn)在已經(jīng)有十年之久。
十年前,畢業(yè)后就進入了一家軟件公司,經(jīng)理分配的任務(wù)就是測試軟件,發(fā)現(xiàn)有錯的地方就告訴他。這是我對軟件測試工作的第一印象,就是看系統(tǒng)是否報錯,各個功能按鈕是否能夠正確響應(yīng)。
兩年后,由于公司經(jīng)營不善,我被公司裁員。其理由是:技術(shù)總監(jiān)認(rèn)為沒有必要設(shè)置軟件測試工程師的崗位。因此,競崗時,我無崗可竟。
恰巧,當(dāng)時中國軟件評測中心跟省科技廳聯(lián)合培訓(xùn),于是,我就第一次真正認(rèn)識到什么是軟件測試。同時,也知道了51testing和測試時代這些軟件測試交流的專業(yè)平臺。
之后,我就入職另一家軟件公司。當(dāng)時,入職的職務(wù)是測試員,但公司的測試基本上和我第一次接觸軟件測試工作時的水平差不多。于是,我就從最基礎(chǔ)的缺陷管理、測試用例、測試流程、測試規(guī)范、測試標(biāo)準(zhǔn)等等,一步步的將公司的測試規(guī)范建立起來,而我也因此成為了公司的測試部門經(jīng)理。從測試員到測試部門經(jīng)理,在這短短的八個月的時間里,可以說我取得的每一次進步,掌握的每一種知識,均來源于51testing和QQ群。可以說,如果沒有這些交流平臺,就不可能有系統(tǒng)化學(xué)習(xí)的機會。
為了挑戰(zhàn)質(zhì)量要求更高的項目,我離開了家鄉(xiāng),加入了現(xiàn)在的團隊。這是一支由150多名技術(shù)人員組成的團隊,其中,測試人員有20人。我入職的職務(wù)是測試組長,兩周后任質(zhì)量經(jīng)理,八個月后任測試總監(jiān)。從各種測試標(biāo)準(zhǔn)的制定到測試規(guī)范的建立,再到測試體系的建立;從團隊?wèi)?zhàn)略發(fā)展方向到團隊梯隊建設(shè)再到測試知識庫的籌建;從技術(shù)培訓(xùn)到團隊成員職業(yè)規(guī)劃;三年來 ,我和這支團隊一起成長。
從業(yè)近十年,參與的項目十余個,其中千萬級以上的項目三個。項目涉及MIS、HIS、GIS、OA、三維應(yīng)用、BI、SOA、應(yīng)用系統(tǒng)集成等諸多方向,其測試類型包括:功能測試、性能測試、接口測試。
說了這么多,大家一定以為我寫跑題了,其實不然。之所以描述自己的成長經(jīng)歷,是想告訴大家我的體會來源于我的經(jīng)歷。
無論是在各種測試論壇上,各個測試QQ群中,還是在招聘時的應(yīng)聘人員。我經(jīng)常會遇到這種問題,相信大多數(shù)同行們也都遇到過。
1、做功能測試有前途么?
2、做黑盒測試有前途么?
3、我現(xiàn)在只能做功能測試,但我今后一定要做自動化測試、性能測試!
4、你們公司上自動化了么?
5、我會QTP、LR。
廣大測試同行在投簡歷時,也一定常見這種職位要求:要求熟練掌握LR、QTP、QC、TD、Bugzilla等工具之一。
咱們先說說后面這種情況。一個公司在選擇測試人員時,竟然將這些測試工具作為選人標(biāo)準(zhǔn)之一。我想問這樣招聘的公司幾個問題:
1、貴公司的產(chǎn)品適合上自動化么?
2、貴公司的管理水平達到上自動化的要求了么?
3、LR能完全支撐貴公司產(chǎn)品的性能測試么?
4、貴公司一年能有多少項目需要做性能測試?
5、缺陷管理工具每個公司用的都不太一樣,其缺陷管理流程是需要結(jié)合公司管理流程的,這種工具即便人家不會或沒用過此類工具,你就不能培訓(xùn)么?很難么?
除非公司是在招聘對口的技術(shù)人才,否則,我只能認(rèn)為這家公司的測試水平真的不咋的。甚至于寫招聘要求的人,壓根就不懂測試。
咱們再來說說關(guān)于同行們對功能測試的誤解。好多人都認(rèn)為功能測試門檻低,沒技術(shù)含量,好像提起來做功能測試就低人一等似得。如果你有這種意識,我只能說:兄弟,多干幾年吧。我承認(rèn)功能測試的入門門檻是低,但我不認(rèn)為功能測試沒技術(shù)含量。我甚至認(rèn)為一個能把功能測試做好的測試人員,才是一個合格的質(zhì)量負(fù)責(zé)人!
大家先別拍我,讓我們來談一下什么是軟件測試。既然大家都是同行,相信大家都認(rèn)同:“通過測試手段,在用戶使用前,發(fā)現(xiàn)缺陷。”以及“軟件中不可能沒有缺陷。”這兩句話。不錯,測試是不能被窮舉的,因此,我們也不可能發(fā)現(xiàn)軟件中所有的缺陷。因此,我們是不是能夠換句話說:“軟件測試是通過一系列的測試手段,證明軟件具備一定的質(zhì)量。”
如果你認(rèn)同這一觀點,那么我們再來談?wù)劰δ軠y試的范圍。
狹義的功能測試:這點點,那點點,看看能不能正確打開頁面、程序會不會崩潰、功能是不是能夠正確實現(xiàn)等等。這也就是大家之所以認(rèn)為功能測試沒技術(shù)含量的根本原因。因為這種測試也得叫它功能測試。
廣義的功能測試:各種業(yè)務(wù)邏輯是否已正確實現(xiàn)?各種業(yè)務(wù)約束是否正確實現(xiàn)?各類特殊的數(shù)據(jù)是否能夠正確處理?軟件的容錯機制如何?數(shù)據(jù)的完整性、唯一性、正確性是否已經(jīng)通過測試?系統(tǒng)及數(shù)據(jù)的安全性是否已通過測試?軟件的易用性是否滿足用戶的需要?等等等等。功能測試所包含的范圍實在是太大。
我沒有貶低其他測試專業(yè)的意思,但有幾點是需要說明的。隨著各行各業(yè)對信息化建設(shè)的需求日益提高,其軟件的規(guī)模和復(fù)雜度正在翻倍的提高。而功能測試的難度也隨軟件的復(fù)雜度逐日提高。而相對來說,白盒測試依舊關(guān)注的是單個函數(shù)的代碼邏輯以及異常的處理;自動化測試僅僅提高的是測試執(zhí)行效率,測試質(zhì)量依然是要靠功能測試用例來保障;性能測試其實關(guān)注的是業(yè)務(wù)發(fā)生的場景和如何生成負(fù)載和收集監(jiān)控指標(biāo),其變化就是需要監(jiān)控的對象更多,影響因素更為復(fù)雜。
面對規(guī)模龐大,業(yè)務(wù)邏輯愈來愈復(fù)雜的系統(tǒng),保障其軟件質(zhì)量,就需要廣大功能測試人員具備更強的邏輯分析、設(shè)計能力;掌握更多的業(yè)務(wù)知識及技術(shù)。同時,由于當(dāng)前國內(nèi)絕大多數(shù)企業(yè)對測試工作的認(rèn)知程度不足,大多數(shù)測試工作都是在時間緊、任務(wù)重的條件下完成的。那么,在有限的條件下,如何能夠提高軟件產(chǎn)品的質(zhì)量,即:如何證明軟件具備了一定的質(zhì)量。將是所有軟件質(zhì)量負(fù)責(zé)人首先考慮的問題。
在這種前提下,我認(rèn)為,一個好的功能測試工程師應(yīng)具備豐富的行業(yè)知識(專家級),極強的邏輯分析能力,精于業(yè)務(wù)架構(gòu)、測試架構(gòu)、數(shù)據(jù)庫、測試用例的設(shè)計。公司的產(chǎn)品質(zhì)量,取決于測試負(fù)責(zé)人的組織能力及團隊成員的技術(shù)能力,因此,功能測試工程師在測試團隊中不可或缺。
無論是白盒測試、自動化測試、性能測試,都是不同的測試手段,但功能測試卻是產(chǎn)品質(zhì)量的根本保障! 請廣大正在從事功能測試的同行們,正視自己的工作,認(rèn)真對待,不要氣餒或輕視自己的工作。將自己手頭上的事做好,人生的每一段經(jīng)歷都將是你的財富!
posted on 2013-10-08 11:14
zouhui 閱讀(232)
評論(0) 編輯 收藏 所屬分類:
2.軟件測試 基礎(chǔ)概念