作為軟體測試人,所在公司部門只有功能手動測試,如何進一步提升自己?
大學剛畢業,入職了一家軟體外包公司做軟體測試,做了兩個多月,發現我們部門的測試人員的職責就只是功能測試,分為手動和自動,我做的最簡單的手動。即使是自動,他們跑自動的包也只是用一個叫做MATS.SDE的工具寫的,它門自己生成執行指令。我自己也操作過,挺簡單,跟我們所熟知的編程語言代碼沒關係。跟我同部門的新老員工也就是做的這些,所以我很困惑,在這部門能學到的關於測試的東西太少,像網上的關於測試工程師要求的能力如回歸測試,集成測試,黑盒測試,壓力測試,基本無法涉及鍛煉不到,所以我很困惑。我怕干久了自己沒什麼能力去拿測試的高薪。北漂,坐標北京,現在稅前5500一個月,公司五險一金繳納的標準是工資的一半作為繳納基數,沒有其他任何福利。我現在最迫切需要的是增長能力,自己平時下班了也在自學python,但學的慢,大學專業是自動化。不過我也在學。
我先說下我經歷吧
剛入職的時候也是外包,做了一年半,一家金融公司,測試的東西很多,業務,UI,都有,然後開始學習Java,
學完了並沒有用到,只是用來看公司項目代碼,這樣能對業務邏輯有深入的了解,然後在後來的新的
項目中,用到了,dubbo,這時候也才真的用到了學的Java,開始進行介面測試,當然後來換了一家公司
目前已知在學python,主要寫簡單工具,mock等等
1.先學好開發技術,這裡有2點,一方面是偏向開發工具類型,這個我推薦是python,簡單,另一方面是偏
向業務測試技術方面的,要看得懂開發寫的代碼,當然這兩條路線可以同時走.
2.如果是工具開發方面的那麼在測試過程中,可以想一下那些可以寫一個工具來使用,即使這個工具很
簡單,比如銀行卡號,身份證,姓名生成器這種,做成web頁面,有後台,可以直接使用python+flask實現
3.如果是業務技術方面的,多了解一下開發代碼邏輯,之類的.
我個人推薦走開發工具,這方面學到了就是自己的,換一家公司依然可以用,而且目前主流測
試框架python都是支持的,而且在外包環境下,有些很難接觸到項目代碼,而且就算有一個深入了解,換
一家公司也沒有多大用處,最多了解一個大概流程,不過一般到了測試開發,這兩者是都要會的
幾乎所有剛開始工作的人都會碰到這個問題,如果總結起來就是「理想和現實的差距」。
說的高大上一點就是「認知差異」。
怎麼理解呢?就是基於你當前認知得出的結論並不一定是合理的結論。
如果就事論事,我的建議是:
1. 任何一件事情,如果自己沒有讓它做的更快更好,那就不要說它簡單。
換個說法就是,請證明這項工作真的很簡單,比如改進下工作方法,讓工作效率有很大的提升,比如引入自動化,把人從繁瑣的手工操作中解放出來等。
是的,看到簡單很容易,讓它不簡單卻是有挑戰的。
如果我們連簡單的事情都沒做好,有什麼理由去嫌棄它?
2. 軟體測試的精髓,不只是如何執行用例。
我們可以想辦法去發現更有深度的問題(Bug);
我們可以想辦法寫出有效性更好的用例(Bug 和用例的對照比率,項目早期發現嚴重問題);
我們可以基於項目經驗提出質量改進計劃(同類型問題後續不再發生);
我們可以在項目過程中去了解和學習相關的周邊知識(項目相關的業務知識、項目相關的系統知識)。
如果我們只是盯著怎麼執行用例,那我們無疑會一直都只是一個用例執行者。
3. 退一萬步講,我們就只關注用例執行,那也是有很多事情可以做的。
對,我們要做的事情就是「自動化」。
這裡說的自動化特指用例執行的自動化,覺得手工執行很簡單,那就想辦法讓簡單的事情自動化起來。
別去考慮複雜龐大的系統,就從單個用例入手,不管使用批處理、Shell、Python、C#、Java,想辦法把當前做的事情「自動化」起來,那怕是把之前滑鼠點擊 5 次的操作簡化為 1 次,就是進步,考慮和實現這個問題的過程,就是我們需要關注的地方。
4. 學習最需要的是主動。
不要因為公司沒有什麼,就成為我們不做什麼的借口。
測試的職責是保證產品質量,如果有更好的方法來達成這個效果,你引入回歸測試、集成測試、自動化測試等,都是公司喜聞樂見的,不過前提是你得讓公司看到做這些事情的價值,所以最重要的是,想到什麼就去做,有想法就儘快去落地,從最小顆粒度去驗證自己的想法。
只是想沒有用,只是抱怨沒有用。
把問題怪罪於環境,我們將找不到任何可以讓我們滿意的環境。
沒有條件我們就去創造條件。
5. 記住,工具是手段,不是目的。
不要為了學 Python 而去學 Python,不要為了集成測試、回歸測試這些概念而去做集成和回歸測試,這些都是手段,目的都是為了更好的達到測試效果。
如果能夠按照前面 1、2、3、4 去做,就會發現,我們會需要 Python,我們會需要集成測試、回歸測試,我們會需要更多的「工具」來達成效果,而學習和利用這些工具去達成效果的過程,就是學習和成長的過程,達成效果後的那種成就感,是不可替代的,也正是我們所需要的。
看,這一切都水到渠成。
以上。
第一次寫這麼長的回答,贊同的請動動小手點個贊^_^
我認真的想一想,在現狀如何提升自己,應該是題主能夠接受現狀的意思吧。
功能測試也有技術含量的,首先測試理論要紮實,把理論的都實際應用到工作中,一定有有意識的訓練自己,再努力提升業務水平領域知識,這樣就會更好效的在功能測試中發現bug,做到比周圍的更加出色,不斷發現比我們優秀的人的特點,跟他們學習,直到自己無處可學了。技術的提升,編碼能力是基本的,掌握一門高級語言很重要,去訓練自己的獨立項目完成能力,寫一個提升工作效率的工具把它做到極致,自然就知道自動化的重要性了,再學習自動化,既然公司都是手工測試,你自然就有引入嘗試的機會。溝通能力,協調能力訓練,小公司的qa最能鍛煉這些終身受用的技能了,什麼事情都要自己搞,把心態放正,能吃苦,樂於助人。當然這些只是基於我對你文字解讀,提到行之有效的點,要做其實還是很多,最近在整理的資料,給你參考。圖片未顯示多看看書吧,可以關注一些測試人員聚集的論壇,比如...啥的,也可以關注我:).
關鍵你得要有目標,想學什麼,想往哪個方向發展,對應的知識去學,切忌什麼都學,這就跟56種語言寫hello world一樣,沒意義題主你比較迷惘,自己不知道自己該做什麼,只知道自己差距很遠,你需要靜心-----口服液
我畢業也是入職外包,但是我並不覺得外包沒有鍛煉的空間,一切取決於你自己,功能測試也不是你想的那麼簡單,語言、工具、業務知識是做測試的基礎。是你不懂得如何反思、如何成長。你還需要鍛煉自己的思維、溝通、現在自動化、性能給人的感覺就是工資高,但是你不要以為功能測試沒做好,光學自動化和性能就足夠了。功能測試是基礎,你的業務廣度、深度要依靠功能測試積累。你的自動化和性能才能做的好。測試行業業務才是主導,離開業務的支撐,你的自動化和性能都無從下手。
最後我說下我自己工作5年的經歷,第一年學習整理業務成為組內業務第一;第二年帶測試項目;第三年當測試組長帶4個持續改進項目,指導新項目測試工作;第四年當公司外包駐場負責人團隊60+,還兼職其他外部項目的管理支持,通過PMP認證;第五年,跳槽到現在的公司做測試部門經理,兼職項目經理、產品經理。未來目標CIO、自己創業
看完你還覺得外包沒前途嗎?
學習,自己的事 。
就算公司沒有相關的,也可以自學。
就算公司有自動化、寫腳本的需求,你不去用心學,只是接觸皮毛,也沒啥用 。
工作之餘,多學點東西,保持好奇心 。
至於其他的,大家都回複比較完善 。
首先學開發語言,這個必須學,框架會不會熟不熟沒關係,至少基本語法能夠順手拈來,因為不管自動化測試還是其他什麼,都需要基本的編程能力和編程思維,這是最基礎的。
再次,在編程語言有一定基礎之後看相關的自動化測試方面的東西,做到有基本的了解。
再然後就嘗試去找自動化測試工作,跳槽。一定要奔著目標去,因為不管你怎麼看,怎麼自己去實踐,都沒有真正工作中用到學得快,只有在運用中的學習才更快。還有個原因就是你自己學很多東西是學不到的,比如公司的框架,架構,你自學是基本上搞不定的。
最後,走上這條路了再考慮再後面的吧,先進來這條路才會有後續的發展
這類問題是做軟體測試剛開始經常會問的。
我個人認為,軟體測試人員,尤其是剛入行的,初級的,問這個問題的本質是,如何才能加工資。就像開發人員那樣的工資。
如果問題轉化為,軟體測試人員,只會功能測試,如何才能加工資呢?
那我感覺答案就比較簡單,提升自己的技能,包括軟體測試的基礎理論,開發語言的學習,常用自動化框架的學習,另外就是一些類似linux常用命令,前後端的一些實現原理,移動端的一些開發基礎,服務端的基本架構,資料庫的相關基本知識等等。
就像是大學生畢業,為了面試而千辛萬苦準備的一份文憑,你想要加工資,那社會上就要去找相對應的崗位,功能測試的工資肯定是有瓶頸的,那就得去找自動化測試,性能測試,測試開發,測試經理,測試總監等高端的崗位。所謂薪隨崗動,崗位高級了,薪水也就高級了。
這樣看來,其實在互聯網這個圈子裡,無非靠的就是實力,不論是產品經理,研發人員,還是測試人員,三者觸類旁通者,是最理想的。
我們回到題主的這個問題,單純看如何提升一個功能測試人員的技能,我認為功能測試,手動測試,是目前最實際,最快速解決絕大部分公司,測試需求的一種手段以及崗位。所謂的自動化,不論是UI自動化,介面自動化,都是為了為功能測試提供更多的自由空間而存在的。
實際在項目中,不論是瀑布流,還是敏捷流,能為項目組提供穩定發布保障的測試,能夠為開發提供大量Bug輸出的測試,非功能測試,手動測試莫屬。
功能測試的核心在於測試用例的設計,測試用例設計的合理,能夠為測試執行階段提供極大的幫助。好的測試用例設計,離不開設計者對公司產品業務的理解和熟悉程度。
總的來說,對於初入行1至2年的測試人員來說,我的建議是,選擇好起始公司,紮實的在工作時間理解好現有產品的業務邏輯,好好的,全面的去設計測試用例,為每個版本的項目發布提供足夠的Bug輸出,以做到項目質量的保障。其次,利用工作時間上和開發的交流,業餘時間上對測試理論,開發技能等的不斷深入淺出的自學,熟練地打好用例設計的基礎,以及開發語言和當前流行的自動化測試,性能測試的主流技術。
這樣的話,即使你的起點公司項目難度或者薪水很低,當你積累了足夠的工作時間,工作經驗和工作技能之後,後續的職業生涯中,只會越來越往上走。
坐開發旁邊去、你就知道該作甚了
你這個基本是大學生入測試這一行所面對的現象,主要原因一個是能力跟經驗自己企業自身業務狀況,但能感覺到學不到什麼?說明你有向心力,但也說明你的依賴性,企業給了你工資為啥還要教,這是很多人的這個誤區。我建議靜下心來,想下你哪些沒做到,可以多逛逛論壇,找人交流~總結自己,然後把工作做的更好,確實有情緒,也靜不下心,該換就換,但要考慮風險~
網上的關於測試工程師要求的能力如回歸測試,集成測試,黑盒測試,壓力測試,基本無法涉及鍛煉不到, 先把這些概念理解清楚了,然後先把手頭給你分配的工作做好了之後,再去思考你們公司的測試為什麼需要這麼做,每一個步驟的測試要點在哪裡
推薦閱讀: