軟體測試中的測試分析(測試依據)是什麼?
軟體測試簡介
軟體測試是對軟體產品或服務的質量進行檢查以向利益相關者提供資訊的活動。程式測試還可以為公司提供對軟體的客觀、無偏見的看法,從而使他們能夠理解和認識到與軟體實施相關的風險。測試是指執行程式或應用程式以查詢故障並確保軟體產品適合使用的過程。
軟體測試是透過執行軟體元件或系統元件來評估一個或多個感興趣的質量的過程。通常,這些質量反映了被測元件或系統
它應該滿足指導其設計和開發的標準
它應該對各種輸入做出適當的響應
它應該在合理的時間內完成其功能
它應該適合使用,
它可以在其設計所在的位置安裝和使用
它應該為所有利益相關者實現預期的結果
鑑於即使對於簡單的軟體元件,可能的測試數量也幾乎無限,所有軟體測試都採用某種方法來選擇在可用時間和資源範圍內可行的測試。因此,軟體測試通常(但並非總是)涉及嘗試執行程式或應用程式以檢測由軟體缺陷引起的錯誤。當一個問題得到糾正時,它可能會由於更深層次的缺陷而突出顯示其他故障,甚至可能產生新的故障,因此測試是一個迭代過程。
軟體測試可以為使用者和發起者提供關於軟體質量和故障風險的客觀、無偏見的資訊。
軟體測試可以在可執行軟體(即使只是部分完成的)可用時開始。何時以及如何進行測試通常取決於軟體開發的總體策略。例如,在分階段方法中,大部分測試發生在系統需求開發完畢並在可測試程式中實現之後。在敏捷方法中,需求、程式設計和測試經常同時進行。
測試分析
在軟體測試中,測試分析是檢查和分析測試工件以建立測試條件或測試用例的過程。測試分析的目標是收集需求並建立測試目標,以便可以建立測試條件。因此,它也稱為測試依據。測試分析是評估測試依據(所有可以從中推匯出元件或系統需求的文件)並定義測試目標的過程。它以測試條件的形式指定了要測試的內容,並且可以在每個測試級別的測試基礎設定好後立即開始。
它可以與測試設計並行、整合或迭代地進行。測試分析評估和審查測試目標和產品風險,並定義精確的成功衡量標準和目標。
在確定細節級別時,請記住以下幾點:
測試的程度;細節程度和測試基礎的質量
系統/軟體的複雜性和使用的開發生命週期
與專案和產品相關的風險
測試前提、應測試的內容以及應如何測試之間的關係。
使用了測試管理工具。
測試過程的成熟度,以及測試分析師的能力和知識
測試設計和其他測試工作交付物的規範程度。
利益相關者參與協商的意願
我們從中獲取測試資訊的來源如下所述。
軟體需求規格說明
軟體需求規格說明書 (SRS 文件) 說明了如何構建軟體系統。簡而言之,SRS 為所有參與者提供了一個專案路線圖。它提供了軟體功能和非功能規範的高階描述,以及用例,這些用例展示了使用者在系統完成後如何與系統互動。
SRS 文件中通常會看到以下元素:
正在開發的軟體的目標是什麼?
軟體的總體概述
軟體的功能,或者它的設計目的
軟體在生產環境中的效能
非功能性規範
外部介面,或者軟體將如何與硬體或其他軟體通訊。
軟體設計施加的約束或其執行環境施加的約束
業務需求規格說明
它概述了軟體的功能規範的高階概述。這是一個正式的文件,描述了客戶的需求(書面,口頭)。它通常由與客戶互動並從客戶的互動和需求中得出的業務分析師生成。
業務流程是對交易夥伴如何旨在履行其角色、建立業務關係和分擔職責的詳細描述,以便在各自的資訊系統的幫助下有效地進行互動。
功能設計文件
功能設計規範 (FDS) 是一個解釋流程或控制系統如何工作的文件。
功能設計規範中沒有高度技術性的細節。相反,它解釋了計劃中的系統將如何工作,人們將如何與它互動,以及在各種執行情況下會發生什麼。功能設計規範有很多用途。其中一個主要原因是,如果沒有某種關於系統應該完成什麼的書面共識,那麼製作圖紙或編寫 PLC 程式碼將更加費時。
功能設計規範可以與相關團隊成員、客戶和利益相關者共享,以便在最終文件達成一致並簽署之前獲得反饋和審查。此審查和更改過程對於確保最終設計適合目的並滿足利益相關者的需求至關重要。之後,該文件將提供給工程團隊進行技術設計和程式設計,功能規範作為指導。
如果完成了功能設計規範,工程師將知道要設計什麼,程式設計師將知道程式碼應該執行什麼,利益相關者將知道將交付什麼。
功能設計規範概述了在典型的工業軟體工程生命週期中必須實現的內容。
案例研究
讓我們來看一個案例研究,以便更好地理解測試分析。
考慮以下場景:客戶向您傳送以下內容:
應該向電子商務商店新增搜尋功能。
即使應用程式尚未完成,也嘗試為該需求提出一些測試用例。在此處暫停,完成您的作業,然後繼續進行解決方案:
以下是您可能考慮的眾多測試用例中的一些。
未輸入任何術語時,檢視搜尋結果。
輸入的關鍵字沒有對應的產品時,檢視搜尋結果。
可以訪問輸入的關鍵字的多個對應產品時,檢查搜尋結果。
您檢查測試依據(客戶的要求),分析它,並將其轉換為測試條件。
這就是 V 模型各個階段發生的情況。在各個階段,使用相關的文件準備測試計劃/用例。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP