當前位置:首頁 » 網頁前端 » web白盒測試工具
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web白盒測試工具

發布時間: 2022-05-05 11:42:56

1. 測試軟體的常用的工具軟體有哪些

在測試工作中,需要接觸到各種類型的測試工具。一般來說,有以下一些類型的工具:
測試管理工具:可以幫助完成測試計劃、跟蹤測試運行結果等的工具。這類工具還包括有助於需求、設計、編碼測試及缺陷跟蹤的工具;
靜態分析工具:分析代碼而不執行代碼。這種工具檢測某些缺陷比用其它方法更有效,開銷也更小。這種工具一般可以度量代碼的各種指標,如McCabe測定復雜度,Logiscope度量代碼和規范的復合度等等;
覆蓋率工具:這種工具評估通過一系列測試後,軟體被執行的程度。這種工具大量的被應用於單元測試中,如PureCoverage、TrueCoverage、Logiscope等;
動態分析工具:這種工具評估正在運行的系統。例如,檢查系統運行過程中的內存使用情況,是否有內存越界、內存泄露等等,這類工具有Purify、BoundChecker等;
測試執行工具:這類工具可使測試能夠自動化進行,並且各個層次(單元測試、集成測試、系統測試)的執行工具都有。例如系統測試階段有功能測試自動化工具,如Robot、Winrunner、SilkTest等;還有性能測試工具,如Loadrunner、SilKPerformer等。
白盒測試工具主要有:
內存資源泄漏檢查:Numega中的bouncechecker,Rational的Purify
代碼覆蓋率檢查:Numega中的truecoverage,Rational的Purecoverage,Telelogic公司的logiscope,Macabe公司的Macabe
代碼性能檢查:Numega中的truetime,Rational的Quantify
代碼靜態度量分析質量檢查工具:logiscope和Macabe
黑盒測試工具主要有:
客戶端功能測試:MI公司的winrunner,compuware的qarun,Rational的robot
伺服器端壓力性能測試:MI公司的winload,compuware的qaload,Rational的SQAload等等
Web測試工具:MI公司的Astra系列,rsw公司的e-testsuite
測試管理工具:rational的testmanager,compuware的qadirector等
缺陷跟蹤工具:trackrecord,Testtrack
單元測試工具:
測試框架:delphinitjavajunitc++cppunit

2. web測試方法有哪些測試技術又有哪些軟體測試工具又有哪些呢,優劣勢分別是什麼

web網站本質上帶有web伺服器和客戶端瀏覽器的C/S結構的應用程序。主要考慮web頁面、TCP/IP通訊、Internet鏈接、防火牆和運行在 web頁面上的一些程序(例如,applet、javascrīpt、應用程序插件),以及運行在伺服器端的應用程序(例如,CGI腳本資料庫介面、日誌程序、動態頁面產生器,asp等)。另外,因為伺服器和瀏覽器類型很多,不同版本差別很小,但是表現出現的結果卻不同,連接速度以及日益迅速的技術和多種標准、協議。使得web測試成為一項正在不斷研究的課題。其它要考慮的如下:

1、伺服器上期望的負載是多少(例如,每單位時間內的點擊量),在這些負載下應該具有什麼樣的性能(例如,伺服器反應時間,資料庫查詢時間)。性能測試需要什麼樣的測試工具呢(例如,web負載測試工具,其它已經被採用的測試工具,web 自動下載工具,等等)?

2、系統用戶是誰?他們使用什麼樣的瀏覽器?使用什麼類型的連接速度?他們是在公司內部(這樣可能有比較快的連接速度和相似的瀏覽器)或者外部(這可能有使用多種瀏覽器和連接速度)?

3、在客戶端希望有什麼樣的性能(例如,頁面顯示速度?動畫、applets的速度等?如何引導和運行)?

4、允許網站維護或升級嗎?投入多少?

5、需要考慮安全方面(防火牆,加密、密碼等)是否需要,如何做?怎麼能被測試?需要連接的Internet網站可靠性有多高?對備份系統或冗餘鏈接請求如何處理和測試?web網站管理、升級時需要考慮哪些步驟?需求、跟蹤、控制頁面內容、圖形、鏈接等有什麼需求?

6、需要考慮哪種HTML規范?多麼嚴格?允許終端用戶瀏覽器有哪些變化?

7、頁面顯示和/或圖片占據整個頁面或頁面一部分有標准或需求嗎?

8、內部和外部的鏈接能夠被驗證和升級嗎?多久一次?

9、產品系統上能被測試嗎?或者需要一個單獨的測試系統?瀏覽器的緩存、瀏覽器操作設置改變、撥號上網連接以及Internet中產生的「交通堵塞」問題在測試中是否解決,這些考慮了嗎?

10、伺服器日誌和報告內容能定製嗎?它們是否被認為是系統測試的主要部分並需要測試嗎?

11、CGI程序、applets、javascrīpts、ActiveX 組件等能被維護、跟蹤、控制和測試嗎?

測試技術大體分為黑盒和白盒測試,當然有的還用灰盒測試。
而功能、性能、用戶界面、兼容性、安全測試都屬於測試方法。大部分的測試是手動的,用基本的辦公軟體就可以解決;部分白盒測試需要了解程序內部的語句、數據結構和演算法邏輯。
現在企業認同的高名氣軟體就是功能測試工具:QTP 性能測試工具:LOADRUNNER
bug追蹤、記錄工具:Bugfree、Bugzilla、TD等,用一個即可。
而QTP和LOADRUNNER是性能非常龐大的軟體,如果可以熟練的分析出錄制的內容,那麼就入門了。可以運用到工作上。
說道這些軟體的劣勢,就是實現自動化需要這個團隊購買正版軟體、組織和培訓組內成員進行新知識的培訓。這些都是成本的一部分。

3. Web測試的主要內容和測試方法有哪些


測試分類:


1、界面測試

1)給用戶的整體感:舒適感;憑感覺能找到想要找的信息;設計風格是否一致

2)各控制項的功能

2、功能測試

1)刪除/增加某一項:是否對其他項造成影響,這些影響是否都正確

2)列表默認值檢查

3)檢查按鈕功能是否正確:新建、編輯、刪除、關閉、返回、保存、導入、上一頁、下一頁、頁面跳轉、重置(常見錯誤)

4)字元串長度檢查:超出長度

5)字元類型檢查

6)標點符號檢查:空格、各種引號、Enter鍵

7)特殊字元:常見%、「、」

8)中文字元:是否亂碼

9)檢查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息與添加信息是否一致

10)信息重復:需唯一信息處,比如重復的名字或ID、重名是否區分大小寫、加空格

11)檢查刪除功能:不選擇任何信息,按Delete,看如何處理;選擇一個或多個進行刪除;多頁選、翻頁選刪除;刪除是否有提示

12)檢查添加和修改是否一致:添加必填項,修改也該必填;添加為什麼類型,修改也該什麼類型

13)檢查修改重名:修改時把不能重名的項改為已存在的內容

14)重復提交表單:一條已經成功提交的記錄,返回後再提交

15)檢查多次使用返回鍵:返回到原來頁面,重復多次

16)搜索檢查:存在或不存在內容,看搜索結果是否正確;多個搜索條件,同時輸入合理和不合理條件;特殊字元

17)輸入信息的位置

18)上傳下載文件檢查:功能是否實現,

上傳:上傳文件是否能打開、格式要求、系統是否有解釋信息、將不能上傳的文件格式修改後綴為可上傳的文件格式;

下載:下載是否能打開、保存、格式要求

19)必填項檢查:必填項未填寫;是否有提示,如加*;對必填項提示返回後,焦點是否自動定位到必填項

20)快捷鍵檢查:是否支持快捷鍵Ctrl+C、Ctrl+V、backspace;對不允許做輸入的欄位(如:下拉選項),對快捷方式是否也做了限制

21)Enter鍵檢查:輸入結束後按Enter鍵,系統如何處理

22)刷新鍵檢查:按瀏覽器刷新鍵如何處理

23)回退鍵檢查:按瀏覽器回退鍵如何處理

24)空格檢查:輸入項輸入一個或多個空格

25)輸入法半形全形檢查:比如,浮點型,輸入全形小數點「。」或「. 」,如4. 5;全形空格

26)密碼檢查:輸入加密方式的極限字元;密碼盡可能長

27)用戶檢查:不同種類管理員用戶的不同許可權,是否可以互相刪除、管理、編輯;一般用戶的許可權;注銷功能,老用戶注銷再注冊,是否為新用戶

28)系統數據檢查:數據隨業務過程、狀態的變化保持正確,不能因為某個過程出現垃圾數據,也不能因為某個過程而丟失數據。

29)系統可恢復性檢查:以各種方式把系統搞癱,測試系統是否可以迅速恢復

30)確認提示檢查:系統更新、刪除操作:是否有提示、取消操作;提示是否准確;事前、事後提示

31)數據注入檢查:對資料庫注入,特殊字元,對SQL語句進行破壞

32)時間日期檢查:時間、日期、時間驗證:日期范圍是否符合實際業務;對於不符合實際業務的日期是否有限制

33)多瀏覽器驗證

3、性能測試

1)壓力測試:實際破壞一個Web應用系統,測試系統的反應,測試系統的限制和故障恢復能力

2)負載測試:在某一負載級別上的性能,包括某個時刻同時訪問Web的用戶數量、在線數據處理的數量

3)強度測試:測試對象在性能行為異常或極端條件下(如資源減少或用戶過多)的可接受性,以此驗證系統軟硬體水平

4)資料庫容量測試:通過存儲過程往資料庫表中插入一定數量的數據,看是否能及時顯示

5)預期指標的性能測試:在需求分析和設計階段會提出一些性能指標,對於預先確定的性能要求要首先進行測試

6)獨立業務性能測試:對核心業務模塊做用戶並發測試,包括同一時刻進行完全一樣的操作、同一時刻使用完全一樣的功能

7)組合業務性能測試:模擬多用戶的不同操作,最接近實際用戶使用情況,按用戶實際的實際使用人數比例來模擬各個模塊的組合並發情況

8)疲勞強度性能測試:系統穩定運行情況下,以一定負載壓力來長時間運行系統的測試

9)網路性能測試:准確展示帶寬、延遲、負載、埠的變化是如何影響用戶的相應時間的

10)大數據量性能測試:實時大數據量,模擬用戶工作時的實時大數據量;極限狀態下的測試,系統使用一段時間,積累一段數據量時能否正常運行,以及對前面兩種進行結合

11)伺服器性能測試:在進行用戶並發性能測試、疲勞強度、大數據量性能測試時,完成對伺服器性能的監控,並進行評估

12)一些特殊的測試:配置測試、內存泄漏的一些特殊測試

4、可用性測試(介面測試)

1)整體界面測試

2)多媒體測試

3)導航測試

5、客戶端兼容性

平台測試:windows;unix;macintosh;linux

瀏覽器測試:不同廠商的瀏覽器對Java、Javascript、ActiveX、plug-ins或不同的HTML的規格

不同的支持;框架和層次結構在不同瀏覽器也不同的顯示

6、安全性

安全性測試要求:

1)能夠對密碼試探工具進行防範

2)能夠防範對Cookie攻擊的常用手段

3)敏感數據保證不用明文傳輸

4)能防範通過文件名猜測和查看html文件內容獲取重要信息

5)能保證在網站收到工具後在給定時間內恢復,重要數據丟失不超過1小時



web的性能測試工具:



隨著Web2.0技術的迅速發展,許多公司都開發了一些基於Web的網站服務,通常在設計開發Web應用系統的時候很難模擬出大量用戶同時訪問系統的實際情況。

因此,當Web網站遇到訪問高峰時,容易發生伺服器響應速度變慢甚至服務中斷。

為了避免這種情況,需要一種能夠真實模擬大量用戶訪問Web應用系統的性能測試工具進行壓力測試,來測試靜態HTML頁面的響應時間,甚至測試動態網頁(包括ASP、PHP、JSP等)的響應時間,為伺服器的性能優化和調整提供數據依據。


1、企業級自動化測試工具WinRunner



MercuryInteractive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。



2、工業標准級負載測試工具Loadrunner

LoadRunner是一種預測系統行為和性能的負載測試工具



3、全球測試管理系統testdirector



TestDirector是業界第一個基於Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。



4、功能測試工具RationalRobot



IBMRationalRobot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。

它集成在測試人員的桌面IBMRationalTestManager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。

這種測試和管理的雙重功能是自動化測試的理想開始。



5、單元測試工具xUnit系列



目前的最流行的單元測試工具是xUnit系列框架,常用的根據語言不同分為JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。

該測試框架的第一個和最傑出的應用就是由ErichGamma(《設計模式》的作者)和KentBeck(XP(ExtremeProgramming)的創始人)提供的開放源代碼的JUnit.



6、功能測試工具SilkTest



BorlandSilkTest2006屬於軟體功能測試工具,是Borland公司所提出軟體質量管理解決方案的套件之一。

這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。



7、性能測試工具WAS



是由微軟的網站測試人員所開發,專門用來進行實際網站壓力測試的一套工具。

透過這套功能強大的壓力測試工具,您可以使用少量的Client端計算機模擬大量用戶上線對網站服務所可能造成的影響。



8、自動化白盒測試工具Jtest


Jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。

parasoft同時出品的還有C++test,是一款C/C++白盒測試工具。



9、功能和性能測試的工具JMeter



JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現。



10、性能測試和分析工具WEBLOAD



webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。



(3)web白盒測試工具擴展閱讀:


漏洞測試



企業網站做的越來越復雜、功能越來越強。不過這些都不是憑空而來的,是通過代碼堆積起來的。如果這個代碼只供企業內部使用,那麼不會帶來多大的安全隱患。

但是如果放在互聯網上使用的話,則這些為實現特定功能的代碼就有可能成為攻擊者的目標。

天眼舉一個簡單的例子。在網頁中可以嵌入SQL代碼。而攻擊者就可以利用這些SQL代碼來發動攻擊,來獲取管理員的密碼等等破壞性的動作。

有時候訪問某些網站還需要有某些特定的控制項。用戶在安裝這些控制項時,其實就有可能在安裝一個木馬(這可能訪問者與被訪問者都沒有意識到)。


為此在為網站某個特定功能編寫代碼時,就要主動出擊。從編碼的設計到編寫、到測試,都需要認識到是否存在著安全的漏洞。

天眼在日常過程中,在這方面對於員工提出了很高的要求。各個員工必須對自己所開發的功能負責。

已知的病毒、木馬不能夠在所開發的插件中有機可乘。通過這層層把關,就可以提高代碼編寫的安全性。

4. 軟體測試工具有哪些

測試工具一般可分為白盒測試工具、黑盒測試工具、性能測試工具,另外還有用於測試管理(測試流程管理、缺陷跟蹤管理、測試用例管理)的工具,這些產品主要是MercuryInteractive(MI)、Segue、IBM Rational、 Compuware和Empirix等公司的產品,而MI公司的產品佔了主流。白盒測試工具白盒測試工具一般是針對代碼進行測試,測試中發現的缺陷可以定位到代碼級,根據測試工具原理的不同,又可以分為靜態測試工具和動態測試工具。靜態測試工具:直接對代碼進行分析,不需要運行代碼,也不需要對代碼編譯鏈接,生成可執行文件。靜態測試工具一般是對代碼進行語法掃描,找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成系統的調用關系圖等。靜態測試工具的代表有:Telelogic公司的Logiscope軟體;PR公司的PRQA軟體。動態測試工具:動態測試工具與靜態測試工具不同,動態測試工具的一般採用"插樁"的方式,向代碼生成的可執行文件中插入一些監測代碼,用來統計程序運行時的數據。其與靜態測試工具最大的不同就是動態測試工具要求被測系統實際運行。動態測試工具的代表有:Compuware公司的DevPartner軟體;Rational公司的Purify系列等。黑盒測試工具黑盒測試工具適用於黑盒測試的場合,黑盒測試工具包括功能測試工具和性能測試工具。黑盒測試工具的一般原理是利用腳本的錄制(Record)/回放(Playback),模擬用戶的操作,然後將被測系統的輸出記錄下來同預先給定的標准結果比較。黑盒測試工具可以大大減輕黑盒測試的工作量,在迭代開發的過程中,能夠很好地進行回歸測試。黑盒測試工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。性能測試工具專用於性能測試的工具包括有:Radview公司的WebLoad;Microsoft公司的 WebStress等工具;針對資料庫測試的TestBytes;對應用性能進行優化的EcoScope等工具。 MercuryInteractive的LoadRunner是一種適用於各種體系架構的自動負載測試工具,它能預測系統行為並優化系統性能。LoadRunner的測試對象是整個企業的系統,它通過模擬實際用戶的操作行為和實行實時性能監測,來幫助您更快的查找和發現問題。測試管理工具測試管理工具用於對測試進行管理。一般而言,測試管理工具對測試計劃、測試用例、測試實施進行管理,並且,測試管理工具還包括對缺陷的跟蹤管理。測試管理工具的代表有:Rational公司的Test Manager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等軟體。 滿意的話請採納!

5. java script 開發的web網站,應該用什麼白盒測試工具

firefox 的firebug組件

6. 學習軟體測試現在比較常用的測試軟體是什麼

軟體測試,現在比較常用的40軟體是什麼呢?

7. 目前常用的軟體測試工具有那些

主流軟體測試工具介紹

測試工具一般可分為白盒測試工具、黑盒測試工具、性能測試工具,另外還有用於測試管理(測試流程管理、缺陷跟蹤管理、測試用例管理)的工具,這些產品主要是MercuryInteractive(MI)、Segue、IBM Rational、 Compuware和Empirix等公司的產品,而MI公司的產品佔了主流。

白盒測試工具

白盒測試工具一般是針對代碼進行測試,測試中發現的缺陷可以定位到代碼級,根據測試工具原理的不同,又可以分為靜態測試工具和動態測試工具。

靜態測試工具:直接對代碼進行分析,不需要運行代碼,也不需要對代碼編譯鏈接,生成可執行文件。靜態測試工具一般是對代碼進行語法掃描,找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成系統的調用關系圖等。靜態測試工具的代表有:Telelogic公司的Logiscope軟體;PR公司的PRQA軟體。

動態測試工具:動態測試工具與靜態測試工具不同,動態測試工具的一般採用"插樁"的方式,向代碼生成的可執行文件中插入一些監測代碼,用來統計程序運行時的數據。其與靜態測試工具最大的不同就是動態測試工具要求被測系統實際運行。動態測試工具的代表有:Compuware公司的DevPartner軟體;Rational公司的Purify系列等。

黑盒測試工具

黑盒測試工具適用於黑盒測試的場合,黑盒測試工具包括功能測試工具和性能測試工具。黑盒測試工具的一般原理是利用腳本的錄制(Record)/回放(Playback),模擬用戶的操作,然後將被測系統的輸出記錄下來同預先給定的標准結果比較。黑盒測試工具可以大大減輕黑盒測試的工作量,在迭代開發的過程中,能夠很好地進行回歸測試。黑盒測試工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。

性能測試工具

專用於性能測試的工具包括有:Radview公司的WebLoad;Microsoft公司的WebStress等工具;針對資料庫測試的TestBytes;對應用性能進行優化的EcoScope等工具。 MercuryInteractive的LoadRunner是一種適用於各種體系架構的自動負載測試工具,它能預測系統行為並優化系統性能。LoadRunner的測試對象是整個企業的系統,它通過模擬實際用戶的操作行為和實行實時性能監測,來幫助您更快的查找和發現問題。

測試管理工具

測試管理工具用於對測試進行管理。一般而言,測試管理工具對測試計劃、測試用例、測試實施進行管理,並且,測試管理工具還包括對缺陷的跟蹤管理。測試管理工具的代表有:Rational公司的Test Manager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等軟體。

8. 關於軟體測試問題

在測試工作中,需要接觸到各種類型的測試工具。一般來說,有以下一些類型的工具:
測試管理工具:可以幫助完成測試計劃、跟蹤測試運行結果等的工具。這類工具還包括有助於需求、設計、編碼測試及缺陷跟蹤的工具;
靜態分析工具:分析代碼而不執行代碼。這種工具檢測某些缺陷比用其它方法更有效,開銷也更小。這種工具一般可以度量代碼的各種指標,如McCabe測定復雜度,Logiscope度量代碼和規范的復合度等等;
覆蓋率工具:這種工具評估通過一系列測試後,軟體被執行的程度。這種工具大量的被應用於單元測試中,如PureCoverage、TrueCoverage、Logiscope等;
動態分析工具:這種工具評估正在運行的系統。例如,檢查系統運行過程中的內存使用情況,是否有內存越界、內存泄露等等,這類工具有Purify、BoundChecker等;
測試執行工具:這類工具可使測試能夠自動化進行,並且各個層次(單元測試、集成測試、系統測試)的執行工具都有。例如系統測試階段有功能測試自動化工具,如Robot、Winrunner、SilkTest等;還有性能測試工具,如Loadrunner、SilKPerformer等。

白盒測試工具主要有:
內存資源泄漏檢查:Numega中的bouncechecker,Rational的Purify
代碼覆蓋率檢查:Numega中的truecoverage,Rational的Purecoverage,Telelogic公司的logiscope, Macabe公司的Macabe
代碼性能檢查:Numega中的truetime,Rational的Quantify
代碼靜態度量分析質量檢查工具:logiscope和Macabe

黑盒測試工具主要有:
客戶端功能測試:MI公司的winrunner,compuware的qarun,Rational的robot
伺服器端壓力性能測試: MI公司的winload,compuware的qaload,Rational的SQA load等等
Web測試工具:MI公司的Astra系列,rsw公司的e-test suite
測試管理工具:rational的test manager,compuware的qadirector等
缺陷跟蹤工具:trackrecord,Testtrack

單元測試工具:
測試框架: delphi nit
java junit
c++ cppunit
Visual Basic VBUnit
(.NET platform) NUnit

9. 軟體測試一般都用到哪些工具

1、企業級自動化測試工具WinRunner,用於檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,能夠幫助測試人員對復雜的企業級應用的不同發布版進行測試,確保跨平台的、復雜的企業級應用無故障發布及長期穩定運行。

2、工業標准級負載測試工具Loadrunner,是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,能夠對整個企業架構進行測試。企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。

3、功能測試工具Rational Robot,可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。它集成在測試人員的桌面IBM Rational TestManager上,測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。這種測試和管理的雙重功能是自動化測試的理想開始。

4、功能測試工具SilkTest,是Borland公司所提出軟體質量管理解決方案的套件之一。這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。

5、全球測試管理系統testdirector,是基於Web的測試管理系統,可以在公司內部或外部進行全球范圍內測試的管理。通過在一個整體的應用系統中集成了測試管理的各個部分,包括需求管理,測試計劃,測試執行以及錯誤跟蹤等功能,TestDirector極大地加速了測試過程。

(9)web白盒測試工具擴展閱讀:

WinRunner可以通過Function Generator增加測試的功能。使用Function Generator可以從目錄列表中選擇一個功能增加到測試中以提高測試能力。

針對相當數量的企業應用里非標准對象,WinRunner提供了Virtual Object Wizard來識別以前未知的對象。使用Virtual Object Wizard,可以選擇未知對象的類型,設定標識和命名。在錄制使用該對象的測試時,WinRunner會自動對應它的名字,從而提高測試腳本的可讀性和測試質量。

10. 常用的軟體測試方法和工具

工業標准級負載測試工具LoadrunnerLoadRunner 是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,LoadRunner 能夠對整個企業架構進行測試。通過使用LoadRunner ,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。自動化功能測試工具AutoRunnerAutoRunner是黑盒測試工具,可以用來完成功能測試、回歸測試、每日構建測試與自動回歸測試等工作。是具有腳本語言的、提供針對腳本完善的跟蹤和調試功能的、支持IE測試和Windows native測試的自動化測試工具,是目前國內最好的銀行業務測試工具。全球測試管理系統testdirectorTestDirector 是業界第一個基於Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。通過在一個整體的應用系統中集成了測試管理的各個部分,包括需求管理,測試計劃,測試執行以及錯誤跟蹤等功能,TestDirector極大地加速了測試過程。測試用例管理工具TestCenterTestCenter是一款功能強大測試管理工具,它實現了測試需求管理、測試用例管理、測試業務組件管理、測試計劃管理、測試執行、測試結果日誌察看、測試結果分析、缺陷管理,並且支持測試需求和測試用例之間的關聯關系,可以通過測試需求索引測試用例。終端自動化測試工具TARTAR適用於VT100、VT220等標準的應用系統,支持命令行模式和窗口模式(使用Cursors編寫的應用程序)。 支持針對終端應用的自動錄制。支持連續錄制和單獨的窗口錄制。支持的窗口組件:欄位、表格、對話框、窗口等。功能測試工具Rational RobotBorland SilkTest 2006屬於軟體功能測試工具,是Borland公司所提出軟體質量管理解決方案的套件之一。這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。 性能測試工具WASMicrosoft Web Application Stress Tool 是由微軟的網站測試人員所開發,專門用來進行實際網站壓力測試的一套工具。透過這套功能強大的壓力測試工具,您可以使用少量的Client端計算機模擬大量用戶上線對網站服務所可能造成的影響。自動化白盒測試工具JtestJtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。parasoft同時出品的還有C++ test,是一款C/C++白盒測試工具。功能和性能測試的工具JMeterJMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現。性能測試和分析工具WEBLODEwebload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。企業級自動化測試工具WinRunnerMercury Interactive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業級應用的不同發布版進行測試,提高測試人員的工作效率和質量,確保跨平台的、復雜的企業級應用無故障發布及長期穩定運行。

測試經理和PM對TC進行Review:

敏捷測試流程總結:
在敏捷方法中,XP方法強調測試在整個項目開發過程中的重要性。針對敏捷開發方法的敏捷測試不同於以往針對傳統開發模式的測試,在敏捷團隊中,測試是整個項目組的「車頭燈」,它告訴大家現在到哪了,正在往哪個方向走。測試員為項目組提供豐富的信息,使得項目組基於這些可靠的信息作出正確的決定。不僅是測試員要保證質量,而是整個項目組的每一個人都要對質量負責。測試員不跟開發人員糾纏錯誤,而是幫助他們找到目標,共同為達到項目的最終目標而努力。敏捷測試也需要高度迭代工作、頻繁得到客戶的反饋,需要動態調整測試計劃、測試的執行。並且,敏捷測試人員參與到了更多的敏捷生產活動中,積極的影響了團隊做出的決定和計劃。
根據公司項目目前採用的敏捷開發模式,相應的敏捷測試建議採用以下流程:
1. 驗證需求和設計
需求和設計具體來說一般包括:(1)由項目經理根據需求文本而編寫的功能設計文本(Functional Design Specification);(2)由開發人員根據功能文本而編寫的實施設計文本(Implementation Design Specification)包括(Architecture Document, Project Scope Statement, Use Case )。作為測試人員,審核重點是檢查文本對用戶需求定義的完整性、嚴密性和功能設計的可測性.
在測試初期,測試人員要學會做靜態測試,做好需求分析,做好對設計邏輯的分析。測試人員要更多的思考需求的可實現性,將自身作為第一用戶積極參與項目和系統的需求分析,設計和開發。積極地參與前期工作,並迅速反饋給設計和開發其靜態測試結果。要盡早的開始測試,不要等待到功能完全做好才開始。
產出物:測試需要提交評審結果文檔,可以讓測試更多的參與DB Design,框架的評審中來
2. 測試計劃,測試用例
2.1 編寫計劃、測試用例
在敏捷開發的過程中由於是根據每個user story來估算時間的。開發人員將對本次迭代所需要的完成的user story進行評估。開發人員可以和客戶直接溝通,來確定每個user story的優先順序。
好處:
客戶可以很清楚的了解到哪些user story需要花費多長的時間,以及他們的優先順序。
問題:
在user story的時間估算上,開發人員常會估算過少。引起版本無法按時發布或者必須進行加班才能進行發布。
分析:
由於版本更新很快,任務的時間都是以小時來進行估算的。開發人員一般會忽略掉開發以外的時間,比如開發中遇到問題的時間,開會,給其他成員提供幫助的時間,等等。
舉個例子:
開發人員估算某個user story編碼的時間需要1.5天,開發人員自己估算了其他時間為半天。於是開發人員給的估算時間是2天。開發階段實際的花費時間如下,每天花費開例會的時間。在例會中項目的其他成員需要技術上的支持。於是發費了3個小時進行幫助。在開發的過程中遇到了一些沒有預見到的問題,結果解決問題花費了4個小時。(也許更多)。需要處理一些公司突發性的事務等等。所以非常建議大家在估算時間上能充分的考慮到以外的因素,某本XP相關的書上寫到,在時間估算上最好的時間是編碼時間的2-3倍。聽起來很嚇人,但是實際的過程中,的確需要這么多的時間。
測試人員根據已審核通過的需求和設計編制測試計劃,設計測試用例。在前面提到的三種文本中,功能設計文本是主要依據。測試的這兩個文本也要被項目經理和開發人員審核。
2.2 測試用例的審核
為使開發人員能參與到Test Case的Review中來,以保證TC的質量和可行性,確保測試工作的順利進行,讓開發人員迅速地了解測試的重點並給出相應的意見和建議,測試人員在出 TC的同時,應出一份TC_Matrix(Test Case跟蹤矩陣),其中註明TC已覆蓋了哪些Features,具體每個Features對應的TC的編號,這樣在測試經理和PM對TC進行 Review的時候,能夠對TC的覆蓋率一目瞭然,對覆蓋率不足(如某個重點Feature的Test Case不夠)的地方能夠及時給出意見。
另外,在每天早上的Morning Meeting上,測試人員可以簡潔地講述一下當天測試的重點部分,以及項目中存在哪些嚴重的bug,讓開發人員了解當天測試的重點是什麼,怎樣進行測試,並提出自己的意見和建議。這樣做加強了開發與測試人員的交流和溝通,使測試工作能夠更加有效,更加順利地開展。
在迭代後期測試要抽時間更新test case。
3. 實施運行測試
在敏捷方法中,測試有兩種:單元測試和接收測試。單元測試是由開發人員來完成的,接收測試是由客戶代表來完成。
由於我們客戶無法在現場,我們採取了,開發人員做單元測試,測試人員做驗證測試,最後由客戶進行接收測試。在每個版本發布給客戶之前必須由測試人員進行測試,發布版本之後由客戶做接收測試,提出需要修改的地方。需要修改的地方將在下一個發布完成。
?? 單元測試
在daily build版本給測試前,開發首先要做單元測試,提前告知軟體中的薄弱環節,幫助測試人員調整測試重點。Unit test
做單元測試的好處是可以提高版本質量,減輕測試的工作量,減少淺層次的bug的發生率,使測試人員能夠將更多的精力投入到尋找深層次的bug上面。
?? 驗證測試
測試人員的驗證測試從總體上說就是將上一步設計的測試用例按計劃付諸實施的過程。這一階段的測試必須在周密的計劃下進行。這種計劃性首先體現在開發和測試的相互協調配合,根據產品的架構和功能模塊的依賴關系,按照項目的總體計劃共同推進。從測試的過程來看,測試執行的一開始可以是針對部分功能的,之後可以逐步擴展。接著開始採用迭代的過程完成測試任務,即將測試任務劃分為多個周期,一開始可以做些關鍵的功能性測試,可以對代碼中的可復用部分(組件,構件)做完整的測試。接著的迭代周期可以做邊緣化的功能測試和其他測試,最後的幾個迭代應該用於回歸測試,和關鍵的性能和穩定性測試。
3.1 每日提供bug趨勢
為方便衡量項目的進度,測試可每天測試完畢後提供測試的bug趨勢,即將每天新生成的Bug數和每天被解決的Bug數標成一個趨勢圖表。一般在項目的開始階段新生Bug數曲線會呈上升趨勢,到項目中後期被解決Bug數曲線會趨於上升,而新生Bug數曲線應下降,到項目最後,兩條曲線都趨向於零。PM會持續觀察這張圖表,確保項目健康發展,同時通過分析預測項目Bug,
對於每個版本的bug,開發都應該想想為什麼會出現這樣的問題,特別是很低級的bug,對於同類的bug,是否可以避免。
測試需要考慮:探索性測試用例的編寫
3.2 測試用例的維護
在執行測試階段中,測試人員需要對已有的測試用例進行及時的維護。通常以下兩種情況下要新增一些測試用例:一是對於當初測試設計不周全的領域,二是對於外部的Bug(比如從Beta客戶報告來的),沒有被現有測試用例所覆蓋。當產品的功能設計出現更改時(敏捷項目中功能設計的更改頻繁),所涉及的測試用例也要相應地修改,使測試用例保持和現有的功能需求同步。
3.3 根據項目不斷補充Common Sense
在項目進行過程中,測試人員需要不斷積累經驗,不斷補充、完善各類目的Common Sense標准。例如,由CTTS項目總結出的Common Sense for USA標准,在以後的美國項目中要嚴格按照它來執行測試,保證以前出現過的失誤在以後的項目測試中不會再出現。在保證項目質量的同時,不斷積累新的經驗。
3.4 控制中間版本
為更好地保證軟體質量,規避風險,必須加強對中間版本的控制。例如,客戶要求或者計劃周五要提交版本,則周三一定要提交一個中間過程的版本進行測試,也就是控制中間版本,避免所有的工作都壓到後期最緊急的時候去完成。以前的項目中出現過項目前期很輕松,到後期bug越來越多,開發人員和測試人員都異常忙碌,經常加班的情況。為減少後期工作量,規避風險,建議開發進行Daliy Build,或者按照完成一個feature就進行一次build,針對這個feature進行測試,這樣就可以有效避免後期bug越來越多的狀況發生,後期工作量也就會相應減少,項目的質量也會更有保證。
3.5 發布版本前編寫Release Note
在每次發布版本之前,測試人員要根據待發布的版本情況編寫Release Note,使客戶對發布的版本情況一目瞭然。Release Note主要包括三方面的內容:Fixed,New Features,Known Problems。其中,Fixed部分寫明此版本修復了上個版本中存在的的哪些比較大的bug;New Features部分寫明此版本新增加了哪些功能;Known Problems部分寫明此版本尚存在哪些比較大的問題,有待下個版本改善;或者列出需求不太明確的地方,有待客戶給出明確答復意見,在下個版本中完成。
4. 需求管理
採用敏捷開發模式的項目中,客戶對於需求的變更很頻繁。因此,需求管理是十分必要和重要的工作。整個項目進行過程中,對不斷變化的需求,一定要作跟蹤,每次的需求變更都要有相應的歷史記錄,方便後期的管理和維護工作。可將每次的變更整理記錄到需求跟蹤文檔中,並使該文檔始終保持最新更新的狀態,與需求的變化保持同步。
問題:
客戶可能會在一個功能點上來回修改他們的需求,也許開始需要某個功能,結果做完以後又覺得不好,於是讓去掉這個功能。後來又由於一些原因,有需要加上。在整個過程中可能來回修改了很多次。那一定要記錄下變更的內容和日期。可能後期客戶會覺得一個功能怎麼會花那麼多的時間,不是以前很早就做過了嗎?這時這些記錄才是解決客戶疑慮的最好證明。說白了,是有證據證明我們做了很多的變更。大家可能覺得,怎麼會有這個問題。其實當一個項目長達半年以上,也許大家的記憶力都不可靠了(:p)
建議:
目前採用的是vss工具,對每天的Email中提到的需求變更做一次backup,文檔以當天收到Email的日期命名
5. 項目開發末期開展「bug大掃除」
在項目開發的末期,可以開展「bug大掃除」活動。劃出一個專門的時間段,在這期間所有參與項目的人員,集中全部精力,搜尋項目的Bug。注意以下要點:
(1)盡管這是一個測試活動,但參與者並不僅限於測試人員。項目經理,開發人員甚至於高層管理人員都應參加,如同全民動員。目的是要集思廣益;(2)要鼓勵各部門,領域交叉搜索,因為新的思路和視角通常有助於發現更多的Bug;(3)為調動積極性,增強趣味性,可以適當引入競爭機制,比如當活動結束時,評出發現Bug最多,發現最嚴重Bug的個人,給以物質和精神獎勵。(4)可以分專題展開,比如安全性、用戶界面可用性、國際化和本地化等等。