自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

軟件測試中負(fù)面測試的完整指南

譯文
開發(fā) 測試
軟件測試至關(guān)重要,因?yàn)榭梢詼y試開發(fā)的應(yīng)用程序是否正常工作。而軟件測試人員可以實(shí)施各種類型的測試。

[[439422]]

【51CTO.com快譯】軟件測試至關(guān)重要,因?yàn)榭梢詼y試開發(fā)的應(yīng)用程序是否正常工作。而軟件測試人員可以實(shí)施各種類型的測試。

盡管種類眾多,但所有測試都屬于兩種分類之一:正面測試和負(fù)面測試。這兩種測試同樣重要,而正面測試比負(fù)面測試更受歡迎。

本文將介紹軟件測試中的負(fù)面測試,測試人員為什么會避免實(shí)施負(fù)面測試;還介紹如何在實(shí)踐中執(zhí)行負(fù)面測試以及將出現(xiàn)哪些負(fù)面測試場景,并分析正面測試和負(fù)面測試之間的區(qū)別,最后探討了負(fù)面測試的好處。

什么是負(fù)面測試?

軟件測試是檢查應(yīng)用程序的基本功能是否按照其設(shè)計(jì)正常工作的過程。與此同時(shí),它驗(yàn)證應(yīng)用程序是否具備處理問題和無效輸入的能力。

負(fù)面測試是指軟件測試的負(fù)面方法,也稱為故障測試或錯誤路徑測試。它旨在通過設(shè)計(jì)測試用例來發(fā)現(xiàn)應(yīng)用程序的負(fù)面特征,它揭示了應(yīng)用程序如何響應(yīng)無效數(shù)據(jù),并將預(yù)期輸出與錯誤輸出進(jìn)行比較。

為什么測試人員避免進(jìn)行負(fù)面測試?

盡管很有用,但負(fù)面測試似乎在軟件測試人員中名聲不佳。許多軟件測試人員不愿進(jìn)行負(fù)面測試,因?yàn)樗麄冋J(rèn)為這可能會不必要地延遲軟件或應(yīng)用程序的發(fā)布。

有些測試人員認(rèn)為負(fù)面測試是一種浪費(fèi)時(shí)間和資源的行為,他們認(rèn)為最好將時(shí)間和精力投入到正面測試中。

缺乏有關(guān)的技能和知識也阻礙了測試人員實(shí)施負(fù)面測試。因此并非每個(gè)人都完全了解該軟件的工作原理及其局限性。

盡管負(fù)面測試的名字是負(fù)面的,但會帶來積極的結(jié)果。由于以下原因,它應(yīng)該是軟件測試策略的重要組成部分:

  • 企業(yè)責(zé)任

軟件開發(fā)商需要向客戶提供優(yōu)秀的軟件產(chǎn)品。負(fù)面測試與正面測試相結(jié)合對于確保應(yīng)用程序的穩(wěn)定性是必要的。雖然軟件開發(fā)商可能無法完全保證應(yīng)用程序沒有錯誤,但至少可以通過負(fù)面測試盡量減少失敗。

  • 客戶滿意度

客戶將軟件項(xiàng)目委托給軟件開發(fā)商,因?yàn)橄嘈潘麄冇心芰?chuàng)建出色的軟件。如果涉及在線股票、電子商務(wù)和其他敏感的商業(yè)交易,高質(zhì)量的軟件就顯得尤為重要。

如果軟件開發(fā)商的目標(biāo)是獲得客戶滿意度,負(fù)面測試至關(guān)重要。盡管如此,由客戶決定是否愿意投資執(zhí)行負(fù)面測試所需的額外費(fèi)用。

如何在實(shí)踐中進(jìn)行負(fù)面測試

以下是用來對軟件應(yīng)用程序執(zhí)行負(fù)面測試的一些技術(shù)和實(shí)踐:

  • 邊界值分析

這一方法涉及為邊界限制之外的值編寫測試用例。例如,如果測試的文本字段接受1到100個(gè)字符范圍內(nèi)的數(shù)據(jù),則邊界限制為1到100。

  • 等價(jià)分區(qū)

這是一種測試軟件程序功能的技術(shù)。它需要將輸入值分組到不同的分區(qū)中??梢栽诿總€(gè)分區(qū)中測試一些輸入值。

  • 錯誤猜測

這一過程查明觸發(fā)故障或錯誤消息的特定條件。如果可能,應(yīng)該嘗試在不會發(fā)生系統(tǒng)崩潰的情況下識別和糾正問題。但在某些情況下,如果錯誤情況沒有被立即關(guān)注和解決,錯誤的結(jié)果可能會導(dǎo)致極端的“下游”故障。

  • 清單

這是一種基本但至關(guān)重要的方法,用于記錄計(jì)劃測試的錯誤情況。軟件測試的清單通常與錯誤猜測一起使用。

  • 反模式

如果有設(shè)計(jì)模式,反模式就是它們的對立面。如果前者是解決問題的最佳方式,那么后者則是行不通的解決方案。反模式是負(fù)面測試的理想來源。

  • 探索性測試

這一技術(shù)用于在測試進(jìn)行時(shí)增加測試人員對應(yīng)用程序的了解。它可以與其他測試同時(shí)進(jìn)行。探索性測試可以讓他們清楚地了解應(yīng)用程序的哪些方面有效,哪些方面無效。

  • 小規(guī)模測試自動化

這是一種揭示內(nèi)存錯誤、代碼缺陷和其他問題的方法,這些問題在生產(chǎn)使用中偶爾會暴露出來。它需要執(zhí)行相同的動作數(shù)千次才能看到它對程序的影響。

  • 模糊測試

這一過程涉及隨機(jī)數(shù)據(jù)的輸入,這可能會導(dǎo)致意外故障、崩潰和問題。與其他負(fù)面測試用例不同,模糊測試沒有預(yù)設(shè)的預(yù)期結(jié)果。它只是對由于任意輸入而可能發(fā)生的情況的觀察。

  • 狀態(tài)轉(zhuǎn)換測試

這是一種用于發(fā)現(xiàn)應(yīng)用程序中的缺陷的技術(shù)。它源于這樣一種概念,即軟件只能在一個(gè)時(shí)間點(diǎn)以一種特定的狀態(tài)存在。例如在出現(xiàn)問題之前,程序被認(rèn)為處于正常運(yùn)行狀態(tài)。

負(fù)面測試場景

執(zhí)行負(fù)面測試的目的是查明應(yīng)用程序在不同情況下可能出現(xiàn)的故障。以下是一些可能意外發(fā)生錯誤和崩潰的潛在情況:

  • 填充必填字段

某些軟件和網(wǎng)頁展示了需要用戶填寫的字段。可以設(shè)計(jì)一個(gè)測試,將必填字段留空,以便評估應(yīng)用程序?qū)Υ藞鼍暗捻憫?yīng)。

  • 數(shù)據(jù)與字段類型的對應(yīng)關(guān)系

大多數(shù)數(shù)字表單和對話框都能夠以某種形式接收數(shù)據(jù),例如文本、數(shù)字、日期和時(shí)間。可以進(jìn)行測試,將錯誤的數(shù)據(jù)類型輸入到控件中,以查看應(yīng)用程序在這種情況下的反應(yīng)。

  • 允許的數(shù)據(jù)界限和限制

一些軟件程序包含的輸入字段只接收特定數(shù)字或文本范圍內(nèi)的數(shù)據(jù)。測試人員可以設(shè)計(jì)一個(gè)輸入值低于或高于特定字段邊界的測試。

  • 允許的字符數(shù)

有些網(wǎng)頁和應(yīng)用程序的字段只允許用戶輸入有限數(shù)量的字符。測試人員可以選擇概念化測試,其中在字段中輸入的字符多于通常允許的字符數(shù)。

  • 網(wǎng)絡(luò)會話測試

某些Web瀏覽器要求用戶在加載網(wǎng)頁之前先登錄。測試人員可以執(zhí)行測試,嘗試在不事先登錄的情況下在應(yīng)用程序中打開網(wǎng)頁。

  • 合理的數(shù)據(jù)

某些程序和網(wǎng)頁具有合理限制的字段。測試人員可以進(jìn)行負(fù)面測試,在該字段中輸入無效數(shù)據(jù)。

正面測試和負(fù)面測試之間的區(qū)別

與負(fù)面測試相反,正面測試是一種軟件測試,可以確保應(yīng)用程序在正常情況下正常工作。下表概述了正面測試和負(fù)面測試之間的主要區(qū)別:

負(fù)面測試的好處

正面測試有其優(yōu)勢,但負(fù)面測試也有其重要的優(yōu)勢。以下是負(fù)面測試軟件應(yīng)用程序的一些好處:

  • 負(fù)面測試有助于識別Bug的錯誤處理

它可以避免因錯誤處理Bug而導(dǎo)致的應(yīng)用程序故障。它可以幫助確認(rèn)軟件代碼是否停止管理已經(jīng)編程的用例。它還可以防止客戶端無法訪問修復(fù)Bug所需數(shù)據(jù)的情況。

  • 它有助于識別安全方面可能存在的薄弱環(huán)節(jié)

負(fù)面測試允許確保客戶無法訪問計(jì)劃中的個(gè)人帳戶,以防不允許這樣做。它使測試人員能夠在必要時(shí)阻止一組用戶使用應(yīng)用程序的專門功能。

  • 它有助于維護(hù)干凈的數(shù)據(jù)庫

如果一個(gè)程序的數(shù)據(jù)庫只包含有效數(shù)據(jù),它就會處于良好狀態(tài)。負(fù)面測試可以增加應(yīng)用程序只存儲和顯示有效信息的可能性。

原文標(biāo)題:A Complete Guide to Negative Testing in Software Testing,作者:Vakul Gotra

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-11-23 15:57:40

測試開發(fā)Java

2011-04-18 17:03:59

動態(tài)測試軟件測試

2023-03-17 16:32:51

測試軟件開發(fā)

2021-11-28 15:15:13

軟件測試域測試開發(fā)

2010-06-13 15:26:42

2022-09-26 14:07:56

設(shè)計(jì)思維研發(fā)管理測試

2011-04-18 10:46:39

接口測試

2020-07-03 11:31:50

云計(jì)算測試云計(jì)算軟件測試

2011-04-18 12:52:37

自動化測試功能測試軟件測試

2023-02-09 16:48:12

軟件開發(fā)測試結(jié)對測試

2011-01-19 10:54:14

軟件評測師

2011-01-21 14:33:30

軟件測試

2022-08-09 11:10:06

網(wǎng)絡(luò)滲透測試安全漏洞

2012-03-13 09:04:31

開發(fā)軟件測試

2023-09-20 21:30:14

單元測試完全指南

2019-03-18 09:00:00

軟件測試軟件開發(fā)

2022-08-24 17:04:19

軟件測試數(shù)據(jù)集合測試效果

2009-07-01 16:01:48

軟件

2009-06-18 11:03:47

經(jīng)理 軟件測試 行業(yè)

2017-07-24 17:00:49

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號