軟件測試方法大匯總

軟件測試方法大匯總

軟件測試方法種類繁多,記憶起來混亂, 如果把軟件測試方法進行分類, 就會清晰很多。 我參考一些書籍和網上的資料, 把常用的軟件測試方法列出來, 讓大家對軟件測試行業有個總體的看法。

?

從測試設計方法分類

?

測試名稱

測試內容

Black box黑盒測試

把軟件系統當作一個“黑箱”,無法了解或使用系統的內部結構及知識。從軟件的行為,而不是內部結構出發來設計測試.

White box白盒測試

設計者可以看到軟件系統的內部結構,并且使用軟件的內部知識來指導測試數據及方法的選擇。

Gray box.? 灰盒測試

介于黑盒和白盒之間

?

總結:?? 實際工作中,對系統的了解越多越好。目前大多數的測試人員都是做黑盒測試,很少有做白盒測試的。 因為白盒測試對軟件測試人員的要求非常高,需要有很多編程經驗。做.NET程序的白盒測試你要能看得懂.NET代碼。做JAVA程序的測試,需要你能看懂JAVA的代碼。 如果你都能看懂了,你還會做測試么

?

從測試是手動還是自動上分類

?

測試名稱

測試內容

Manual Test 手動測試

測試人員用鼠標去手動測試 (測試GUI)

Automation 自動化測試

用程序測試程序 (測試API)

?

對于項目來說, 手動測試和自動化測試同等重要,都是保障軟件質量的方法。 目前大部分的項目組都是手動測試和自動化測試相結合。因為很多測試無法做成自動化,很多復雜的業務邏輯也很難自動化, 所以自動化測試無法取代手動測試。

對于軟件測試人員個人發展來說, 做自動化測試是個挑戰,也是測試人員發展的一個方向,? 需要測試人員學習大量的開發知識(開發的知識真是學無止境啊)。 從長遠角度來看,自動化測試肯定是越來越吃香的。

而手動測試比較適合剛工作不久的人,手動測試最大的缺點就是技術含量低,單調乏味,容易廢人。

?

總的來說,手工測試勝在測試業務邏輯,而自動化測試勝在測試底層架構。

?

如果被測試的程序可測試性比較好, 很有必要做成自動化測試。 能做自動化的盡量做成自動化, 下面這些情形是可以做自動化的

1.?? 測試存儲過程。? 例如用C#去測試存儲過程

2.?? 測試Web servies. 例如: 用SoupUI工具,或者C#,Java 去測試Web servies。

3.?? 界面和業務邏輯分離的系統,比如,MVC,MVP架構, 或者WPF 程序。 可以用測試腳本去測試這些程序的API。

?

從測試的目的分類

功能測試

測試的范圍從小到大,從內到外, 從程序開發人員(單元測試)到測試人員,到一般用戶Alpha/Beta測試

測試名稱

測試內容

Unit Test 單元測試

在最低的功能/參數上驗證程序的準確性,比如測試一個函數的正確性(開發人員做的)

Functional Test 功能測試

驗證模塊的功能? (測試人員做的)

Integration Test 集成測試

驗證幾個互相有依賴關系的模塊的功能 (測試人員做的)

Scenario Test? 場景測試

驗證幾個模塊是否能完成一個用戶場景 (測試人員做的)

System Test? 系統測試

對于整個系統功能的測試 (測試人員做的)

Alpha 測試

軟件測試人員在真實用戶環境中對軟件進行全面的測試 (測試人員做的)

Beta 測試

真實的用戶在真實的用戶環境中進行的測試, 也叫公測?? (最終用戶做的)

?

?

?

非功能測試

一個軟件除了基本功能之外,還有很多功能之外的特性,這些叫“Quality of Service requirement服務質量需求。沒有軟件的功能,這些特性都無從表現出來,因此,我們要在軟件開發的適當階段-基本功能完成后做這些測試。

?

測試名稱

測試內容

Stress test 壓力測試

驗證軟件在超過負載設計的情況下仍能返回正確的結果,沒有崩潰

Load test 負載測試

測試軟件在負載情況下能否正常工作

Performance test性能測試

測試軟件的效能,是否提供滿意的服務質量

Accessibility test

軟件輔助功能測試-測試軟件是否向殘疾用戶提供足夠的輔助功能

Localization/Globalization

本地化/全球化測試

Compatibility Test

兼容性測試

Configuration Test

配置測試-測試軟件在各種配置下能否正常工作

Usability Test

可用性測試測試軟件是否好用

Security Test

軟件安全性測試

?

性能測試

性能測試要求測試人員熟練性能測試工具,比如QTP, LoadRunner, Jmeter。? Visual Studio也提供了很多性能測試的工具. 要求測試人員對低層協議非常理解和編寫腳本

性能測試非常有技術含量, 很有發展前途, 是軟件測試人員的一個職業發展方向。

?

安全性測試

安全性測試的內容很廣, 非常有難度啊。 我只接觸過XSS(跨站腳本攻擊)和SQL注入攻擊。

安全性測試非常有技術含量, 我認為也是軟件測試人員的一個職業發展方向

?

?

按測試的時機和作用分類

?

在開發軟件的過程中,不少測試起著“烽火臺”的作用,它們告訴我們軟件開發的流程是否暢通。

?

測試名稱

測試內容

Smoke Test

冒煙”如果測試不通過,則不能進行下一步工作

Build Verification Test(BVT)

驗證構建是否通過基本測試。

Acceptance Test

驗收測試,為了全面考核某功能/特性而做的測試

?

BVT測試是一種Smoke Test, 指Build生成好之后,自動運行的自動化測試腳本來檢查這個Build的基本功能。 如果BVT測試失敗了,需要開發人員馬上修改,重新生成Build

?

?

?

按測試測策略分類。

?

測試名稱

測試內容

Regression Test 回歸測試

對一個新的版本,重新運行以往的測試用例,看看新版本和已知的版本相比是否有退化 (regression)

Ad hoc Test 探索性測試

隨機進行的,探索性的測試。

Santiy Test

粗略的測試, 只需要執行部分的測試用例

?

Regression Test 回歸測試:  

對軟件測試人員來說就是重復測試,所以回歸測試最好是自動化的, 否則測試人員就要一遍又一遍地重復測試, 

1. 開發人員做些小改動,就需要測試人員做回歸測試。確保現有的功能沒有被破壞

2. Bug Fix 也需要回歸測試,確保新的代碼修復了Fix, 也確保現有的功能沒有被破壞

3. 項目后期,需要做一個完整回歸測試, 確保所有的功能都是好的

?

Ad hoc Test 探索性測試:?

平常我最喜歡做隨機測試了, 拋開test case.? 自己按照自己的思路,隨便點點。 如果測試GUI,Ad hoc能發現大量的bug.

?

----by 小坦克 http://home.cnblogs.com/u/TankXiao/?

轉載于:https://www.cnblogs.com/we1700/archive/2012/02/20/2359113.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379930.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379930.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379930.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

web安全----xss工具使用3

XSSer 0x01 安裝 環境:kali、python3(必須是python3,kali默認為python2) 安裝步驟: git clone https://github.com/epsylon/xsser.git cd xsser sudo python3 setup.py install 使用命令: xsser -h查看…

Java——多線程(死鎖)

死鎖是指:兩個或兩個以上的進程在執行過程中,由于競爭資源或者由于彼此通信而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處于死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱為死鎖進…

c# 前導0_C#| 用前導零填充整數

c# 前導0To pad an integer number with leading zero, we can use String.Format() method which is library method of String class in C#. 要用前導零填充整數,我們可以使用String.Format()方法,該方法是C#中String類的庫方法。 using S…

走到盡頭的技術-MVC

MVC技術是一種WebApplication設計技術,相比于傳統Web應用程序,MVC可以使程序結構更加清晰,他采用 Model,View,Controller 來管理和架構我們的Web資源,將不同的請求(request)導向不同…

Search Engine -垂直搜索小匯總

FilesTube: 共享文件搜索引擎,文件來自:Rapidshare, MegaUpload, Megashares, YouSendIt, SaveFile, FileFront和Badongo等很多文件儲存網站,支持的文件格式包括:AVI, MP3, MPEG, MPG, RAR, WMA, WMV, EXE, ZIP等,主要為媒體格式,不支持中文 Picsearch:專業圖片搜索引擎,中文界…

Java——多線程(線程安全問題)

同步為安全,不同步為不安全;也就是有synchronized這個標識符,就為線程安全,反之,為線程不安全。 ①Vector是線程安全的 ②StringBuffer是線程安全的 ③Hashtable是線程安全的 Collections.synchronized(xxx)&#…

web安全---XSS利用平臺BLUE-LOTUS安裝與使用

0x01 安裝 環境:windows、phpstudy 下載地址:https://gitee.com/gid1314/BlueLotus_XSSReceiver-master 下載后將文件解壓,重命名為blue,放在www目錄下 訪問:http://IP/blue 點擊安裝 這里只需要修改后臺登陸密碼和…

C#Convert.ToInt32(bool)方法-將bool值轉換為int

C#Convert.ToInt32(bool)方法 (C# Convert.ToInt32(bool) Method) Convert.ToInt32(bool) Method is used to convert a specific Boolean (bool) value to its equivalent integer (int 32 signed number). Convert.ToInt32(bool)方法用于將特定的布爾值(布爾值)轉…

配置Microsoft Visual SourceSafe 2005的Internet訪問

配置Microsoft Visual SourceSafe 2005的Internet訪問 VSS2005發布以后,早就聽說可以支持Internet訪問,這是一個很有意思的特性。前兩天有空,就安裝配置了一下,成功訪問。現在安裝過程發布出來,大家共享。 步驟0&…

使用delphi 開發多層應用(十)安全訪問服務器

前面講了如何建立和訪問服務器,但是前面建的服務器都沒有安全控制,這里有很大的安全問題,第一是任何人做一個客戶端都可以都可以訪問 服務器。第二是數據在網絡傳輸過程中都是明碼的,沒有加密,使用網絡偵聽器就可以檢測到傳輸的內容。這是一個…

數組push()方法以及JavaScript中的示例

JavaScript push()方法 (JavaScript push() method) push() method is used adds/inserts an element at the end of an array, it returns nothing but changes the length of the array. push()方法用于在數組末尾添加/插入元素,它只返回改變數組的長度&#xff0…

C——整除的尾數

Problem Description 一個整數&#xff0c;只知道前幾位&#xff0c;不知道末二位&#xff0c;被另一個整數除盡了&#xff0c;那么該數的末二位該是什么呢&#xff1f; Input 輸入數據有若干組&#xff0c;每組數據包含二個整數a&#xff0c;b&#xff08;0< a<10000…

web安全---瀏覽器解析提交數據的過程

解碼規則 html解析器對html文檔進行解析&#xff0c;完成解析并創建DOM樹JavaScript或者CSS解析器對內聯腳本進行解析&#xff0c;完成js、css解碼url解碼會根據url所在的順序不同而在JS解碼或者解碼后 解碼順序 html解析第一步執行&#xff0c;而JS解析和URL解析則要根據情…

commons-lang的FastDateFormat性能測試

commons-lang的FastDateFormat是一個thread-safe的&#xff0c;對SimpleDateFormat的一個重新實現。 SimpleDateFormat為什么不是thread-safe的呢&#xff1f;看一下具體實現就知道了&#xff0c;其父類中定義了成員變量Calendar&#xff0c;每次格式化日期時都會先重置這個Cal…

C——Flowers

Problem Description As you know, Gardon trid hard for his love-letter, and now he’s spending too much time on choosing flowers for Angel. When Gardon entered the flower shop, he was frightened and dazed by thousands kinds of flowers. “How can I choose!”…

include函數_include()函數以及JavaScript中的示例

include函數includes() is a predefined function in JavaScript, which is used to check whether a given element exists in the array or not? include()是JavaScript中的預定義函數&#xff0c;用于檢查數組中是否存在給定元素&#xff1f; Example: 例&#xff1a; &l…

利用POI創建OpenOffice中的Excel文件

之所以稱為OpenOffice的Excel文件,我發現了一個特點就是: 一些網站嚴格限定了文件必須為MS的Excel格式的話,用POI的HSSF創建的Excel就會不識別.不知道是什么原因,可能是版本的問題,據說HSSF(令人討厭的電子表格格式)生成的是MS97的格式.但是97-2003的提示中明顯的說明了MS的lib…

批處理文章集錦

http://www.5dmail.net/html/2005-10-17/20051017181702.htmhttp://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html轉載于:https://www.cnblogs.com/Jessy/archive/2012/02/29/2372955.html

web安全-----CSRF漏洞

簡述 CSRF&#xff1a;Cross-site request -forgery&#xff0c;跨站請求偽造&#xff0c;是一種web攻擊方式&#xff0c;是由于網站的cookie在瀏覽器中不會過期&#xff0c;只要不關閉瀏覽器或者退出登錄&#xff0c;那以后只要訪問這個網站&#xff0c;都會默認你已經登錄。…

java math 類_Java Math類靜態長輪(double d)示例

java math 類數學課靜態長回合(雙D) (Math Class static long round(double d) ) This method is available in java.lang package. 此方法在java.lang包中可用。 This method is used to return the closest long value to the given argument. 此方法用于將最接近的long值返回…