軟件測試新手入門該學什么?最全整理,照著學就對了! | 當前位置: 首頁> 學習中心> 小白入門> 詳情 |
隨著軟件開發行業的日益成熟,IT崗位的需求也越來越大,同時薪資也逐年增長中,對于想要進入IT行業卻缺少基礎想要轉行的小伙伴們,入門軟件測試是最佳的途徑之一。
但很多想要轉行的小伙伴對該行業都是一片空白,想要學習了解卻不知從何開始,本期,給大家總結一下如今測試行業都有哪些必會的方法和技術知識點,主要針對新手,小伙伴們也可以根據文章的內容查漏補缺。
一、設計方法分類
黑盒測試
黑盒測試是進行軟件配置項測試、系統測試、驗收測試的主要技術手段。
我們可以這樣理解,黑盒測試把產品軟件看作是一個黑盒子,只需要關注入口和出口,即我們測試過程中,不需要去理解軟件的具體構成和原理,只是往里面輸入了什么,又出來了什么結果就可以了,和用戶的視覺是一樣的。
黑盒測試注重于測試軟件的功能性需求,主要有三種測試技術,分別是等價類劃分、邊界值分析和決策表。但很多時候,僅僅進行黑盒測試容易產生一定的風險性,因此黑盒測試大多數用于輔助白盒測試發現其他類型的錯誤。
白盒測試
白盒測試是一種以理解軟件內部結構和程序運行方式為基礎的軟件測試技術。通常需要跟蹤一個輸入在程序中經過了哪些函數的處理,這些處理方式是否正確。
白盒指的是盒子是可視的,你清楚盒子內部的東西以及里面是如何運作的。測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。
白盒測試常用的測試方法有兩大類,靜態測試方法和動態測試方法。白盒測試法的覆蓋標準有邏輯覆蓋、循環覆蓋和基本路徑測試,同時包含六種覆蓋標準:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋,發現錯誤的能力呈由弱至強的變化。
灰盒測試
灰盒測試是介于黑盒和白盒之間的一種綜合測試方法,它綜合了黑盒與白盒方法的優勢,并有效地避開了兩者各自的缺陷。
灰盒方法通過涵蓋被測軟件的所有層面,以增加技術的覆蓋范圍。如果說黑盒測試人員需要確保界面和功能方面的正常;白盒測試人員通過深入研究軟件的內部結構,以修復源代碼級別的錯誤,那么灰盒測試則是以非干擾的方式(non-intrusive)同時處理兩方面的測試。
灰盒測試非常適合于集成測試,包括:缺乏源代碼和二進制文件的Web應用,以及某些業務領域的需求規范性測試。
對這三種設計方法,不同的方法有著不同的適用場景和想實現目標,應當合理使用來確保軟件滿足各項最終的要求。
二、手動測試和自動化測試分類
手動測試
手動測試是手動測試軟件以查找缺陷的過程。測試人員應該具有最終用戶的觀點,并確保所有功能都按需求文檔中所述運行,期間無需使用任何的自動化工具,其中手動測試的類型包括:黑盒測試、白盒測試、單元測試、系統測試、整合測試、驗收測試。
自動化測試
自動化測試是使用自動化工具來發現缺陷的軟件測試過程。在此過程中,自動化工具會自動執行測試腳本并生成結果。目前比較流行的自動化工具有:HP QTP(專業快速測試)/ UFT(統一功能測試)、Selenium 、LoadRunner、IBM Rational Functional Tester、WinRunner。 我們通常在以下領域會進行自動化測試:回歸測試、負載測試、性能測試。 有很多人認為手動測試是很簡單的一件事,而自動化測試則很難,其實這兩者方式都需要集合使用的,互相都不可代替,自動化測試是對手動測試的一種補充,主要應用在回歸測試,自動化測試的優勢是可以借助計算機的力量,重復的進行測試,可以用于大批量的比較,但對于數據的正確性、業務邏輯等的滿意程度,還是需要手動測試來做的。 所有一個優秀的軟件測試工程師,需要能夠掌握兩種測試方式,有機結合,才能使工作效率更高。
三、按測試目的分類
1、功能測試
功能測試就是對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢查產品是否達到用戶要求的功能。功能測試經常會也被稱為黑盒測試,只需要考慮測試各個功能是否能夠實現。 通常,我們把功能測試分成如下幾個步驟: 1. 制定測試計劃;2. 設計測試用例:包含測試什么東西,在什么場景什么環境下測試;3. 執行測試及產生測試報告; 功能測試是比較測試人員比較基礎的技能點,之后需要往自動化測試、安全測試等方向耕深。
2、非功能性測試
1)性能測試
性能測試是通過自動化的測試工具模擬多種正常,峰值以及異常負載條件來對系統的各項性能指標進行測試。需要測試人員會對性能測試相關的概念有所了解,明白什么是性能測試,以及測試的目的是什么。 同時需要會使用測試工具,如學習使用工具JMeter或者LoadRunner,進行性能測試,性能測試最難的其實是調優,這個就需要對代碼以及數據庫有更深的認知之后才可以完成。
2)安全性測試
全性測試是檢查系統對非法侵入的防范能力。主要包括用戶認證、系統網絡安全和數據庫安全方面的測試。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。
3)壓力測試
一般來說,壓力測試的目的是要通過模擬比預期要大的工作負載來讓只在峰值條件下才出現的缺陷曝光。壓力測試主要是為了測試硬件系統是否達到需求文檔設計的性能目標。
4)負載測試
負載測試是指在高于平常水泡泡的負載下,系統或者應用軟件會發生什么情況。
5) 平均無故障時間(MTBF)測試
MTBF測試是測量系統或應用軟件在出錯或當機前的平均運行時間。
6) 容量測試
容量測試一般是用來執行服務器或服務測試。目的是要確定系統最大承受量
7) 重復性測試
重復性測試是為了確定重復某一程序或場景的效果而采取的一項簡單而“粗暴”(brute force)的技術。
8) 兼容性測試
兼容性測試是指測試軟件在特定的硬件平臺上、不同的應用軟件之間、不同的操縱系統平臺上、不同的網絡等環境中是否能夠很友好的運行的測試。
9)輔助功能測試
輔助功能測試保證軟件公司開發的軟件能被傷殘人使用。
10)本地化測試
本地化就是將軟件版本語言進行更改,本地化測試的對象是軟件的本地化版本。
11)配置測試
配置測試就是測試軟件是否和系統的其他與之交互的元素之間兼容,驗證被測軟件在不同的軟件和硬件配置中的運行情況
12)可用性測試
可用性測試是在產品或產品原型階段實施的通過觀察或訪談或二者相結合的方法,發現產品或產品原型存在的可用性問題。
四、按階段分類
1、單元測試
在單元測試中,在開發階段將測試軟件應用程序的各個組件。單元測試通常由開發人員而不是測試人員完成。測試一段代碼形式的功能以驗證準確性。簡單來說單元測試就是確認單個模塊能否正常工作
2、集成測試
從測試類別來說,集成測試的主要測試內容包括功能性、可靠性、易用性、效率、可維護性和可移植性等,集成測試主要是確認多個模塊能否協同工作。
3、系統測試
將整個軟件系統看做一個整體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環境進行測試。
4、驗收測試
正式驗收測試是一項管理嚴格的過程,它通常是系統測試的延續。驗收測試的常用策略有三種,它們分別是:正式驗收、非正式驗收或 Alpha測試、Beta 測試。
五、其他測試類型
1、回歸測試
回歸測試(Regression testing) 指在發生修改之后重新測試先前的測試以保證修改的正確性。
2、冒煙測試
冒煙測試是指開發人員修復了先前測試中發現的bug后,想知道這個bug的修復是否會影響到其他功能模塊,需要做的就是冒煙測試。需要保證覆蓋待測產品的絕大部分功能;且被修復了的bug所屬的功能和系統其他骨干功能都是可用的。
3、隨機測試
隨機測試是沒有書面測試用例、記錄期望結果、檢查列表、腳本或指令的測試。主要是根據測試者的經驗對軟件進行功能和性能抽查。
寫在最后
對于新手而言,掌握基礎技巧是目前最重要的事情,因此把握好學習節奏,一步一步來,就離成為一個優秀的軟件測試工程師不遠啦~
更多軟件測試相關推薦:
文章來源:網絡 版權歸原作者所有
上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8103),我們將立即處理