從事軟件測試許多年,想必不少人都有感到迷茫不知所措的時候,人生的十字路口有不少,該如何抉擇呢?有人成功轉型,QA、項目管理、配置管理。固然還有技術型,性能測試、自動化測試、測試開發,而想要延續走技術型路線,不可避免的就是鑽研開發技術,說的通俗些就是coding的能力。軟件測試所涉及的知識面很廣,因此有些開發不要一味的黑測試詆譭測試的能力,固然不否定,如今大部分黑盒測試仍然侷限在點點點,但技術須要提高,想要晉升爲高級測試或者測試開發,所須要的能力變慢慢有所體現出來,測試所帶來的價值也應聲而來。python
言歸正傳,高級測試/測試開發技能很普遍,所涉及的知識衆多,從業務知識、網絡配置、系統架構、開發語言、測試技術等等。有些技術須要在實際項目中積累,有些技術須要本身去鑽研。算法
下面簡單列舉一些高級測試/測試開發技能:sql
當下比較流行的Java、python(selenium工具語言)、C和Javascript(LoadRunner工具語言)、Perl,數據庫sql,Linux系統shell腳本語言,vbs語言(QTP工具語言),固然若是C基礎很好的話,其餘語言學起來也比較容易上手,關鍵依然在於代碼,勤學勤用。shell
2. 工具類數據庫
自動化工具,C/S的可使用QTP,B/S可使用selenium,SilkTest工具,固然工具只是一種測試方式,根之所源要理解自動化測試的實現以及架構等。網絡
性能測試工具,LoadRunner(HP公司收費軟件),Jmeter(開源測試工具),性能測試須要深刻了解系統的網絡協議以及業務流程,對測試結果的分析也是性能測試相當重要的一個環節,固然最終的目的都歸爲系統調優。架構
手機app測試工具,Monkeyrunner、Robotium、appium,主要基於Android和IOS系統。app
3. 白盒測試分佈式
針對核心模塊,核心算法進行代碼走查和代碼跟蹤,從代碼內部發現問題,會使用它提供的IDE工具進行代碼的跟蹤和調試,這部分技能的積累須要長期的工做實踐,更須要往後溫故知新和勤學多問。工具
4. 系統配置
配置管理,其實並非測試的本職工做,但在實際公司組織架構體系中,每每會把配置管理歸爲測試部門,因此對系統內部架構的瞭解和系統代碼實現的認知能力,尤其重要,這有助於發現系統底層的bug,更便於去分析bug產生的緣由。對於有些科技公司,這些是軟件測試人員的必備能力(查看error log 定位問題)。擴展下,時下比較流行的分佈式架構,大數據時代,分佈式系統最大的特色是可擴展性,它可以適應需求變化而擴展。
5. 測試技術
首先,測試基礎知識,內容不少度娘資源不少。測試的能力也是慢慢累積,從大綱到測試點,再到與開發、產品需求間周旋,經過一步一步的積累,積硅步至千里。