你知道功能測試和非功能測試有什麼區別麼?

2021-01-08 IT168

【IT168 資訊】功能測試根據需求進行功能上的測試,而非功能測試則針對更廣泛的質量問題進行測試。在本文中,Dayana Stockdale將幫助讀者弄清這兩種測試的差異,並給出一些舉例和策略。

功能測試與非功能測試的主要區別

在理解功能測試和非功能測試的區別之前,先需要知道功能性和非功能性需求之間的區別:

功能要求:描述軟體系統的行為或執行。

非功能性要求:描述軟體系統的性能或可用性。

功能需求將指定某一功能必須執行某個操作,而非功能需求則是可能會指定某一功能執行該操作。功能要求是WHAT;而非功能性要求是HOW。

因此,功能需求測試就是驗證軟體是否正在執行操作,而非功能測試則有助於驗證客戶的期望是否得到滿足。

功能測試與非功能測試實例

為了使讀者能更加清晰的了解兩者之間的差異,Dayana將詳細介紹一些並行的實例:

功能測試策略

功能測試策略多種多樣,手動和自動測試混合使用是確保功能測試覆蓋率的最佳方法。

最常見的功能測試策略是黑盒測試方法,測試者不需要審查內部原始碼,而是通過測試各種輸入組合來驗證功能。

以下是一些常用的功能測試技術:

1. 安裝測試 — 用於測試桌面或行動應用程式是否正確安裝。

2. 邊界值分析 — 數值輸入邊界測試。

3. 等價劃分 — 分組測試,以減少類似功能測試的重疊。

4. 錯誤猜測 — 評估功能問題最有可能被發現,並比其他領域更廣泛地進行測試。

5. 單元測試 — 在軟體的最小級別上執行測試。不是將系統作為一個整體運行,而是在單元上測試。

6. API測試 — 檢查內部和外部API是否正常運行,包括數據傳輸和授權。

7. 回歸測試 — 用於驗證新軟體更改沒有對現有功能(最常見的自動化技術)產生不利影響的測試。

所有的功能測試都有一個特定的輸出。所有的功能測試都可以用非常明確的通過或者失敗標準來編寫。

非功能性測試策略

非功能性測試有時可能會比功能性測試要麻煩很多,因為您正在測試客戶對整體質量體驗的期望,而不是指定輸入數據輸出確定的結果。

以下是主要的非功能性測試技術:

1. 負載測試 — 在模擬環境中執行的測試,以測試系統在預期條件(不同數量的用戶)期間的行為。

2. 壓力測試 — 在資源不足時測試性能,例如伺服器問題或設備上硬碟空間不足。

3. 擴展性測試 — 檢查系統的規模,以便隨著使用率的增加和性能受到何種程度的影響而進行擴展。

4. 容量測試 — 用大量的數據測試性能,不一定是數量龐大的用戶,但可以是一個用戶執行高容量的任務,例如多文件上傳。

5. 安全性測試 — 進行測試以發現系統受到攻擊的脆弱程度,以及數據的保護程度。

6. 災難恢復測試 — 檢查系統在崩潰或重大問題後能在多久時間內的恢復速度。

7. 一致性測試 — 根據某一套標準(無論是行業法規還是公司的標準)來測試軟體系統。

8. 可用性測試 — 測試GUI是否一致,以及整個應用程式是否直觀且易於使用。

雖然一些非功能性測試技術可以具有通過/失敗的標準(如批量測試),但相比之下,其他測試技術能夠基於測試人員的意見(如可用性測試)因此更加客觀。

傾聽客戶反饋對於更新非功能性需求至關重要。雖然在收集意見過程中,可能會識別到某些擴展性和安全因素,但客戶反饋可以擴展這些檢查集合,包括更好地測試應用程式在崩潰後應該如何恢復,或應用程式如何在設備上佔用最小的存儲空間。

客戶反饋有助於進行功能測試的風險評估。但對於非功能性測試來說,用戶反饋更有價值,因為反饋有助於設定柵,而功能測試已經設定好了柵。

相關焦點

  • 黑盒測試和白盒測試的基本原理/區別是什麼?
    首先我們來看,白盒測試跟黑盒測試,對於這兩個概念,我在網上也經常看到有人提出類似的問題,那我今天就來寫一篇關於兩者之間的原理與區別VS。因為有很多朋友是剛剛接觸軟體測試行業的,多多少少都會有聽過白盒測試、黑盒測試。在公司裡面,或者經常聽到有人說你是做黑盒測試還是做白盒測試?或者白盒測試包括哪一些範疇呢?黑盒測試又包括哪一些範疇。
  • 功能測試包含哪些測試?分別有什麼作用?
    功能測試包含哪些測試?功能測試主要包括連結測試、表單測試、搜索測試、刪除測試、cookies、session測試、資料庫測試等部分。功能測試對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢查產品是否達到用戶要求的功能。功能測試包含哪些測試?分別有什麼作用?
  • 你還在問:安全測試要寫測試用例麼?黑客都在用測試用例找漏洞了
    從網絡及信息安全的攻擊角度來說,惡意攻擊分子已經逐漸形成了目標精準、分工明確、技術先進的網絡黑色產業鏈條,相應的從安全保護和防禦角度來說,國家加大了對網絡攻擊等犯罪行為的打擊力度,企業也逐漸加大了網絡安全投入。那麼,當安全測試成為企業安全建設中的一個重要環節,安全測試需要寫測試用例麼?
  • 淺談冒煙測試和回歸測試
    冒煙測試是自由測試的一種,冒煙測試是測試中發現的問題,找到了一個bug,然後開發人員會來修復這個bug,這時想知道這次修復是否真的解決了程序的bug,或者是否會對其他模塊造成影響,就需要針對此問題進行專門測試,這個過程就稱為冒煙測試。
  • 沒經過這些測試,你的微服務架構也敢進入生產環境?
    如果我們想要開發一款具備一定複雜性的應用程式,那麼測試是一定需要的。使用什麼測試方法?目前軟體測試的種類比較多,大致可以分為功能測試和非功能測試兩大類。其中功能測試類包括單元測試、集成測試、通煙測試、回歸測試、健全測試、Beta/ 驗收測試和端到端(e2e)測試,而非功能測試則包括了性能測試、負載測試、壓力測試、安全測試、合規測試和可用性測試。
  • Hi運動講堂:Hitt與CrossFit的區別,你真的知道麼?
    Hi運動講堂:Hitt與CrossFit的區別,你真的知道麼?一個小夥伴問HIIT和CrossFit有什麼不同?
  • 單元測試 vs 集成測試,你該怎麼選?
    在我看來,集成測試和單元測試是健壯軟體的基石。因此,今天讓我們看看單元測試與集成測試之間的區別,以及你什麼時候該選擇哪種測試。什麼是一個單元?一個單元是邏輯上分離的最小代碼塊單元測試是一種孤立地測試儘可能小的代碼片段的測試。那麼,什麼是一個單元?術語「單元」來自數學。數字 1 被認為是單元,因為它是最小的自然數。它是最小的正整數。
  • 手把手教你測試固態硬碟!硬碟測試軟體大匯總
    如今固態硬碟已經成為了電腦不可或缺的核心配件,裝好電腦後,如何快速的通過主流測試軟體,檢測固態硬碟狀態和速度。今天我就和大家聊一聊,有哪些主流的硬碟測試軟體。2、CrystalDiskInfo這款軟體和CDM為同一個開發者的產品,區別在於CDM是跑分軟體,而CDI則是查看固態狀態的軟體。
  • 軟體測試的運行劃分:動態靜態測試的區別
    打開APP 軟體測試的運行劃分:動態靜態測試的區別 cherrydreamsover 發表於 2020-06-29 11:05:27
  • ...化傳輸測試儀MT1000A網絡測試專家和和MT1100A網絡測試大師的功能
    安立公司宣布為其便攜的MT1000A網絡測試專家和MT1100A網絡測試大師——一體化網絡傳輸測試儀新家族增加新的重要功能。
  • 榮耀硬體級「溫度計」功能測試,什麼都能測,準不準?
    在這個2020年,因為一些原因,測溫槍,溫度計一時之間都成為了很火的產品,外出的人們也經常都會面臨測溫,如果我們每一個人的手機都支持測溫功能,會不會讓我們的生活更加方便呢?所以可能榮耀也是考慮到了這個問題,榮耀Play4 Pro直接將測溫功能內置在手機上面,實際體驗如何,我也來測試一下吧。
  • 知識點暴擊匯總:一篇文章幫你理清軟體測試方法
    在談論軟體測試分類的時候,分類的結果五花八門。因為大家將各個維度劃分的內容都集中到一起了,再加上各自不同的見解與補充,就有各種衝突存在。軟體測試基本定為4類測試(最多5類,自動化或者兼容性單獨提出來):功能測試、性能測試、安全測試、特性測試。大家化繁為簡,轉為自己理解的分類,避免死記硬背帶來的理解不深入,遺漏測試範圍。
  • 軟體測試中回歸測試,你知道嗎?
    1、回歸測試是指重複以前的全部或部分的相同功能測試2、新加入測試的模塊,可能對其他模塊產生副作用,因此要進行某些程度的回歸測試3、回歸測試的重心,是以關鍵性模塊為核心二、做回歸測試的好處如下:1、自動回歸測試將大幅度降低系統測試、維護升級等階段的成本,回歸測試作為軟體生命周期的一個組成部分,在整個軟體測試過程中佔有很大的工作量比重
  • 【FOM】 體驗測試FAQ
    _15.02.1234.TencentBeta.apkQ:本次測試開始時間和結束時間是什麼時候?A:本次測試開始時間為2015年7月7日,預計2015年7月28日結束,具體結束時間請關注官網公告和遊戲內公告Q:我參加過上一次的足球在線移動版的測試,還需要重新下載客戶端麼?
  • 5G基站測試利器——終端仿真器UEE,你了解它麼?
    直接用實際的終端設備測試不行麼? 從時效性,可重複性和大話務量三個方面來看,實際的終端設備都無法滿足gNB測試的需求。 在功能測試中,基站和手機終端都是遵照3GPP規範。例如,在新功能和特性上,如果使用商用終端測試,首先就需要此終端能支持待測試的新特性,然而終端和晶片在標準跟進上並沒有這麼快,往往並不支持待測試的新特性。
  • 塔羅測試 你現在應該換工作麼?
    [ 中華塔羅網 ] 微信號:ichinatarot 談星座、獲運勢、聊塔羅……這裡有最好玩的心理測試
  • 關於軟體測試/測試用例的問題,答案都在這裡了
    新項目和維護項目從本質上看沒有區別,維護產品,無非就是新增功能和缺陷修復兩大類,和新項目相比,唯一需要注意的就是新增\修復的功能是否對其他部分有影響,這裡就涉及到一個回歸策略的問題——老功能要測多少。一般來說,需要和開發討論確定受影響的範圍,然後制定測試範圍。當然最理想的情況就是整個系統全測,因為一旦系統複雜了,沒有哪個開發能說清楚影響範圍。
  • 塔羅牌測試:TA什麼時候與你複合?早測試早知道!
    塔羅牌測試:TA什麼時候與你複合?早測試早知道!一旦我們在感情中留下遺憾 就很容易對當初的那個人念念不忘 甚至,想和對方複合 所以,今天塔羅牌佔卜的主題是 你和Ta什麼時候會複合?看看你的運勢會怎麼樣?開始揭曉選擇A感情分手後,兩個人在一起鬧矛盾分手了,對方也希望如果可以你們還會有交集能夠有聯繫,雖然做不了戀人,希望能夠做朋友,就算沒有聯繫他也會在心裡默默祝福你,你也不用那麼著急,而是以退為進,靜待對方思慮清楚,重新回到你的身邊。
  • 軟體測試中回歸測試,你知道嗎? ​
    1、回歸測試是指重複以前的全部或部分的相同功能測試2、新加入測試的模塊,可能對其他模塊產生副作用,因此要進行某些程度的回歸測試3、回歸測試的重心,是以關鍵性模塊為核心二、做回歸測試的好處如下:1、自動回歸測試將大幅度降低系統測試、維護升級等階段的成本,回歸測試作為軟體生命周期的一個組成部分
  • 心理學測試:第一眼你看到了什麼,測試有沒有人在偷偷的暗戀你?
    心理學測試:第一眼你看到了什麼,測試有沒有人在偷偷的暗戀你? 圖片來源於網絡侵權請聯繫作者~ 心理測試:第一眼你看到了什麼,測試有多人在偷偷的暗戀你?