49種軟體測試方法,你知道幾個?
β測試 _Beta測試
β測試,英文是 Beta testing。又稱 Beta測試,使用者驗收測試( UAT)。
β測試是軟體的多個使用者在一個或多個使用者的實際使用環境下進行的測試。開發者通常不在測試現場, Beta測試不能由程式設計師或測試員完成。
當開發和測試根本完成時所做的測試,而最終的錯誤和問題需要在最終發行前找到。這種測試一般由終端使用者或其他人員員完成,不能由程式設計師或測試員完成。
α測試 _Alpha測試
α測試,英文是 Alpha testing。又稱 Alpha測試。
Alpha測試是由一個使用者在開發環境下進行的測試,也可以是公司內部的使用者在模擬實際操作環境下進行的受控測試, Alpha測試不能由該系統的程式設計師或測試員完成。
在系統開發接近完成時對應用系統的測試;測試後,仍然會有少量的設計變更。這種測試一般由終端使用者或其他人員來完成,不能由程式設計師或測試員完成。
可移植性測試
可移植性測試,英文是Portability testing。又稱相容性測試。可移植性測試是指測試軟體是否可以被成功移植到指定的硬體或軟體平臺上。
使用者介面測試-UI測試
使用者介面測試,英文是User interface testing。又稱 UI測試。
使用者介面,英文是User interface。是指軟體中的可見外觀及其底層與使用者互動的部分(選單、對話方塊、視窗和其它控制元件)。
使用者介面測試是指測試使用者介面的風格是否滿足客戶要求,文字是否正確,頁面是否美觀,文字,圖片組合是否完美,操作是否友好等等。UI測試的目標是確保使用者介面會透過測試物件的功能來為使用者提供相應的訪問或瀏覽功能。確保使用者介面符合公司或行業的標準。包括使用者友好性、人性化、易操作性測試。
使用者介面測試使用者分析軟體使用者介面的設計是否合乎使用者期望或要求。它常常包括選單,對話方塊及對話方塊上所有按鈕,文字,出錯提示,幫助資訊(Menu和 Help content)等方面的測試。比如,測試 Microsoft Excel中插入符號功能所用的對話方塊的大小,所有按鈕是否對齊,字串字型大小,出錯資訊內容和字型大小,工具欄位置 /圖示等等。
冒煙測試
冒煙測試,英文是Smoke testing。
冒煙測試的名稱可以理解為該種測試耗時短,僅用一袋煙功夫足夠了。也有人認為是形象地類比新電路板功基本功能檢查。任何新電路板焊好後,先通電檢查,如果存在設計缺陷,電路板可能會短路,板子冒煙了。
冒煙測試的物件是每一個新編譯的需要正式測試的軟體版本,目的是確認軟體基本功能正常,可以進行後續的正式測試工作。冒煙測試的執行者是版本編譯人員。
隨機測試
隨機測試,英文是Ad hoc testing。
隨機測試沒有書面測試用例、記錄期望結果、檢查列表、指令碼或指令的測試。主要是根據測試者的經驗對軟體進行功能和效能抽查。隨機測試是根據測試說明書執行用例測試的重要補充手段,是保證測試覆蓋完整性的有效方式和過程。
隨機測試主要是對被測軟體的一些重要功能進行復測,也包括測試那些當前的測試樣例(TestCase)沒有覆蓋到的部分。另外,對於軟體更新和新增加的功能要重點測試。重點對一些特殊點情況點、特殊的使用環境、併發性、進行檢查。尤其對以前測試發現的重大 Bug,進行再次測試,可以結合迴歸測試 (Regressive testing)一起進行。
本地化測試
本地化測試,英文是Localization testing。
本地化就是將軟體版本語言進行更改,比如將英文的windows改成中文的 windows就是本地化。本地化測試的物件是軟體的本地化版本。本地化測試的目的是測試特定目標區域設定的軟體本地化質量。本地化測試的環境是在本地化的作業系統上安裝本地化的軟體。從測試方法上可以分為基本功能測試,安裝 /解除安裝測試,當地區域的軟硬體相容性測試。測試的內容主要包括軟體本地化後的介面佈局和軟體翻譯的語言質量,包含軟體、文件和聯機幫助等部分。
本地化能力測試
本地化能力測試,英文是Localizability testing。
本地化能力測試是指不需要重新設計或修改程式碼,將程式的使用者介面翻譯成任何目標語言的能力。為了降低本地化能力測試的成本,提高測試效率,本地化能力側是通常在軟體的偽本地化版本上進行。
本地化能力測試中發現的典型錯誤包括:字元的硬編碼(即軟體中需要本地化的字元寫在了程式碼內部),對需要本地化的字元長度設定了國定值,在軟體執行時以控制元件位置定位,圖示和點陣圖中包含了需要本地化的文字,軟體的使用者介面與文件術語不一致等。
國際化測試
國際化測試,英文是International testing。又稱國際化支援測試。
國際化測試的目的是測試軟體的國際化支援能力,發現軟體的國際化的潛在問題,保證軟體在世界不同區域都能正常執行。國際化測試使用每種可能的國際輸入型別,針對任何區域性或區域設定檢查產品的功能是否正常,軟體國際化測試的重點在於執行國際字串的輸入/輸出功能。國際化測試資料必須包含東亞語言、德語、複雜指令碼字元和英語(可選)的混合字元。
國際化支援測試是指驗證軟體程式在不同國家或區域的平臺上也能夠如預期的那樣執行,而且還可以按照原設計尊重和支援使用當地常用的日期,字型,文字表示,特殊格式等等。比如,用英文版的Windows XP和 Microsoft Word能否展示阿拉伯字串 ?用阿拉伯版的 Windows XP和阿拉伯版的 Microsoft Word能否展示阿拉伯字串 ?又比如,日文版的 Microsoft Excel對話方塊是否顯示正確翻譯的日語 ?一旦來說執行國際化支援測試的測試人員往往需要基本上了解這些國家或地區的語言要求和期望行為是什麼。
安裝測試
安裝測試,英文是Installing testing。
安裝測試是確保軟體在正常情況和異常情況下,例如,進行首次安裝、升級、完整的或自定義的安裝都能進行安裝的測試。異常情況包括磁碟空間不足、缺少目錄建立許可權等場景。核實軟體在安裝後可立即正常執行。安裝測試包括測試安裝程式碼以及安裝手冊。安裝手冊提供如何進行安裝,安裝程式碼提供安裝一些程式能夠執行的基礎資料。
白盒測試-結構測試 -邏輯驅動測試
白盒測試,英文是White Box Testing。又稱結構測試或者邏輯驅動測試。
白盒測試是把測試物件看作一個開啟的盒子。利用白盒測試法進行動態測試時,需要測試軟體產品的內部結構和處理過程,不需測試軟體產品的功能。
白盒測試法的覆蓋標準有邏輯覆蓋、迴圈覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。
白盒測試是知道產品內部工作過程,可透過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程式內部的結構測試程式,檢驗程式中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。
白盒測試常用工具有:Jtest、 VcSmith、 Jcontract、 C++Test、 CodeWizard、 logiscope。
黑盒測試-功能測試 -資料驅動測試
黑盒測試,英文是Black Box Testing。又稱功能測試或者資料驅動測試。
黑盒測試是根據軟體的規格對軟體進行的測試,這類測試不考慮軟體內部的運作原理,因此軟體對使用者來說就像一個黑盒子。軟體測試人員以使用者的角度,透過各種輸入和觀察軟體的各種輸出結果來發現軟體存在的缺陷,而不關心程式具體如何實現的一種軟體測試方法。
黑盒測試常用工具有:AutoRunner、 winrunner、 loadrunner。
自動化測試
自動化測試,英文是Automated Testing。
使用自動化測試工具來進行測試,這類測試一般不需要人干預,通常在GUI、效能等測試和功能測試中用得較多。透過錄制測試指令碼,然後執行這個測試指令碼來實現測試過程的自動化。國內領先的自動化測試服務提供商是澤眾軟體。自動化測試工具有 AutoRunner和 TAR等。
迴歸測試
迴歸測試,英文是Regression testing。
迴歸測試是指在發生修改之後重新測試先前的測試以保證修改的正確性。理論上,軟體產生新版本,都需要進行迴歸測試,驗證以前發現和修復的錯誤是否在新軟體版本上再次出現。
根據修復好了的缺陷再重新進行測試。迴歸測試的目的在於驗證以前出現過但已經修復好的缺陷不再重新出現。一般指對某已知修正的缺陷再次圍繞它原來出現時的步驟重新測試。通常確定所需的再測試的範圍時是比較困難的,特別當臨近產品釋出日期時。因為為了修正某缺陷時必需更改原始碼,因而就有可能影響這部分原始碼所控制的功能。所以在驗證修好的缺陷時不僅要服從缺陷原來出現時的步驟重新測試,而且還要測試有可能受影響的所有功能。因此應當鼓勵對所有迴歸測試用例進行自動化測試。
驗收測試
驗收測試,英文是Acceptance testing。
驗收測試是指系統開發生命週期方法論的一個階段,這時相關的使用者或獨立測試人員根據測試計劃和結果對系統進行測試和接收。它讓系統使用者決定是否接收系統。它是一項確定產品是否能夠滿足合同或使用者所規定需求的測試。
驗收測試一般有三種策略:正式驗收、非正式驗收活Alpha測試、 Beta測試。
動態測試
動態測試,英文是Moment Testing。
動態測試是指透過執行軟體來檢驗軟體的動態行為和執行結果的正確性。根據動態測試在軟體開發過程中所處的階段和作用,動態測試可分為如下幾個步驟:
1、單元測試
2、整合測試
3、系統測試
4、驗收測試
5、迴歸測試
探索測試
探索測試,英文是Exploratory Testing。
探索測試是指通常用於沒有產品說明書的測試,這需要把軟體當作產品說明書來看待,分步驟逐項探索軟體特性,記錄軟體執行情況,詳細描述功能,綜合利用靜態和動態技術來進行測試。探索測試人員只靠智慧、洞察力和經驗來對bug的位置進行判斷 ,所以探索測試又被稱為自由形式測試。
單元測試
單元測試,英文是Unit Testing。
單元測試是最微小規模的測試;以測試某個功能或程式碼塊。典型地由程式設計師而非測試員來做,因為它需要知道內部程式設計和編碼的細節知識。這個工作不容易做好,除非應用系統有一個設計很好的體系結構 ;還可能需要開發測試驅動器模組或測試套具。
整合測試
整合測試,英文是Integration Testing。
整合測試是指一個應用系統的各個部件的聯合測試,以決定他們能否在一起共同工作並沒有衝突。部件可以是程式碼塊、獨立的應用、網路上的客戶端或伺服器端程式。這種型別的測試尤其與客戶伺服器和分散式系統有關。一般整合測試以前,單元測試需要完成。
整合測試是單元測試的邏輯擴充套件。它的最簡單的形式是:兩個已經測試過的單元組合成一個元件,並且測試它們之間的介面。從這一層意義上講,元件是指多個單元的整合聚合。在現實方案中,許多單元組合成元件,而這些元件又聚合成程式的更大部分。方法是測試片段的組合,並最終擴充套件程式,將您的模組與其他組的模組一起測試。最後,將構成程式的所有模組一起測試。此外,如果程式由多個程式組成,應該成對測試它們,而不是同時測試所有程式。
整合測試識別組合單元時出現的問題。透過使用要求在組合單元前測試每個單元,並確保每個單元的生存能力的測試計劃,可以知道在組合單元時所發現的任何錯誤很可能與單元之間的介面有關。這種方法將可能發生的情況數量減少到更簡單的分析級別。
系統測試
系統測試,英文是System Testing。
系統測試是基於系統整體需求說明書的黑盒類測試,應覆蓋系統所有聯合的部件。系統測試是針對整個產品系統進行的測試,目的是驗證系統是否滿足了需求規格的定義,找出與需求規格不相符合或與之矛盾的地方。
系統測試的物件不僅僅包括需要測試的產品系統的軟體,還要包含軟體所依賴的硬體、外設甚至包括某些資料、某些支援軟體及其介面等。因此,必須將系統中的軟體與各種依賴的資源結合起來,在系統實際執行環境下來進行測試。
端到端測試
端到端測試,英文是End to End Testing。
端到端測試類似於系統測試,測試級的“宏大”的端點,涉及整個應用系統環境在一個現實世界使用時的模擬情形的所有測試。例如與資料庫對話,用網路通訊,或與外部硬體、應用系統或適當的系統對話。端到端架構測試包含所有訪問點的功能測試及效能測試。端到端架構測試實質上是一種 "灰盒 "測試,一種集合了白盒測試和黑盒測試的優點的測試方法。
健全測試
健全測試,英文是Sanity testing。
健全測試是指一個初始化的測試工作,以決定一個新的軟體版本測試是否足以執行下一步大的測試努力。例如,如果一個新版軟體每5分鐘與系統衝突,使系統陷於泥潭,說明該軟體不夠“健全”,目前不具備進一步測試的條件。
衰竭測試
衰竭測試,英文是Failure Testing。
衰竭測試是指軟體或環境的修復或更正後的“再測試”。可能很難確定需要多少遍再次測試。尤其在接近開發週期結束時。自動測試工具對這類測試尤其有用。
接受測試
接受測試,英文是Accept Testing。
接受測試是基於客戶或終端使用者的規格書的最終測試,或基於使用者一段時間的使用後,看軟體是否滿足客戶要求。一般從功能、使用者介面、效能、業務關聯性進行測試。
負載測試
負載測試,英文是Load testing。
負載測試是測試一個應用在重負荷下的表現。例如測試一個Web站點在大量的負荷下,何時系統的響應會退化或失敗,以發現設計上的錯誤或驗證系統的負載能力。在這種測試中,將使測試物件承擔不同的工作量,以評測和評估測試物件在不同工作量條件下的效能行為,以及持續正常執行的能力。
負載測試的目標是確定並確保系統在超出最大預期工作量的情況下仍能正常執行。此外,負載測試還要評估效能特徵,例如,響應時間、事務處理速率和其他與時間相關的方面。
強迫測試
強迫測試,英文是Force Testing。
強迫測試是在交替進行負荷和效能測試時常用的術語。也用於描述象在異乎尋常的過載下的系統功能測試之類的測試,如某個動作或輸入大量的重複,大量資料的輸入,對一個資料庫系統大量的複雜查詢等。
壓力測試
壓力測試,英文是Stress Testing。和負載測試差不多。
壓力測試是一種基本的質量保證行為,它是每個重要軟體測試工作的一部分。壓力測試的基本思路很簡單:不是在常規條件下執行手動或自動測試,而是在計算機數量較少或系統資源匱乏的條件下執行測試。通常要進行壓力測試的資源包括內部記憶體、CPU可用性、磁碟空間和網路頻寬等。一般用併發來做壓力測試。
效能測試
效能測試,英文是Performance Testing。
效能測試是在交替進行負荷和強迫測試時常用的術語。理想的“效能測試” (和其他型別的測試 )應在需求文件或質量保證、測試計劃中定義。效能測試一般包括負載測試和壓力測試。
通常驗證軟體的效能在正常環境和系統條件下重複使用是否還能滿足效能指標。或者執行同樣任務時新版本不比舊版本慢。一般還檢查系統記憶容量在執行程式時會不會流失(memory leak)。比如,驗證程式儲存一個巨大的檔案新版本不比舊版本慢。
可用性測試
可用性測試,英文是Practical Usability Testing。
可用性測試是對“使用者友好性”的測試。顯然這是主觀的,且將取決於目標終端使用者或客戶。使用者面談、調查、使用者對話的錄象和其他一些技術都可使用。程式設計師和測試員通常都不宜作可用性測試員。
解除安裝測試
解除安裝測試,英文是Uninstall Testing。
解除安裝測試是對軟體的全部、部分或升級解除安裝處理過程的測試。主要是測試軟體能否解除安裝,解除安裝是否乾淨,對系統有無更改,在系統中的殘留與後來的生成檔案如何處理等。還有原來更改的系統值是否修改回去。
恢復測試
恢復測試,英文是Recovery testing。
恢復測試是測試一個系統從如下災難中能否很好地恢復,如遇到系統崩潰、硬體損壞或其他災難性問題。恢復測試指透過人為的讓軟體(或者硬體)出現故障來檢測系統是否能正確的恢復,通常關注恢復所需的時間以及恢復的程度。
恢復測試主要檢查系統的容錯能力。當系統出錯時,能否在指定時間間隔內修正錯誤並重新啟動系統。恢復測試首先要採用各種辦法強迫系統失敗,然後驗證系統是否能儘快恢復。對於自動恢復需驗證重新初始化(reinitialization)、檢查點 (checkpointing mechanisms)、資料恢復 (data recovery)和重新啟動 (restart)等機制的正確性;對於人工干預的恢復系統,還需估測平均修復時間,確定其是否在可接受的範圍內。
安全測試
安全測試,英文是Security Testing。
安全測試是測試系統在防止非授權的內部或外部使用者的訪問或故意破壞等情況時怎麼樣。這可能需要複雜的測試技術。安全測試檢查系統對非法侵入的防範能力。安全測試期間,測試人員假扮非法入侵者,採用各種辦法試圖突破防線。例如:
①想方設法擷取或破譯口令;
②專門定做軟體破壞系統的保護機制;
③故意導致系統失敗,企圖趁恢復之機非法進入;
④試圖透過瀏覽非保密資料,推導所需資訊,等等。理論上講,只要有足夠的時間和資源,沒有不可進入的系統。因此係統安全設計的準則是,使非法侵入的代價超過被保護資訊的價值。此時非法侵入者已無利可圖。
相容性測試
相容測試,英文是Compatibility Testing。
相容測試是測試軟體在一個特定的硬體/軟體 /作業系統 /網路等環境下的效能如何。向上相容向下相容,軟體相容硬體相容。軟體的相容性有很多需要考慮的地方。
比較測試
比較測試,英文是Compare Testing。
比較測試是指與競爭夥伴的產品的比較測試,如軟體的弱點、優點或實力。來取長補短,以增強產品的競爭力。
可接受性測試
可接受性測試,英文是Acceptability Testing。
可接受性測試是在把測試的版本交付測試部門大範圍測試以前進行的對最基本功能的簡單測試。因為在把測試的版本交付測試部門大範圍測試以前應該先驗證該版本對於所測試的功能基本上比較穩定。必須滿足一些最低要求。比如不會很容易程式就掛起或崩潰。如果一個新版本沒透過可測試性的驗證,就應該阻攔測試部門花時間在該測試版本上測試。同時還要找到造成該版本不穩定的主要缺陷並督促儘快加以修正。
邊界條件測試
邊界條件測試,英文是Boudary Testing。又稱邊界值測試。
一種黑盒測試方法,適度等價類分析方法的一種補充,由長期的測試工作經驗得知,大量的錯誤是發生在輸入或輸出的邊界上。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。
邊界條件測試是環繞邊界值的測試。通常意味著測試軟體各功能是否能正確處理最大值,最小值或者所設計軟體能夠處理的最長的字串等等。
強力測試
強力測試,英文是Mightiness Testing。
強力測試通常驗證軟體的效能在各種極端的環境和系統條件下是否還能正常工作。或者說是驗證軟體的效能在各種極端環境和系統條件下的承受能力。比如,在最低的硬碟驅動器空間或系統記憶容量條件下,驗證程式重複執行開啟和儲存一個巨大的檔案1000次後也不會崩潰或當機。
裝配/安裝 /配置測試
裝配/安裝 /配置測試是驗證軟體程式在不同廠家的硬體上,所支援的不同語言的新舊版本平臺上,和不同方式安裝的軟體都能夠如預期的那樣正確執行。比如,把英文版的 Microsoft Office 2003安裝在韓文版的 Windows Me上,再驗證所有功能都正常執行。
靜態測試
靜態測試,英文是Static Testing。
靜態測試指測試不執行的部分,例如測試產品說明書,對此進行檢查和審閱。靜態方法是指不執行被測程式本身,僅透過分析或檢查源程式的文法、結構、過程、介面等來檢查程式的正確性。靜態方法透過程式靜態特性的分析,找出欠缺和可疑之處,例如不匹配的引數、不適當的迴圈巢狀和分支巢狀、不允許的遞迴、未使用過的變數、空指標的引用和可疑的計算等。靜態測試結果可用於進一步的查錯,併為測試用例選取提供指導。
靜態測試常用工具有:Logiscope、 PRQA。
隱藏資料測試
隱藏資料測試在軟體驗收和確認階段是十分必要和重要的一部分。程式的質量不僅僅透過使用者介面的視覺化資料來驗證,而且必須包括遍歷系統的所有資料。
假設一個應用程式要求使用者兩條資訊-----使用者名稱和密碼來建立帳戶。這個使用者輸入這兩條資料後儲存。最後,一個確認視窗將透過資料庫中找到這條資料來顯示使用者名稱和密碼給使用者。為了驗證所有的資料儲存是否正確,一個 QA測試人員會在這個確認視窗簡單的檢視下使用者名稱和密碼。如果他們成功了?假設資料庫記錄了第三條資訊 ----建立日期,它可能不會出現在確認視窗,而只在存檔中才出現。如果建立日期保留的不正確,而 QA測試人員只驗證螢幕上的資料,那麼這個問題就不可能被發現。建立日期可能就是一個 bug,由於一個使用者帳戶儲存了一個錯誤的日期到資料庫中,這個問題也不可能會被引起注意,因為它被使用者介面所隱藏。這只是一個簡單的例子,但是它卻演化出了一點:隱藏資料測試的重要性。
等價劃分測試
等價劃分測試的英文是equivalence partition testing。
等價劃分測試是根據等價類設計測試用例的一種技術。是黑盒測試的典型方法之一,透過把被測試程式所有可能的輸入資料域劃分成若干部分。從每一部分中選取少數有代表性的資料作為測試用例,可有效減少測試次數,極大提高軟體測試效率,縮短軟體開發週期.等價類劃分測試的目的就是為了在有限的測試資源的情況下,用少量有代表性的資料得到比較好的測試效果。有效等價類盒無效等價類。有效等價類中的資料代表的是一組符合需求文件的正確的有意義資料。無效等價類則正相反。
判定表
判定表的英文是decision table,是指一個表格,用於顯示條件和條件導致動作的集合。
定義:判定表是分析和表達多邏輯條件下執行不同操作的情況的工具。
判定表的優點:能夠將複雜的問題按照各種可能的情況全部列舉出來,簡明並避免遺漏。因此,利用判定表能夠設計出完整的測試用例集合。
在一些資料處理問題當中,某些操作的實施依賴於多個邏輯條件的組合,即:針對不同邏輯條件的組合值,分別執行不同的操作。判定表很適合於處理這類問題。
深度測試
深度測試的英文Depth test,是指執行一個產品的一個特性的所有細節,但不測試所有特性。
當比較函式返回真的時候才顯示出效果來。必須啟用“ #深度測試”,才能執行測試。不使用的時候需要關閉。
基於設計的測試
基於設計的測試的英文是design-based testing,是根據軟體的構架或詳細設計引出測試用例的一種方法。
一種基於設計模型的測試方法(Model Based TestIng System,MATIS).該方法利用使用者介面自動生成方法 ,把設計模型中的類屬性定義和實現中的控制元件屬性組織在一起 ,構建描述介面的邏輯對照表 ,輔助測試指令碼引擎執行自動測試指令碼 .藉助設計模型中擴充套件的類定義 ,MATIS方法可以自動生成測試用例和測試資料。
文件測試
文件測試的英文是documentation testing,測試關注於文件的正確性。文件測試有三大類分別是開發檔案、使用者檔案、管理檔案。
1.開發檔案:可行性研究報告、軟體需求說明書、資料要求說明書、概要設計說明書、詳細設計說明書、資料庫設計說明書、模組開發卷宗。
2.使用者檔案:使用者手冊、操作手冊。
3.管理檔案:專案開發計劃、測試計劃、測試分析報告、開發進度月報、專案開發總結報告。
軟體測試中的文件測試主要是對相關的設計報告和使用者使用說明進行測試,對於設計報告主要是測試程式與設計報告中的設計思想是否一致;對於使用者使用說明進行測試時,主要是測試使用者使用說明書中對程式操作方法的描述是否正確,重點是使用者使用說明中提到的操作例子要進行測試,保證採用的例子能夠在程式中正確完成操作。
域測試
域測試的英文是domain testing,定義參考等價劃分測試( equivalence partition testing);
一般分為單域測試和多域測試,其中單域測試包括裝置測試和業務測試,裝置測試包括測試某個系統的軟交換裝置、中繼媒體閘道器裝置、信令閘道器裝置、接入媒體閘道器和IAD等裝置。
等價類劃分有兩種不同的情況:有效等價類和無效等價類。設計時要同時考慮這兩種等價類,因為軟體不僅要能接收合理的資料,也要能經受意外的考驗。
一有效等價類:是指對於程式的規格說明來說是合理的、有意義的輸入資料構成的集合。利用有效等價類可檢驗程式是否實現了規格說明中所規定的功能和效能。
二無效等價類:與有效等價類的定義恰巧相反。
介面測試
介面測試的英文是interface testing,介面測試測試系統元件間介面的一種測試。介面測試的好處:由於介面測試程式碼本身就是用 junit(當然介面的型別不同,不一定是 Junit來實現)來實現的,是屬於自動化測試的範疇,因此必定也包含自動化測試所固有的優勢。
1)提高測試質量
軟體開發的過程是一個持續整合和改進的過程,而每一次的改進都可能引進新bug,因此當軟體的一部,或者全部修改時,都需要對軟體產品重新進行測試。其目的是要驗證修改後的產品是符合需求的,而當沒有自動化測試程式碼時,往往會由於各種各樣的原因,迴歸不充分,導致 bug遺漏。
2)提高測試效率
軟體系統的規模越來越大,功能點越來越多,開發人員的自測或者測試人員的人工測試非常耗時和繁瑣,勢必導致測試效率的低下,而自動化測試正好解決這些耗時繁瑣的任務,在對外介面功能不變的情況下,達到了一次編寫,永久使用的效果。
3)提高測試覆蓋
透過手工測試很難測試到一些更深層次的異常和安全的問題,透過一些輔助的一些測試工具,能分析出程式碼的覆蓋率,透過覆蓋率的提高來提高測試的深度。
4)更好地重現軟體缺陷
由於每次執行都是相同的程式碼,一旦程式碼出錯,必定迴歸出錯;
5)更好定位錯誤
由於介面測試是一種自下向上的測試,因此一量出錯,非常容易定位出錯,不向系統測試那樣了,一旦有Bug,需要幾層驗證之後才能確定出錯位置;
6)降低修改 bug的成本介面測試
基本和開發人員的編碼平行工作,因此發現問題會比系統測試早很多,因此減少了修改bug的成本。
7)增進測試人員和開發人員之間的合作關係
測試工程師為了更好地開展工作,需要對開發技術有深入的理解和實踐,有了與開發工程師更多的交流。
8)降低了專案不能按時釋出的風險
由於介面測試很早就介入,在提交給系統測試前對專案程式碼的核心模組已經做了詳盡的測試,必定加速系統測試的時間,由此來保證專案的按時釋出;
9)提升測試人員的技能
做介面測試必須瞭解開發人員的開發流程和一些開發技能,也需要了解測試工具的一些使用方法和一些測試思想,提升了測試人員的技術附加值,提高了自身的竟爭力。
10)促使專案開發過程的規範化
要進行介面,需要完善的文件進行保障,沒有測試文件,介面測試將寸步難行,介面測試將增加開發過程規範化產出,而規範化產出也保證了專案質量。
負面測試與正面測試的比較
負面測試(Negative testing)是相對於正面測試( Positive testing)而言的。它們也是測試設計時的兩個非常重要的劃分。簡單點說,正面測試就是測試系統是否完成了它應該完成的工作;而負面測試就是測試系統是否不執行它不應該完成的操作。形象一點,正面測試就象一個畢恭畢敬的小學生,老師叫我做什麼,我就做什麼;而負面測試就象一個調皮搗蛋的孩子,你叫我這樣做,我偏不這樣做,而且和你對著幹。開發人員也是最討厭修改此類 bug的。
非功能性需求測試
非功能性需求測試的英文是non-functional requirements testing,是與功能不相關的需求測試,如:效能測試、可用性測試等。
為什麼非功能性需求很重要?在您設計解決方案的過程中滿足功能性需求當然是很重要的。但是,如果沒有考慮非功能性需求,您的解決方案則很難取得實效。
非功能性需求特點:
1.不要脫離實際環境;
2.可靠性;
3.可用性;
4.有效性;
5.可維護性;
6.可移植性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2656914/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 總結49種軟體測試方法,你知道幾個?
- 軟體測試的五個目的,你知道幾個?
- 幾種軟體測試方法
- 作為一個軟體測試新手,你知道軟體測試的幾個方向嗎?
- 軟體測試中伺服器穩定性測試幾種方法伺服器
- 軟體測試這些你知道嗎?
- 五種方法建立java物件,你知道幾種呢?Java物件
- 你不知道的軟體測試那些事?
- 軟體測評中心▏軟體效能測試的這幾個誤區你一定要避免!!!
- Web滲透測試常用工具,你知道幾個?Web
- 軟體效能測試的幾個階段
- 實現單例模式的 9 種方法,你知道幾種?單例模式
- 滲透測試常見的9大漏洞,你知道幾個?
- 軟體測試學習 ——五種軟體測試模型模型
- 7個關於"this"面試題,你知道幾個?面試題
- 2022年你要知道的軟體測試工作流程
- 使用 JS 來動態操作 css ,你知道幾種方法?JSCSS
- React事件繫結幾種方法測試React事件
- 軟體測試教程之手機軟體測試方法
- 軟體測試的方法
- 幾種常見的效能測試方法概述
- 軟體測試職業發展的幾個階段
- 5種常見的黑客攻擊手段,你知道幾個?黑客
- 軟體測試主要種類大全
- 第三方軟體測評▏web測試和app測試的區別你知道嗎?WebAPP
- 軟體滲透測試有哪幾個測試階段?廣東靠譜的軟體測評中心推薦
- 軟體測試需求分析方法
- 軟體測試方法彙總
- 10道Linux常見面試題,你知道幾個?Linux面試題
- 測試伺服器頻寬的幾種方法伺服器
- 伺服器網路測試的幾種方法伺服器
- 軟體相容性測試包含哪幾種型別?相容性測試如何收費?型別
- 軟體效能測試有哪些測試方法?靠譜的軟體測試公司推薦
- 【網路安全】7種網路攻擊手段,你知道幾個?
- 面試官:說說你知道的幾種負載均衡分類面試負載
- 解放雙手——你知道軟體測試階段都有哪些主流自動化測試技術嗎?
- 作為軟體測試人員,這些常用的效能測試工具你一定要知道!!!
- 在分散式系統中,軟體測試工程師如何測試你不知道的東西?分散式工程師