1、寫在前面的話
本人從事軟件工作多年,對如何作測試、如何管理Bug上有一些體會和想法;正好看到網上關于這方面的討論較多,不妨簡單地寫出來。本文就測試工作的組織及工具的選用介紹一下主要的思路,供大家參考。
2、如何作好軟件測試
(1)清晰的質量概念
常言道沒有規(guī)矩不成方圓,產品交到您手上,各方面質量標準您要心中有數。安裝卸裝、功能性能、用戶界面、出錯與恢復......等等,您可列出大綱式的CheckList,不一定很詳細但一定要全。
不同的開發(fā)隊伍,規(guī)范化水平不同,他們不一定能提交完善的規(guī)格書、品質書,如果您自己也沒有這個概念,測試中就容易疏漏很多東西。比如,界面上的Button大小、用詞、字體、顏色等有規(guī)范嗎?頁面響應時間呢?總之,您要讓人家明白,您對這些方面是有要求的。
。2)善作計劃
按照CheckList,要測試的東西真的是很多,但人力、時間等資源是有限的,您需要考慮重要性、優(yōu)先級等因素,作一個測試計劃。確定測試內容是重要的,確定哪些不測或暫緩測試、同樣也是重要的。針對需要測的內容,安排測試環(huán)境、人員、時間等,這些大的方面要與上司、相關人員討論清楚,獲得他們的支持。接下來再細化大的Check點,形成詳細的測試方案。
。3)明確進入退出標準
需要明確進行測試所必須具備的條件,如:測試環(huán)境、送測產品的媒介形式、文檔等。如果達不到基本要求可明確地提出來,暫時退出直到問題得到解決,否則很浪費大家時間的。如:環(huán)境不具備、根本就安裝不上、有大量嚴重錯誤等。
。4)對測試人員的要求
邏輯思維要強,說到底,測試就是一種邏輯覆蓋,要用盡量少的測試實例覆蓋盡量多的邏輯,這就是效率。細心很重要,在每一個測試點,您需要靜下來好好想想,還有哪些可能的情況?細心一定會給您帶來高產量的Bug的。
。5)關于自動測試工具
任何工具都是在人的安排下發(fā)揮作用,您自己如何測永遠是第一位的。一般說來,自動測試工具只能在壓力、容量等某些性能領域發(fā)揮作用,其他絕大部分需要的是勤奮和智慧。
。6)不斷積累、持續(xù)改善
您無論多么出色還是會漏掉Bug,您需要有一個方法能夠不斷地、持續(xù)地改善。分析總結原因、不斷完善測試計劃、測試方法等,并用文檔整理出來,您的基礎就會越墊越厚,工作越來越有效。
(7)明確自己的責任
作為測試人員,您的任務就是找出缺陷、及時清晰的匯報給相關人員,讓管理者清楚產品的質量狀況。有時,您測出的問題他們決定不改,或者您認為沒達到Release標準他們決定Release,這是可能的。影響一個決定的因素是多方面的,有經費、市場、策略、質量等,雖然測試通常是產品開發(fā)的最后一關,但我還沒有見過測試人員決定一切的。
3、Bug管理的作用層次
軟件開發(fā)的重點已經從技術轉到管理與質量控制上了,如何按時做出符合質量的產品是我們最大的挑戰(zhàn),測試工作在開發(fā)過程中占據相當大的份額,Bug管理的作用可想而知。其作用基本上分以下幾個層次。
。1)備忘與溝通
備忘是一個Bug管理系統(tǒng)最樸素、最基本的作用,好記性不如爛筆頭,道理就這么簡單。您什么時候測出了Bug、怎么測的、當時環(huán)境怎樣,開發(fā)人員解決了沒有、什么時候解決的、如何解決的,需要及時記錄下來;問題一多,您靠記憶是記不住的。沒有遺漏地記下所有問題點并確保適當地處理掉,是Bug管理的基本要求。
Bug的產生、變更需及時通知相關人員,他們也應能隨時查詢不同狀況的Bug 數據,良好的溝通才能保證有效的協作。
(2)監(jiān)控
作為項目管理者,您需要及時全面了解目前的項目狀況,有些Bug是影響全局的嚴重錯誤,需要立即做出處理、決策;有些Bug需要決定改還是不改,或是放入以后版本、分配給其他人等等。所以項目管理者應該能夠監(jiān)控Bug狀況。
。3)定量分析
對Bug數據作定量的統(tǒng)計分析是更進一步的需求,如:bug數量隨時間變化的趨勢圖、從測試者、責任人、缺陷級別、缺陷原因等不同角度統(tǒng)計缺陷數量等等。
(4)環(huán)境集成
更高一級的需求是與需求、測試方案、SourceCode、自動測試工具等關聯起來。
4、Bug管理工具的選用
與選用任何一件商品一樣,與您的需求、產品價格、服務等有關。
。1)需求
大部分開發(fā)機構對Bug工具的要求并不高,能記錄問題點、能及時傳達給相關人員,并監(jiān)督他們都作了適當的處理,基本上就可以了。很多網友說某某系統(tǒng)怎么弄得這么復雜、這么貴,自己花一個星期就能做個可用的東西,說的就是這個意思。早期,市場上沒有合適的Bug管理系統(tǒng),我使用Excel作,說實在的也不錯。當然啦,時代在進步,Bug管理系統(tǒng)可更好地實現這些需求。
稍微高一點的要求,可做定量的統(tǒng)計分析,挖掘信息潛在價值。
更高一級的需求,就是景上添花啦,可以與需求、測試方案、SourceCode、自動測試工具等環(huán)境集成。但事物總是兩面性的,要真正發(fā)揮這些作用需要有完善的需求規(guī)格、測試方案,需要仔細規(guī)劃自動化工具所產生數據的過濾、運用。一句話,對自身的規(guī)范化要求較高,否則這些功能聽起來不錯,實際利用不起來。
。2)服務與價格
從價格上說,有3類缺陷管理工具可供選用。
一是純免費的,如Bugzilla、Mantis等。但免費的東西用戶友好性差、安裝難,您需要懂linux、perl、mySQL、apache之類的東西;而且沒服務,出一點問題您就上Internet淘技術文章去吧,如何安裝、使用這些免費軟件簡直是一門學問了。
二是價格較低的國產軟件,基本滿足備忘溝通和監(jiān)控的需要。如華創(chuàng)BMS,做得比較靈活,字段、權限、email通知、數據字典等都可以定制,適應性較強,統(tǒng)計報表的定制性也較強,可以做一定的定量分析。一般開發(fā)單位使用這類系統(tǒng)基本夠用。
三是價格中等或較高,如微創(chuàng)的BMS、MI的TestDirector、IBM Rational的ClearQuest等?梢宰鲆欢ǖ沫h(huán)境集成,如TD,可以把Requirement、Testplan、Bug關聯起來,微創(chuàng)BMS可以與MS Project、SourceSafe關聯。價格稍高,幾萬到幾十萬之間,關鍵是這些高級功能您真的能利用上。
總的說來,適合您的、就是好的,微軟內部的Bug管理界面也非常樸素,看上去有點像windows 95那個時代的小工具。另外服務是很重要的,問題解決不了耽誤自己的時間不說,可別影響測試工作。
5、典型Bug管理工具比較
我經歷過幾個單位,如何管理Bug前后使用過Excel、自制的簡易工具、Bugzilla、TD、華創(chuàng)BMS,再參考分析ClearQuest、微創(chuàng)BMS,分析比較如下:
功能特征\ 產品 Testdirector ClearQuest 微創(chuàng)BMS Bugzilla 華創(chuàng)BMS
構架模式 B/S C/S,B/S B/S B/S B/S
用戶友好性 好 一般 好 差 好
流程定制 Y Y N Y Y
查詢功能定制 Y Y Y Y Y
功能域定制 Y Y Y Y Y
附件支持 Y Y Y Y Y
用戶權限分級管理 Y Y Y Y Y
Email通知 Y Y Y Y Y
批量修改 N N N Y Y
導出至外部文檔 Word文檔 N N N Excel,HTML
報表定制功能 Y 強,集成Crystal Report 有標準報表和高級報表,定制功能不夠 Y 強,有標準報表,定制方便
數據更改歷史 Y Y Y N Y
支持平臺 Windows Windows, Unix Windows Linux,FreeBSD Windows
支持數據庫 Oracle, M$ Access, SQL Server等 Oracle, M$ Access, SQL Server SQL Server等MSDE MySQL Access, SQL Server
安裝配置的復雜度 簡單 復雜 容易 有些復雜 簡單
售后服務 國內有多家代理公司提供相關服務 在國內有分公司提供技術支持 技術支持和服務體系完備 無 有技術支持和服務,在線升級
與其他工具集成 本身又是測試需求、測試案例管理工具,與winRunner, LoadRunner集成,具有多種主流Case工具接口AddIn 與rational公司的其它產品無縫集成,特別與Clear Case配合以可實現UCM的配置管理體系 M$ VSS, Project 開源配置管理工具CVS 無
公司背景 世界主流測試軟件提供商 已被IBM合并,世界著名軟件公司 微軟與上海市政府成立的 世界著名開源項目 國產軟件
價格 幾十萬,昂貴 幾十萬,昂貴 幾萬,適中 免費 一二千
官方網址 http://www.mercuryinteractive.com http://www.rational.com http://www.wicresoft.com http://www.bugzilla.org http://www.hc-software.com
|