软件测试——初识篇
文章目錄
- 1、什么是軟件測試
- 2、軟件測試和開發的區別
- 3、軟件測試與調試的區別
- 4、軟件測試崗位
- 5、目前IT公司的部門團隊人員架構
- 6、優秀的測試人員所具備的素質
1、什么是軟件測試
官方表示:軟件測試是根據軟件開發各階段的規格說明和程序的內部結構而精心設計一批測試用例(包括輸入數據與預期輸出結果),并利用這些測試用例運行軟件,以發現軟件錯誤的過程
簡單的理解是:軟件測試就是找BUG,發現缺陷。
現實生活中在很多情況下我們都在默默進行測試:
剛新買來一部手機,我們往往需要查看手機的常見功能是否能正常運行,這是在"測試"
一場考試,做完一遍題目之后, 進行一遍檢查, 這是在 “測試”
買一臺電視,安裝好之后打開試試看能不能正常使用,這也是在 “測試”
軟件測試就是驗證軟件產品特性是否滿足用戶的需求
早期,人們更多的將測試看成是對軟件產品"檢驗",檢查軟件的每個功能是否運行正常。
1983年,Bill Hetzel將軟件測試定義為:軟件測試就是一系列活動,這些活動是為了評估一個程序或者 軟件系統的特性或能力,并確定是否達到了其預期的效果。
從這話我們可以看出以下兩點:
- 測試試圖驗證軟件是"工作的",也就是驗證軟件功能執行的正確性
- 測試的活動是以測試人員"預期的結果"為依據,這里的"預期結果"指的是需求定義。
軟件測試的特點: 軟件測試只是一個樣本試驗,具有不可窮盡性
2、軟件測試和開發的區別
技能要求:
開發要求技能集中,專業度高(深度高)。
例如C++后臺開發工程師,不僅需要會使用,還需要了解各種各樣的底層原理,這樣才能寫出好的代碼
測試要求技能廣泛,專業度低
接口: soupUI postman jmeter
自動化測試: java Python ,unittest ,testNG,robotFramework selenium工具
性能測試工具: loadrunner jmeter
抓包: Charles fiddler (模擬弱網)
APP測試: appium Macaca
難易程度:開發廣度小,專業度高。測試廣度大,專業度低
工作環境:基本類似 薪水 中小企業總體比研發低,自動化等專業測試領域和研發基本無差距。大廠研發測試基本無差 別發展前景 自動化測試、安全測試等領域發展前景和研發基本一致。
繁忙程度: 敏捷模式下差距不大,產品發布前壓力比較大
3、軟件測試與調試的區別
1.目的:
軟件調試:程序員驗證軟件是否實現了他想讓軟件實現的功能
軟件測試:測試人員驗證軟件是否實現了用戶的需求
2.角色:
軟件調試:開發人員
軟件測試:測試人員和開發人員來執行,黑盒測試主要由測試人員完成、單元/集成測試主要是由開發人員執行
3.階段:
軟件調試:開發階段
軟件測試:貫穿了整個軟件開發生命周期,處處有軟件測試
(軟件測試是在開發完成之后進行的,這句話錯誤)
4、軟件測試崗位
軟件測試工程師:工程師的主要工作一般包含需求分析、編寫測試計劃和測試方案、設計測試用例、執行測試用例、跟蹤BUG、編寫測試報告等。
測試開發工程師:根據項目的特點來開發一些自動化測試的腳本,或自動化測試的工具,或者是軟件測 試工作中用到的提高工作效率的小工具什么的,從而能夠更有效地進行測試,提高軟件產品的質量。測試開發工程師工作的目的就是為了更高效,更快捷地讓測試工程師進行測試工作;測試開發崗位一般 要求一定的開發能力,解決問題的能力尤為重要。
性能測試工程師:針對系統進行性能測試,包括使用工具和編寫性能自動化測試腳本。
安全測試工程師:主要分析產品可能會出現的安全問題,做各個方面的滲透測試,提高產品的安全性 其它:系統測試工程師,嵌入式測試工程師,硬件測試工程師。
5、目前IT公司的部門團隊人員架構
一個項目團隊中的測試人員組成
1.手工測試人員
2.自動化測試用例開發人員(自動化)
3.自動化工具開發(測試提效)
2和3統稱為測試開發人員
6、優秀的測試人員所具備的素質
1.綜合能力
- 溝通能力。含著表達能力、傾聽能力和設計能力(形象設計、動作設計、環境設計)。溝通能力看起來是外在的東西,而實際上是個人素質的重要體現,它關系著一個人的知識、能力和品德。
- 學習能力。就是學習的方法與技巧(并非是學到什么東西),有了這樣的方法與技巧,學習到知識后,就形成專業知識;學習到如何執行的方法與技巧,就形成執行能力。
- 開發能力。有良好的思維邏輯和編程能力。
- 文字描述能力。能夠編寫文檔,并且能夠清晰的描述出BUG
2.測試用例的編寫能力
3.自動化測試能力
4.興趣
5.責任感,抗壓力強
6.探索性思維
- 不被條條框框束縛,發散性思維,能夠結合實際想問題
總結
- 上一篇: 长链剖分总结
- 下一篇: 2021高考成绩查询新浪,【转】2021