首先,加不加班?看你跟哪個崗位相比較了。
腦力肯定沒有開發累,體力肯定沒有進廠累,但是跟收房租的躺贏包租婆比,肯定要累一點的。
軟件測試,是穩定可靠的腦力勞動型工種,如果你的自動化能力再強一點,可能吃着火鍋唱着歌就干了別人兩倍點點點的活,輕松值直線up~
自動化大大提升工作效率
長期以來,軟件測試給人的一種印象是一門”手藝活”,就是跑跑開發者寫出來的程序,點點鼠標之類,然后大喊一聲,“哇,你這里有超出字符限制”。實際上真正的測試並不是這樣的。在真正的測試中,手動操作的測試被稱為Manual Testing,在整個測試流程中只占一小部分。
想想現在的商用程序都是那么龐大的,動輒幾百萬行幾千萬行代碼,這么多的功能依靠於人手工的測試是不現實的而且是對人力資源的極大浪費。因為這些簡單的事情本來可以由程序來做,而且自動做。而且有的事情靠人工也是干不了的,比如測一下某個程序打開關掉1000次會不會有內存泄漏。讓人干,非瘋了不可。因此開發和使用自動化測試軟件是測試工作中很大的一部分。讓程序自動可以做的事情交給程序去做,這樣才能提高測試的效率和產出。
在一個項目剛開始的時候,負責測試的人也知道自動化測試很重要,但是需要確定那些東西是需要自動化測試的那些東西是不需要自動化測試的。需要確定哪些自動化測試的軟件是現成的那些自動化測試工具是需要自己開發的。因此在開始執行測試之前,在測試計划中就要對測試用例進行一個評估,將測試用例分成自動化和手工測試兩類。然后根據測試的內容選擇對應的測試工具,或者自己開發。在評估的過程當中一般依據這樣的規則:
可以自動化測試的:
1. 具有良好定義的測試策略和測試計划(知道要測試什么,知道什么時候測試)
2. 對於自動化測試你擁有一個能夠被識別的測試框架和候選者
3. 能夠確保多個測試運行的構建策略
4. 多平台環境需要被測試
5. 每個版本都要測的
6. 擁有運行測試的硬件
7. 擁有關注在自動化過程上的資源等
若能從事自動化測試薪資則能更高,平均薪資能達到18K左右,未來自動化測試會是作為測試人員主流方向,對於技術的追求程度及全面性會越來越高。所以具備自動化測試的技能顯得尤為重要。

自動化測試人員應具備的能力
在早期,大多企業對測試人員的能力要求較低,導致人們的測試行業的認知都是:門檻低,水平低,能輕松勝任。而自動化測試,作為進階,在測試基礎欠缺的情況下,即使寫出測試腳本也不能從根本解決問題。自動化測試人員應具備的能力可分為如下幾個方面,這幾方面在各個職業生涯發展階段的要求也不盡相同,下面會詳細介紹各個階段的要求。
1)基礎能力。基礎能力是測試能力和代碼能力的基礎,是對自動化測試人員的基礎要求,包括細心,耐心,責任心,學習能力,分析問題和解決問題的能力,溝通能力,團隊協作的能力以及總結問題的能力。外企或者國外的項目同時也會有外語能力的要求。
2)測試能力。測試能力是做自動化測試的基礎,能夠很好的幫助自動化促使人員決定什么時候引入自動化,有效的設計自動化測試用例,很好的發現bug,很好的理解自動化測試的目的與價值。測試能力主要包括業務分析能力,bug的洞察能力以及基本的軟件測試知識(bug的生命周期,測試理論及方法等)
3)代碼能力。良好的代碼能力是自動化測試人員寫出高質量的自動化測試腳本的前提,開發自動化測試腳本的過程中,需要考慮代碼的穩定性,健壯性和可擴展性,同時結合數據結構和算法來減少后期的維護成本。代碼能力主要包括自動化腳本的設計能力,框架開發能力,框架設計能力。
自動化測試的學習步驟
1. 做好手工測試(了解各種測試的知識)-> 2. 學習編程語言-> 3. 學習Web基礎-> 4. 學習自動化測試工具 ->5. 學習自動化測試框架 -> 6. 實現自動化測試用例 -> 7. 開發自動化測試工具 ->8. 開發自動化測試框架
按照這個步驟來說,基本上到第7步,難度就比較大了,這個時候也可以稱呼自己為“測試開發”。
自動化測試需要掌握哪些技能
當初自己做的時候一直是基於Python去做的自動化,同時Python自動化也比java自動化更為容易上手一些,在這里我就按照Python自動化的思路去說一下如何學習自動化,老規矩,思維導圖放在文末。
第一階段:前置基礎知識
這個階段需要有基礎知識儲備,這樣才能打牢基礎,有利於下一階段的提升。這個階段主要是掌握計算機基礎、測試理論、HTML基礎、JS基礎、CSS基礎。

第二階段:Linux和數據庫

第三階段:測試基礎
這個階段正式進入軟件測試,從軟件測試理論、測試方法和分類、黑白盒的測試用例設計、以及掌握一些bug管理工具。

第四階段:語言
目前世界排名靠前的語言Java\Python。都是企業的需求語言,而隨着python語言的全名普及化,應用在人工智能、大數據等熱門領域,更是讓python受到公司青睞。

第五階段:web自動化測試
這個階段的學習,大家應該更多的從以下兩點去掌握。1.如何從手工測試轉為自動化測試工程師;2.如何通過自動化測試技術為企業的測試工作提高效率,降低成本,增強測試的充分性和完整性。

第六階段:APP自動化測試
手機端APP自動化測試,在業務基本穩定時,也是勢在必行的一件事情。手機端自動化測試的技術還在不斷的發展過程中。這個階段的學習,是分基礎、中級、高級的三個階段的進行深入淺出的學習。

第七階段:接口測試
這個階段提供了各種不同協議,不同類型的接口項目,大家只有利用學習內容進行接口測試的實戰。不光只是完成接口測試,而是要掌握全套的接口測試工作流程:1.接口需求測試分析;2.設計接口測試用例;3.使用工具開展接口測試;4.針對復雜接口編寫代碼進行接口測試;5.接口測試框架設計及實現;6.完成接口測試的持續集成。

第八階段:性能測試
這個階段的學習,從性能需求分析開始,到腳本設計實現,業務性能場景設計,性能故障定位以及性能優化都有實際的案例和項目進行實際操練。

【下面是一些配套的學習·攻略,希望能幫到大家】

其實加不加班主要取決以下幾個因素:
- 公司的類型:一般自研比外包加班少!
- 公司目前發展階段:一般發達公司比正在快速發展中的公司加班少!
- 項目迭代周期:一般項目迭代周期慢的比項目迭代周期快的公司加班少!
所以軟件測試工程師加不加班,完全取決於你所在的公司的企業文化!而沒有一個很武斷的結果!
軟件測試工程師一定是一份付出多少就有多少回報的職業。而且互聯網行業下細分出了很多來行業,並不是每個都需要大量加班。
不進這一行,所有的言論都是虛的,只有自己親身體會才是最真實的……