筆者最近發現有許多的測試新人對于軟件測試的概念比較混淆,在學習和求職過程中對于軟件測試相關的名詞用的不是很準确,所以筆者在這裡彙總了測試相關的名詞,希望能夠幫助到大家更好的了解軟件測試,這篇文章呢屬于軟件測試領域的科普問喲。
一、根據項目流程階段劃分測試
上圖是一個典型瀑布式軟件開發流程,那麼各項軟件測試工作是在項目開發流程中循序漸進的進行的。下面将介紹個測試含義。
單元測試:單元測試是對軟件中的基本組成單位進行的測試。目的是檢驗軟件基本組成單位的正确性。
集成測試:集成測試是在軟件系統集成過程中所進行的測試。目的是檢查軟件單位之間的接口是否正确。
系統測試:系統測試是對已經集成好的軟件系統進行徹底的測試,以驗證軟件系統的正确性和性能等是否滿足其規約所指定的要求。
驗收測試:驗收測試是部署軟件之前的最後一個測試操作。驗收測試的目的是确保軟件準備就緒,向軟件購買都展示該軟件系統滿足其用戶的需求。
(一)單元測試階段:1、模塊接口測試
通過所測模塊的數據流進行測試。調用所測模塊時的輸入參數與模塊的形式參數的個數、屬性和順序是否匹配。
2、局部數據結構測試
局部數據結構是為了保證臨時存儲在模塊内的數據在程序執行過程中完整、正确、模塊的局部數據結構往往是錯誤的根源。
3、路徑測試
對模塊中重要的執行路徑進行測試。
4、錯誤處理測試
比較完善的模塊設計要求能遇見出錯的條件,并設置适當的出錯處理,以便在一旦程序出錯時,能對出錯程序重做安排,保證其邏輯上的正确性。
5、邊界條件測試
軟件經常在便捷上失效,邊界條件測試是一項基礎測試,也是後面系統測試中的功能測試的重點。
(二)集成測試階段:在集成測試中,我們主要關注以下内容:
1. 把各個模塊連接起來時,穿越模塊接口的數據據是否會丢失。
2. 各個了模塊組合起來,能否達到預期要求的功能。
3. 一個模塊的功能是否會對另一個模塊的功能産生不利影響。
4. 全局數據據結構是否有問題。
5. 單個模塊的誤差積累起來是否會被放大,從而達到不可接受的程序。
(三)系統測試階段:
一般系統的主要測試工作都集中在系統測試階段。根據不同的系統,所進行的測試種類也很多。
1、功能測試:
功能測試是對産品的各功能進行驗證,以檢查是否滿足需求的要求。
2、性能測試:
性能測試是通過自動化測試工具模拟多種正常、峰值以及異常負載條件來對系統的各項性能指标進行測試。
3、安全測試:
安全測試檢查系統對非法入侵的防範能力。
4、兼容測試:
兼容性測試主要是測試系統在不同的軟硬件環境下是否能夠正常的運行。
(四)驗收測試階段:功能确認測試
安全可靠性測試
易用性測試
可擴充性測試
兼容性測試
資源占用率測試
用戶文檔資料驗收
二、功能測試、性能測試1、功能測試
功能測試檢查實際的功能是否符合用戶的需求。測試的大部分工作也是圍繞軟件的功能進行,設計軟件的目的也就是滿足客戶對其功能的需求。如果偏離的這個目的任何測試工作都是沒有意義的。
功能測試又可以細分為很多種:邏輯功能測試、界面測試、易用性測試、安裝測試、兼容性測試等。
2、性能測試
性能測試是通過自動化的測試工具模拟多種正常、峰值以及異常負載條件來對系統的各項性能指标進行測試。
三、白盒測試、黑盒測試、灰盒測試上面是根據項目流程按照測試的各個階段對測試工具的劃分。白盒測試與黑盒測試,主要是測試工作對軟件代碼的可見程度的劃分。這也是我軟件測試領域中最基本的兩個概念。
1、黑盒測試:
黑盒測試,指的是把被測的軟件看作是一個黑盒子,我們不去關心盒子裡面的結構是什麼樣子的,隻關心軟件的輸入數據和輸出結果。
它隻檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能适當地接收輸入數據而産生正确的輸出信息。黑盒測試着眼于程序外部結構,不考慮内部邏輯結構,主要針對軟件界面和軟件功能進行測試。
2、白盒測試:
白盒測試,指的是把盒子蓋子打開,去研究裡面的源代碼和程序結果。
它是按照程序内部的結構測試程序,通過測試來檢測産品内部動作是否按照設計規格說明書的規定正常進行,檢驗程序中的每條通路是否都能按預定要求正确工作
3、灰盒測試:
灰盒測試介于黑盒測試與白盒測試之間。
可以這樣理解,灰盒測試關注輸出對于輸入的正确性,同時也關注内部表現,但這種關注不像白盒那樣詳細、完整,隻是通過一些表征性的現象、事件、标志來判斷内部的運行狀态,有時候輸出是正确的,但内部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。
四、手工測試與自動化測試1、手工測試:
手工測試就是由人去一個一個的去執行測試用例,通過鍵盤鼠标等輸入一些參數,查看返回結果是否符預期結果。
(其實,不太喜歡别人把一般的功能測試工作叫手工測試,就像一個雕塑家不喜歡别人叫他刻石頭的一樣。手工測試同樣需要業務熟悉、基本測試方法的理解。看似簡單的工作卻能夠發現别人不能發現的軟件問題。在目前的測試領域,手工測試仍然是無法替代的一種測試方法)
2、自動化測試
自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例并通過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。
五、冒煙測試、回歸測試
這三種測試在軟件功能測試過程中,既不算具體明确的測試階段也不算是具體的測試方法。
1、回歸測試:
回歸測試是指修改了舊代碼後,重新時行測試以确認修改後沒有引入新的錯誤或導緻其他代碼産生錯誤。
回歸測試一般是在進行軟件的第二輪測試開始的,驗證第一輪中發現的問題是否得到修複。當然,回歸也是一個循環的過程,如果回歸的問題通不過,則需要開發人員修改後再次進行回歸,直到通過為止。
2、冒煙測試:
是指在對一個新版本進行系統大規模的測試之前,先驗證一下軟件的基本功能是否實現,是否具備可測性。
引入到軟件測試中,就是指測試小組在正規測試一個新版本之前,先投入較少的人力和時間驗證一個軟件 的主要功能,如果主要功能都沒有實現,則打回開發組重新開發。這樣做的好處是可以節省大量的時間成本和人力成本。
六、安全測試安全測試是在IT軟件産品的生命周期中,特别是産品開發基本完成到發布階段,對産品進行檢驗以驗證産品符合安全需求定義和産品質量标準的過程。
安全測試也在越來越受到企業的關注和重視,因為由于安全性問題造成的後果是不可估量的。尤其對于互聯網産品最容易遭受各種安全攻擊。
七、總結今天的文章到這裡了,希望可以給到小夥伴們一定的幫助,在這裡呢我也給小夥伴們準備了一份小小的驚喜,那就是軟件測試學習資料一份,有需要的小夥伴可以私信關鍵字“資料”免費獲取喲。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!