軟件測試作為一個行業繁榮發展,也只是近四五年的事情,相關培訓也是雨后春筍,自2011年入行,看過太多人轉行,看過一些人帶着未知想入行,真真是圍城里的人想出去,圍城外的人想進來。如果去網絡上搜索相關信息,大都說,測試是個門檻低的行業,我曾經認同這個說法,現在對這個說法帶保留意見,不過,每次別人問我在做什么的時候,我的回答一成不變:玩兒手機的。
這么說一點兒都沒有逗你的意思,2011年的時候,諾基亞雖已遲暮,但還頑強的支撐着很多團隊的運轉,我從那個時候開始手機系統的測試,后來到android app的測試,然后就一直是app的測試,這兩種測試,都是每天對着手機各種玩,目的就是把目標玩兒死。所以針對我理解的軟件測試,作為QA,我簡單的閑聊下。我先來講兩個例子。
第一個,有個朋友的朋友本來的行業與IT毫不沾邊,非常唾棄那些動不動就拽英語的人,覺得別人中漢交雜的說話是故意拽,當然,他自己的英文貌似很差。因為自己的行業經常加班,工資貌似在7-8K的樣子,覺得暗無天日,就辭了職,去報了個軟件測試培訓班,說是包就業的,朋友知道我是做測試的,過來咨詢我的意見,但他的目的,主要是打聽我的工資水平,而不是軟件測試工程師的工作內容與必備技能,我非常真誠的聽了下這個朋友的朋友的具體情況,然后得出了個結論,他目前職業發展到了迷茫期和瓶頸期,而且聽說做IT的工資都很高,因為聽說,就像海市蜃樓在你眼前,迷茫的現有工作如魔鬼一樣在后面推你,稀里糊塗的你就往前走了。但是,第一,每個職業都有自己的瓶頸。第二,對於將要入行的職業一無所知就撲進來,我覺得不是勇氣。第三,我來說下行業里普遍的一些現象/概念。
一, 我們確實經常會中英文交雜的說話,我們會經常說,“這個bug很難repro,repro rate為30%”,“可以跟我說下這個bug的root cause嘛?”“明天之前我准備好test case”,我們沒在炫耀什么,只是很多詞語確實只有那個英文單詞能確切的表達這個意思。我說的這種情況是中國團隊合作的情況。如果你處於外國團隊合作的情況,那么對你的聽說能力就會有更高的要求,不過他們都很nice,跟中國的工作人員溝通,在不了解你英文水平的情況下都會特意放慢語速。所以你看,“nice”這個詞我真的不知道該用哪個詞來代替,你想說“很好”?但其實味道挺不一樣的。
二, 如果你的聽說很差,也一定要有一定的讀寫能力,因為可能你寫報告要用英文,即使不寫報告,提交bug也要用英文,即使不用英文提交bug,一些文檔你還是要看的吧?比如http://developer.android.com/index.html你說你可以看翻譯的?我也不知道該怎么回答,我身邊的大牛都是能直接看原文書籍和文檔的,在我看來,QA尤其需要這項技能,因為測試技術在中國發展的很緩慢,中國頂尖的測試人才也許很多,但出來的書籍,參考文檔,先進的還是國外的多些。閱讀原文的能力,是很重要的一點。
三, 眾人眼中IT人才普遍工資高,這一點我還真不知道。僅就行業內來說,你的工資水平是跟你的個人能力嚴格掛鈎的。不掛鈎的情況分幾種,第一,企業急招,但是實在招不到人,所以**招人,據說這種都是創業型小公司為了趕項目,會給應聘者超出能力范圍的薪資,但項目結束后呢?(這只是我的了解,並沒有實例)第二,企業急召,並且你的能力與職業有相對較高的匹配度。第三,HR和面試你的人要么是土豪,要么是傻X。所以,在了解市場行情,個人能力的前提下你再跟別人談錢。
四, 軟件測試也叫QA,我是玩兒手機的,但不是所有QA都是玩手機的。還有一種叫SDET也是QA的一種。QA又因為工作內容不同而有不同的工種,PC端和客戶端,他倆分別有同工種的仔仔。黑盒,白盒,自動化,性能等等。這些概念性的知識是你入行前就需要大致了解和准備的。每個工種都可以說是不同的行業,代表着你以后的職業路徑,所以,入行需謹慎。
五, QA也是有職業發展瓶頸的,就像女漢子也需要談戀愛一樣正常。而遇到瓶頸后是逃避還是尋找答案,跟行業沒關系,跟人有關系。
六, 外包這個詞你要知道,典型的幾個IT外包公司,文思海輝,博彥,軟通動力。這個詞當時我怎么都理解不了,后來在外包公司待了兩年,才切身體會到。(哎,笨人沒的醫)通俗點說,A(雇主)公司把一部分活給B(外包公司)公司,你簽約B公司,但干的是A公司項目的活。外包又分兩種,一種是外派到A公司去,另一種是公司內部有個團隊,在B公司里面做這個活兒。外包的話有些人很排斥,在我看來倒是各有利弊。如果你想進入這個行業,但是不能直接和一些大牛公司牽手,那借助外包就會是一個很好的平台。而對於新人來說,平台很重要。這塊要展開來說的話也可以但開個題了,暫且點到為止。
七, 溝通。對於開發,很多人的固有印象是每天埋頭寫代碼,對於測試呢?其實無論開發,測試,都不是每天埋頭寫代碼的。我們每天話30%~70%的精力去溝通,溝通需求,溝通repro step,溝通測試結果,修復方法……
第二個例子,遇到的新人,聰明,高EQ,高IQ,就是因為什么都高,自己沒辦法低下來。然后自然而然的衍生出很多問題。而我的另一個朋友,同樣高EQ,高IQ,還是個大美女,但態度放的很低,再加上元認知能力強悍,毅力強悍,能力自然跟的上。同樣雙高的人,但她們的距離太遠了,這個距離是態度。我可以接受你不聰明,可以接受你效率低,我甚至可以接受你偶爾的懶散,但我的底線是你對工作的態度,我的最低期望是可以把最簡單的工作放心的交給你。我想,態度這個問題不只是IT這個行業,應該是通用的。你可以不喜歡,但你得認真。就像有人跟你表白,你可以拒絕或接受,拒絕請利落,接受請認真。
這個引子貌似有點兒長而啰嗦,我想說的是什么呢?入行。
如果你打算進入這個行業,那有些概念是你需要清楚的。
- 軟件測試的概念
- 軟件測試的分類
- 軟件測試的工作流程
- 軟件測試的測試方法分類
- bug的定義
- bug的生命周期
- 測試策略的概念
- 軟件測試常用的工具有哪些
- 哪些技術是必備的?哪些是輔助的?
還有一些軟技能是你需要具備的:
- 溝通能力
- 自我驅動力
- 學習能力
- 快速的適應能力
- 責任心
- 態度
可能遠遠不止這些,但你連這些都不知道,那你選擇入行一定是過於魯莽了。知道不一定是讓你熟練掌握,你知道有這個概念就行了,等你實際工作了,遇到你就會對它有更深遠的理解。這是我最近才總結出來的,溫故知新,工作5年后重新去看那些基本概念,一些新的理解會冒出來。
那接下來說下轉行。從事軟件測試后轉行的有很多,有轉成產品經理的,項目經理,UI設計,交互設計,開發,還有跟IT毫不相關的職業。有工作10多年后轉的,有工作1,2年后轉的,有遇到瓶頸轉的,有因為職業路徑規划轉的。而我遇到最多的,是QA轉產品經理,以及QA轉開發測試。如果是行業內的轉,你要知道,不同的行業,不止需要的是該行業的專業技能,還有思維方式。就像開發的思維方式是創造,測試的思維方式則是破壞。在我看來,這個是比技能更重要的轉變。寫到這突然覺得針對轉行這個話題,我沒啥能說的。
第一次寫跟工作相關的文檔,還有稍許不適,如果你讀的雲里霧里,就當坐了一圈過山車。( via echohappy521)
軟件測試新人需要及時掌握哪些技能?
問題描述:作為一個剛進入軟件測試行業的新人,哪些技能是最需要及時掌握的?
精彩答案:
會員 平凡子 :
測試新人,哪些技能是及時掌握的?
1、討論之個議題之前,我們先明確測試新人為什么需要掌握一些技能。
2、作為測試新人,如果開始就是達人什么都會什么都懂,也就沒什么技能需要掌握了。
3、之所以需要掌握相關技能是因為:
A、測試新人對業務,應用程序,特殊工具,日常流程不熟悉,千頭萬緒不知道從哪里開始?
B、有些測試項目需要背景知識,有些需要分析技能、有些需要編程技能、有些需要自動化測試能力、有些需要數據庫知識、有些專業業務技能。自己可能以前未接觸過!
C、團隊和公司文化的不熟悉,周圍都是陌生人、自己是否會被很快接受、勾通是否暢通、同事是否友好、領導是否關心。
D、團隊分工問題,你處於哪個組,你的職責是什么,你會跟誰合作?相應的就需要學習與自己職責有關的技術,知識。
4、所以,關於測試新人及時掌握什么技能,和以上幾個方面都有很大的聯系,現總結如下:
A、作為測試新人,肯定是好多東西都不懂,不懂就要學和問,學和問就要產生溝通,所以必要的溝通能力是首要掌握的。
B、由於各行各行業測試對象各自都有其特殊性,掌握業務技術基礎,知道測試對象的工作原理及應用。
如果然測試對象有什么作用,是怎么工作的都不清楚,那就談不上測試,所以業務能力不得不掌握。
C、業務知識、技術、能力達到標准后,那就需要對業務對象進行測試,那怎么測?為什么這樣測?
測試有哪些方法,怎么測更全面、更迅速。這樣測試技術,測試流程,測試理論就不能不掌握。
C、測試技術、測試方法的應用又離不開相關工具的輔助,那么測試工具的應用能力也要提上日程,至於掌握什么測試工具,那就根據崗位職責、業務特征來決定了。
D、隨着測試技術、測試方法、測試工具的應用,以及測試層次的加深,這個時候就不再是針對因研發馬虎,未自檢的、簡易的BUG進行測試,而是從底層設計開發方面找出設計、研發的漏洞,找出研發本身能力未能發現和解決的漏洞。那么要看懂研發的程序, 開發模型的編程方面的技能又需要掌握。
E、關於掌握數據庫的技能:
· 如果測試對象是和數據庫緊密聯系的,那肯定需要掌握;
· 如果測試對象需要大量的測試數據;
那么測試數據的生成,自動化工具的數據連接,也需要掌握必要的數據庫能力;
初級測試工程師如何得到快速提升和認可?
問題描述:初級測試工程師或新進入一家公司從事測試工作的人員,如何快速得到提升和認可?
精彩答案:
會員 yolander :
題目寫的非常清楚,角色定位為初級測試工程師,那就來看看對於測試新手入行,我們都看重他(她)的哪些方面吧
首先,從個人素質來看,我喜歡的測試新人要具備:
1、快速的學習能力
——這也是我最看重的一點,作為測試人員也好,開發人員也好,同為技術崗位,如果缺乏學習能力,那么他將來的發展肯定是十分有限的,而對測試崗位來說,快速的學習更顯得尤為重要,因為作為入門級的開發新手,或許只需要看懂設計文檔,能夠使用開發工具進行編碼就可以了,但是測試人員則不同,除了編碼(更多的是體現在測試腳本的開發上),更需要深入掌握系統知識,業務能力上要比研發人員高一大塊,這樣在將來的工作中,提出的問題也更有說服力,更能夠被開發人員所接受
2、細致認真的工作態度
——很多人都將測試人員比喻為“挑毛病的”,這可能是一句戲言,但也體現了作為測試人員的一種定位,我們從事了這樣的行業,隨時都在給開發人員編寫的程序找bug,那么我們自己的工作是否也能夠被人找出bug來呢?如果缺乏細致認真的工作態度,提交個問題報告也會錯別字百出,甚至漏洞一堆,那么怎么能夠讓人相信我們的工作是有效的呢?要做好測試工作,那么首先要在工作中豎立自己的威信,但這種威信,並不是靠你的上級授權的,更多是通過自己的日常工作積累,給大家留下的深刻印象,共同認定為你是這個行業中的權威才行
3、充沛的精力
——我很喜歡與有着充沛精力的測試人員一起工作,測試是一門需要足夠耐心的行業,雖然自動測試技術的興起,已經能夠減少我們工作中一些簡單繁瑣的重復性勞動,但實踐經驗來看,測試並不能完全杜絕這種單調的手動測試工作,仍然需要大量手動測試的執行,所以就需要我們測試工程師具備自我激勵的能力,能夠在這樣的乏味工作中找到自己的興奮點,並且能用自己的充沛的熱情去感染別人
4、高度的責任心
——測試是個良心活,投入時間、執行次數等度量項,都無法真正與測試出的問題數成正比,如果缺乏高度的責任心,在測試工作中“偷懶”(請原諒我用了這個詞),確實是一個極大的資源浪費,可能在短時間內很難被發現,但是逐漸成熟起來的測試過程、度量與統計學、以及標准化的管理辦法,都會逐漸淘汰掉這樣的測試人員,所以請各位希望在測試崗位上有所發展的新人們,一定要在入行伊始,就建立起自己的責任心吧,將責任變為習慣,一定會讓你的步伐走的越來越穩健
5、良好的溝通能力
——測試工作有時是需要跟多個環節打交道的,有時是開發人員,有時是項目經理,還有時,甚至是直接面對客戶,所以,作為測試人員的能力要求中,溝通能力也很重要,而且,事實證明,有着很好的溝通能力的測試工程師,他報告的問題在開發人員中的接受度也是相對較高的
以上,是我對一個測試新手的考量指標,如果是作為測試工程師、高級測試工程師等等,可能要求的方面也會有所不同,但就作為新人來講,是否適合測試工作的崗位,我會更看重上面幾條標准
會員 莫道桑榆晚 :
一:端正心態
測試人員是孤獨的,寂寞的。作為測試人員,我們也許干的工作比開發還要繁鎖,更加枯燥更加乏味,重復的測試使我們麻木,工作強度和壓力給我們測試人員背負着三座大山,而我們的收入卻無法與開發拼比?為什么?這就是心態。做任何一行工作,都會遇到不公平。但為什么要去跟別人比呢,只要自己有提高,就是好的。作為測試初級工程師,我們無法與資深的專家比,無法與開發比,但是我們必須得端正心態。
二:正確定位
現實中很多測試人員是由於不能從事其它工作才從事測試的,因而工作中也是不斷地抱怨待遇、團隊環境等不能滿足自己的要求。在此建議測試工程師,如果選擇了這個行業,就應該認真地對待工作,抱怨永遠解決不了問題。作為軟件測試工程師只有認真分析自己的行業,才可以有更好的職業化發展,否則還不如換其他的工作。既然選擇了目前地位有些低的測試工作,就應該踏實的做好,不要剛進這家公司,發現那家更好馬上就跳。
如何能得到一些國內或國外大公司的測試職位?
問題描述:如何能得到一些國內或國外大公司的測試職位?
精彩答案:
會員 戒情人 :
我來簡單談談自己的認識吧:
1. 業務。如果你在一個行業做了多年,對這個行業的業務非常熟悉了,這絕對是一個大優勢。公司無論國內國外,無論大公司小公司,在招聘時都會注明有相關行業經驗優先。行業經驗不是一朝一夕就能得到的,是一個長時間的積累過程。你有相關的行業經驗,工作就很容易上手,而且做出成績。有些公司招人時,對有相關的行業經驗這一條是必須條件。比如復雜業務的電信行業(當然不是每個公司都是)。
2. 學歷。出身很重要的。雖然很多公司都表明更看中能力,但其實他們還是很看重你的學歷的。重點大學或者研究生、博士,更容易獲得好公司的青睞。
3. 技術。大公司做測試,不單單要求能做黑盒測試,如果你擅長自動化,擅長編碼,就自然而然的增加了自己的優勢。
4. 英語。好的公司都是很看重英語能力的,因為很多幫助文檔,技術文檔都是英文的。你英文不好,公司不會相信你有很好的能力和潛力。
會員 yolander :
我覺得六樓總結的四條已經基本概括了用人單位的要求,比如:
1.學歷——這可能是一些大公司的敲門磚了,因為無論去哪家公司面試,首先需要接觸的都是HR部門,而對於HR來說,好的學歷幾乎等同於你的個人素質,他們都是非專業人員,無法在短時間內判斷你的能力高低,所以學歷就變成了唯一的衡量標准。
2.業務能力(行業知識)——這個要看你從事的是哪些行業軟件的測試,如果是通用軟件的,那么業務就顯得不是特別的關鍵了,但如果是專業軟件,尤其是業務流程復雜的,專業性越強,對業務能力的要求也就越高,如果能夠在相關行業有一定的積累,那么被聘用的可能性也會較大,這個通常會通過你的工作經歷和從業時間來判斷,有時用人部門也會通過面談等方式進行側面了解,而且很多時候它可以作為學歷欠缺方面的彌補,前提時,你要先給自己爭取到面試的機會。
3.技術能力(測試專業)——主要是指測試相關的專業技能,比如測試設計、測試開發,這個是可以通過一些問卷,或者面試來進行考核的,同時如果具備了測試策划、測試管理、質量管理、項目管理、配置管理等相關經驗那就更好了,從我羅列出來的內容也可以看出,倒不一定是有開發經驗,才能做好測試,不過如果在考核過程中適當的表現出自己的細致認真的一面,也還是有所進益的。
4.語言能力——這個也跟從事的行業相關,如果是歐美日韓等合資公司,或者做對外業務較多的國內公司,是會對語言能力有一定的要求的,但如果是只做國內業務的公司,據我所知,國內也有不少IT公司是做國內行業解決方案的,這些公司就不會對語言能力做太多的要求。
以上要求如果全都具備了,那么剩下的可能就是等待機遇了吧。(原帖地址:http://bbs.51testing.com/thread-173771-1-2.html)