OpenText 首頁。
技術主題

什麼是功能性測試?

 以問號為重點的 IT 項目說明

概述

功能測試是一種測試類型,旨在確定每個應用程式功能是否都能按照軟體需求運作。每個功能都會與對應的需求進行比較,以確定其輸出是否符合最終使用者的期望。測試的方式是提供樣本輸入、擷取結果輸出,並驗證實際輸出是否與預期輸出相同。

一些功能測試範例如下

  • 使用者提供合法憑證後,能否成功登入應用程式?
  • 當使用者輸入無效的信用卡號碼時,付款閘道是否會拒絕輸入並顯示錯誤訊息?
  • 對「新增記錄」畫面的輸入是否成功新增並儲存新記錄到資料庫?
 
功能測試結束時,您應該擁有擁有連貫的使用者介面、一致的 API,並與業務流程無縫整合的軟體。

功能測試

功能測試與非功能測試

與非功能性測試不同,功能性測試並不關心應用程式底層原始碼的品質、安全性或效能。它無法衡量速度、可擴充性和可靠性。

相反地,功能測試著重於處理的結果,而非處理的機制,並判斷應用程式是否滿足基本的最低使用者期望。

在這個意義上,功能性測試的定義近乎黑盒測試的同義詞,而另一方面,白盒測試則是非功能性測試較常見的特性。 


功能測試的典型步驟

功能測試計劃通常遵循以下順序:

確定測試目標

功能測試目標是軟體根據專案需求所預期的功能。測試目標包括驗證應用程式是否能如預期般運作,以及是否能優雅地處理錯誤和意外情況。

建立測試方案

針對特定功能制定一份所有可能(或至少所有最重要)測試情境的清單。測試情境描述功能使用的不同方式。例如,對於付款模組,測試情境可能包括多種貨幣、處理無效或過期的卡號,以及在交易成功完成時產生通知。

建立測試資料

根據您確定的測試情境,建立模擬正常使用條件的測試資料。您可以手動輸入測試資料 (例如從 MS-Excel 試算表或列印輸出),或透過腳本或測試工具自動從資料庫、平面檔案、XML 或試算表讀取並輸入資料。每組輸入資料也應該有相關的資料,描述輸入資料應該產生的預期結果。

設計測試案例

根據測試輸入的不同預期結果建立測試案例。例如,如果您輸入無效的信用卡號碼,應用程式應該顯示有意義的錯誤訊息。

執行測試案例

透過應用程式執行測試案例,並將實際結果與預期結果進行比較。如果實際輸出與預期輸出不同,則表示功能未通過測試,並應記錄為缺陷。

審議、追蹤並解決缺陷

一旦發現缺陷,就應該記錄在正式的追蹤系統中,讓整個專案團隊都能存取。應該對應用程式進行必要的變更,並再次執行測試案例以確認解決問題,然後才將缺陷標記為已關閉。


自動化功能測試工具如何運作?

功能測試自動化工具能夠與被測試應用程式的使用者介面互動。他們可辨識螢幕上的物件,如清單方塊、文字方塊和按鈕,並可進行選擇、輸入資料和按下按鈕。

許多功能測試自動化工具都包含記錄器,它可以在使用者與應用程式及其螢幕上的物件互動時「觀察」使用者,記錄使用者輸入系統的資料,以及使用者執行的動作,例如按下按鈕或選擇功能表。然後,這些動作可以重播,使用錄製過程中擷取的物件、資料和動作來複製使用者的活動。測試工具會記下這些動作的結果,並與自動化工程師定義的預期結果進行比較,以判斷測試是否通過。

功能測試自動化工程師可以使用工具所辨識的物件逐步建立測試,也可以從錄製開始,自訂步驟和參數化資料,使其通用化,讓測試可以在不同的環境下執行,包括各種瀏覽器和行動裝置


功能測試工具中的人工智慧

現今領先的測試自動化工具都具備人工智慧 (AI) 功能,可運用先進的技術,例如機器學習、電腦視覺、神經網路和自然語言處理。這有助於以與人類相同的方式識別螢幕上的物件、自然地與物件互動和操作物件,以及使用簡明的英文撰寫測試。

事實證明,以 AI 為基礎的功能測試自動化可以縮短測試建立時間、提升測試涵蓋率、增加測試資產的彈性,並減少測試維護工作。


有哪些功能測試最佳實作?

及早建立測試案例

不要等到應用程式或模組編碼完成後才開始建立測試案例。在專案的早期階段,使用者需求最為新鮮。您總是可以在之後根據需要修改測試案例。

自動化

功能測試可能是一個艱鉅、重複且耗時的過程。您自動化的程度越高,就能越快地確保所需的功能或識別與修正缺陷,並在 應用程式交付流程中節省更多的測試時間與成本。要將所有測試案例自動化是不可能的,甚至是不可取的,但只要將最重要的測試案例從手動花名冊中移除,就能大幅改善您的測試 ROI。

瞭解使用者的思考過程

功能測試人員必須深入了解終端使用者的思考過程。每個應用程式通常都有不同類型的使用者(買家、賣家、管理員、資料輸入員、主管等)。每個測試計畫都必須考慮到不同類型的使用者及其典型的應用程式導覽。

優先順序

測試人員的時間和資源是有限的。並非每個功能都可以測試。有些應用程式功能的優先順序很高,因此必須優先於較低優先順序的功能進行測試。


我們的 AI 驅動自動化功能測試工具可協助

雖然功能測試對許多組織而言都是一項挑戰,但適當自動化的功能測試 QA 組織所帶來的好處遠遠超過這些挑戰,而善用成熟功能測試工具的力量是最佳的方法。瞭解OpenText™ 功能測試解決方案如何協助您從功能測試中擷取最佳價值。

利用功能測試自動化加速測試效率

瞭解功能測試工具如何優化軟體品質並提升使用者體驗。

了解更多

我們能如何幫助您?

註腳