初學者手動測試教程(概念、型別、工具)
手動測試
手動測試是一種軟體測試,測試用例由測試人員手動執行,而不是使用自動化工具。手動測試的目的是發現軟體產品中的錯誤、缺陷和漏洞。手動軟體測試是所有測試方法中最基本的一種,它有助於發現軟體應用程式中的嚴重問題。
在新的應用程式可以自動化之前,必須先進行手動評估。手動軟體測試需要更多的時間和精力,但這對於確定自動化是否可行是必要的。“100%的自動化是無法實現的”,這是軟體測試基礎原理之一。這需要手動測試。
在我們的初學者手動測試教程中,我們將深入探討所有手動測試原則和主題。
手動測試的目的
手動測試的主要目標是確保程式無錯誤,並滿足定義的所需功能。
測試套件,也稱為用例,在測試過程中建立,應提供100%的測試覆蓋率。
它還確保開發人員糾正已識別的缺陷,並由測試人員重新測試已解決的問題。
從本質上講,嚴格的測試確保系統達到最高標準,並且客戶收到的是無錯誤的產品。
手動測試階段
**單元測試** - 在測試過程中驗證單個原始碼部分或單元。程式中最小的可測試部分稱為單元。其目標是評估特定應用程式元素的功能。開發人員經常使用它來儘早發現問題。
單元測試階段就像點選網頁上的按鈕並確認它執行預期操作一樣簡單。例如,驗證網站的分享按鈕是否允許您分享正確的頁面URL。
**整合測試** - 單元測試之後是整合測試。將多個單元組合在一起並作為一個單元進行測試。例如,透過檢查特定順序中的一系列網站來驗證相容性。
此方法幫助質量保證人員確定應用程式的多個元件如何互動以獲得預期的結果。與開發同時進行的整合測試有助於開發人員更快地發現和修復錯誤。
**系統測試** - 系統測試顧名思義,涉及到對軟體所有互連元件的整體評估。它幫助質量保證人員確定系統是否符合必要規範。它包含各種測試,例如根據特定輸入驗證輸出、客戶體驗評估等等。
根據團隊的精力和預算,可以進行各種型別的系統測試,例如迴歸測試、壓力測試、功能測試等等。
**驗收測試** - 驗收測試的目的是確定系統整體是否已準備好用於現實世界。進行內部和外部驗收測試。組織成員進行內部驗收測試(也稱為α測試)。少量實際終端使用者進行外部測試(也稱為β測試)。此過程幫助團隊確定產品在多大程度上滿足使用者的期望。它還在軟體交付前的最後階段發現缺陷。
手動測試型別
下圖顯示了手動測試型別。實際上,每種型別的軟體測試都可以手動進行或藉助自動化工具進行。
黑盒測試
白盒測試
單元測試
系統測試
整合測試
驗收測試
白盒測試實驗
白盒測試,也稱為透明測試或玻璃盒測試,是一種方法,其中質量保證人員熟悉應用程式的核心程式碼或架構。其主要目的是單元測試。白盒測試涵蓋了諸如資料流測試、控制流測試、決策覆蓋率和路徑測試等具體方法。
黑盒測試
黑盒測試是一種測試方法,其中質量保證人員不瞭解應用程式的原始碼或架構。為了評估軟體應用程式的功能和非功能特性,質量保證人員與它進行互動,就像終端使用者一樣。這有助於發現早期階段經常被忽略的問題。
灰盒測試
灰盒測試方法結合了白盒測試和黑盒測試方法。此方法的主要目標是發現由於使用不當或結構缺陷而可能存在的任何缺陷。
手動測試技術
閱讀並理解軟體專案的文件/指南。此外,如果可用,請檢查被測應用程式 (AUT)。
建立符合所有文件標準的測試用例。
在團隊主管和客戶的幫助下,評估和校準測試場景(如適用)。
將測試用例應用於AUT。
請報告您發現的任何問題。
解決問題後,重新執行失敗的測試用例以確保它們透過。
手動測試的誤區
以下是某些常見的測試誤區和事實:
誤區 - 手動測試任何人都可以做。
事實 - 測試需要廣泛的技能。
誤區 - 手動測試比自動化測試更有效。
事實 - 無法實現100%的測試自動化。手動軟體測試的重要性怎麼強調都不為過。
誤區 - 測試是一個簡單的過程。
事實 - 測試可能極其困難。在使用少量測試用例測試應用程式的可能用例時,需要良好的計算能力。
軟體構建過程
收集需求後,將將其傳送給開發和測試團隊。
負責的開發人員在收到需求後將開始開發程式。
同時,測試工程師解讀需求並建立必要的文件;在此期間,開發人員可能會完成程式碼並將其儲存在版本控制工具中。
之後,UI程式碼發生變化,這些更新由稱為構建團隊的不同團隊處理。
這個構建團隊將獲取原始碼並使用構建工具對其進行組裝和壓縮。獲得一些結果後,我們將其放入名為構建(應用程式或軟體)的zip檔案中。每個構建都將分配一個唯一的編號,例如(B001、B002)。
然後,將此特定構建安裝在測試伺服器上。測試工程師然後將使用測試URL連線到此測試伺服器並開始測試應用程式。
如果測試工程師發現問題,他或她將通知相應的開發人員。
然後,程式設計師將在測試伺服器上覆制問題,修復缺陷,並將程式碼儲存在版本控制工具中,然後該工具將安裝最新的升級檔案並解除安裝舊檔案;此過程將重複進行,直到構建穩定。
一旦我們擁有穩定的構建,它將被交付給客戶。
手動測試與自動化測試
手動測試需要一個人來執行測試。
使用工具執行測試用例稱為自動化測試。
手動測試需要熟練的勞動力,需要很長時間並且成本很高。
自動化測試節省了時間、金錢和人員。一旦您捕獲了所有內容,執行自動化測試套件就容易得多。
雖然每種型別的應用程式都可以手動測試,但某些型別的測試,例如隨機測試和猴子測試,最適合手動處理。
自動化測試僅建議用於穩定的系統,並且通常用於迴歸測試。
手動測試可能會隨著時間的推移變得乏味和枯燥。
在自動化測試中,重複相同測試用例的乏味部分由自動化軟體完成。
手動測試自動化工具
Selenium
QTP
JMeter
LoadRunner
TestLink
應用生命週期管理 (ALM)
手動測試的優勢
黑盒方法不需要任何程式設計經驗。
它用於評估動態變化的圖形使用者介面佈局。
測試人員以真實使用者的身份與軟體互動,以識別可訪問性和UI問題。
它確保程式完全無錯誤。
它是一種經濟高效的解決方案。
新手測試人員很容易上手。
手動測試的缺點
它需要大量人員。
它需要很長時間。
根據他們的能力和經驗,測試人員會建立測試場景。無法知道他們是否已經探索了所有方面。
測試用例無法重用。每個新的軟體都需要自己的一套測試用例。
它不包括測試過程的所有元件的測試。
由於兩個團隊一起工作,因此可能難以理解彼此的動機,這可能導致過程被誤導。
結論
手動測試需要測試人員的耐心、創造力和求知慾。
因為人們參與了軟體應用程式的測試,而終端使用者也是人,所以手動測試是使用者友好型軟體開發的重要組成部分。他們必須從最終客戶的角度思考或行動。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP