當前位置:吉日网官网 - 傳統文化 - 常用的軟件測試方法和工具

常用的軟件測試方法和工具

工業標準級負載測試工具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)可以分專題展開,比如安全性、用戶界面可用性、國際化和本地化等等。

  • 上一篇:對中華優秀傳統文化的理解和認同
  • 下一篇:思維導圖是什麽?
  • copyright 2024吉日网官网