妙用測試管理工具,巧解測試混亂難題 軟件測試工具
在項目開發團隊中,由于資源限制,人們常常敷衍地執行其中的某個活動。經常被忽視的一個活動就是測試管理,這個壞習慣使我在近期一個測試項目中遭受到沉重打擊。
測試管理混亂帶來的挑戰
軟件測試的 痼疾之一是人們并不清楚究竟該做什么,但卻一直忙碌不停地測試,這種情況往往會使測試半途而廢,或返工重來,造成很大的損失。一般來說,測試管理應要嚴格遵循項目活動的內在規律才有可能避免不必要的損失,少走彎路。但常常有許多因素導致項目測試管理出現失控,如何做好測試管理是目前大部分項目團隊面臨的主要問題之一。
。1)資源管理不善,為測試帶來隱患
在軟件測試中,通常合理分配和管理測試所需的資源是一件困難的事情,這些資源不光是硬件設備和軟件工具,還包括時間和人力資源。例如,在傳統手工管理方式下,測試與需求間的關系很難進行跟蹤控制,經常出現測試未完全覆蓋需求,導致測試不全面的問題,或造成測試資產遺漏,無法對測試資產進行有效的跟蹤管理。
另外,測試管理還有一個重要的方面就是時間管理,很少軟件項目在開發周期里擁有充足的時間完成許多高水平的測試。通常情況是軟件開發生命周期里本來就很短的“測試周期”總是不可避免地會被耽擱。所以,許多項目都很有可能在測試管理上面臨時間表和進度的限制。在測試管理中這種限制會不斷使測試任務變換優先級,而不斷轉換工作會為測試結果和測試方法帶來隱患。
。2)協調復雜,難以保持測試與開發同步
軟件質量需要測試人員與開發人員團隊共同協作,但軟件開發中總有一個慣例,那就是測試團隊的工作只有測試人員關注。實際上,測試與開發同步協調是十分重要:一方面可讓開發人員了解當前的測試質量水平以及哪些已經被測試、哪些還沒有被測試。另一方面,也是為了有效地使用寶貴時間,讓測試團隊更及時跟上不斷變化的代碼、工作版本和環境。例如,測試管理者必須精確識別要測試的工作版本和測試的合適環境,測試錯誤的工作版本會導致時間的浪費,并嚴重地影響項目進度。
。3)測試報告信息混亂,嚴重影響決策和判斷
測試報告如果能夠為項目傳達測試狀態和一些質量評定標準,這對項目各成員理解測試工作非常有幫助。因此,測試報告應是十分簡潔,能提供恰當的信息。如果報告只有非常少的信息,那么除了對測試團隊減少認知缺陷的價值外,項目其它成員也將不能充分了解所表示的質量問題。但從另一方面來說,但如果報告有過多的信息,那么測試信息就變得模糊,項目其它成員對于測試和質量信息的實質了解也將被減少。因此,報告信息混亂,過多或過少都會嚴重影響決策和判斷。
。4)多區域和多團隊協調困難,常使測試管理亂成一團
除了軟硬件測試等資源以外,還需要管理測試團隊。測試管理必須調動和協調團隊工作的所有團隊成員,對于有多個不同區域和團隊合作的項目來說,缺乏有效的測試管理會使到多個區域和團隊亂成一團。
為什么需要測試管理工具?
。1)什么是測試管理
測試最重要的是什么呢?我一直認為是有效的測試管理。測試管理包括對人的管理、對流程的管理、對具體版本的管理等。測試要考慮的所有問題都可以列入此列,例如測試人員的分工、測試規程的制定、測試流程的裁減、采用什么的測試流程、測試設計怎樣操作、測試執行如何計劃、和測試度量怎樣進行等。
因此,測試不僅僅是一種技術,不僅僅是開發完成后的驗證活動,真正要做好測試,更需要建立起一套測試管理體系。一個測試項目成功需要很多因素,測試管理是其中的重中之重。測試管理包含計劃、創作、執行和報告測試,以及如何使測試與軟件開發工作的其他部分結合起來。有組織的測試管理將會減少錯誤而且使得復雜的項目得到更有效的、有力的管理。
。2)什么是測試管理工具
對于測試管理來說有許多令人生畏而且不可避免的挑戰,好消息是有大量管理工具可以應對這些挑戰。測試管理工具是指用工具對軟件的整個測試輸入、執行過程和測試結果進行管理的過程,可以提高測試的效率、測試時間、測試質量、用例復用、需求覆蓋等。
由于軟件項目測試越來越復雜,單純增加測試人手已不能解決問題,需要一個軟件工具來管理測試。軟件測試工具的種類繁多,主流的測試工具可分為:測試管理工具,負載測試工具,功能測試工具等等。我的理解是而相比于測試管理工具,其他的具體的測試技術工具都是次要因素,比如各種測試工具、白盒測試、黑盒測試等。這些具體的測試技術都是相對比較“固化”的,測試技術人員都會慢慢的掌握它們。但我們在評價一個測試團隊的測試水平,或者在評估一個項目的測試質量時,不會因為這些具體的測試技術掌握與否而斷言,更多的考慮應是它的測試管理過程。
一個完整的測試管理工具,應能用于測試的計劃、文檔和缺陷跟蹤等各種測試行為的管理,并能提供對人工測試和自動測試基于過程的分析、設計和管理功能,把應用程序測試中所涉及的全部任務集成起來。包括測試中包含的所有工作,跟蹤測試資產中的依賴關系和相互關聯,并且能對質量目標進行定義、測量和跟蹤。
(3)測試管理工具應具備的功能
、贉y試計劃和進度管理。測試管理工具應能跟蹤項目測試工作是否按照預期計劃和進度開展,對軟件產品從功能分類、分配相關人員、編寫測試用例、執行測試用例到生成問題報告的整個測試流程進行系統、有效的管理。項目管理人員可以通過該系統隨時了解、監控被測項目的執行進度和軟件問題的處理狀態,為測試人員和開發人員的工作提供有效的考核依據,保障軟件開發和測試的順利進行。
、跍y試資產管理。這包括測試計劃、測試用例、測試腳本、測試報告的創建與維護、和缺陷跟蹤,保證測試資產之間是可跟蹤的,一致的。無論是開發人員、測試人員或項目管理人員都可以隨時編寫、修改和查閱測試用例和軟件問題報告,能對測試用例與問題報告進行長期保存以避免流失。對測試用例的編寫與執行情況進行全程記錄,便于追蹤測試用例在各個測試階段的執行過程,及時調整測試策略與方法。最后,還應提供統一的軟件問題報告模板與測試用例模板,使測試人員能夠更加準確、詳細地編寫測試用例與描述軟件問題,保證測試用例與軟件問題報告描述的一致性,便于積累,分類與查詢。
、蹨y試質量評估與報表。測試管理工具應具有實用的統計功能,可以從各種角度建立分析統計報表,以便及時掌握測試執行情況。例如軟件問題的有效發現率、有效修復率及各項測試工作的進度。好的測試管理工具必須提供所有相關信息的完整和正確的報告,所有這些測試報告要指導如何對測試工作的不同結果進行分析和溝通,并能幫助不同的項目角色隨著項目的進展對變化做出合適反應提供決策,并幫助判斷測試的當前狀態和質量水平。
測試工具的選擇與考察
面對市場上眾多的商品化測試管理工具,對測試管理工具的選擇就成了一個比較重要的問題。我們在考慮選用工具的時候,建議從以下幾個方面來權衡和選擇:
。1)功能考量
功能當然是我們最關注的內容,選擇一個測試工具首先就是看它提供的功能。當然,這并不是說測試工具提供的功能越多就約好。在實際的選擇過程中,適用才是根本!板X要花在刀刃上”,為不需要的功能花費金錢實在不是明智的行為。事實上,目前市面上同類的軟件測試工具之間的基本功能都是大同小異,各種軟件提供的功能也大致相同,只不過有不同的側重點。例如報表功能,查看測試管理工具生成的報告的人員不一定對測試很熟悉。因此,測試工具能否生成合乎要求的結果報表,能夠以什么形式提供報表是其中一個考察因素。
。2)測試管理工具的集成能力考察
測試管理工具的集成能力也是必須考慮的因素,這里的集成包括兩個方面的意思:首先,測試管理工具能否和開發工具進行良好的集成;其次,測試管理工具能夠和其他測試工具進行良好的集成。另外,與操作系統和開發工具的兼容性也需要需要考慮。測試管理工具可否跨平臺,是否適用于公司目前使用的開發工具,這些問題也是在選擇一個測管理工具時必須考慮的問題。
。3)是否能與現有的測試管理保持連續性和一致性
測試管理工具引入的目的是測試管理自動化,引入工具需要考慮工具引入的連續性和一致性。也就是說,對測試工具的選擇必須有一個全盤的考慮,要考慮到公司的實際情況,避免盲目引入測試管理工具。因為并不是每種測試工具都適合公司目前的實際情況,如果懷著美好的愿望花了不小的代價引入測試工具,一年半載后測試工具卻成了擺設,就不僅僅是浪費了資金,還會對軟件項目開發進度產生嚴重影響。
。4)是否具備測試團隊管理功能
測試管理工具應具有測試團隊管理功能,要能根據人員的分工和職能不同劃分嚴格的權限,從而明確測試任務,并保證測試質量。如測試人員的績效考核、人員的技術定位、人員激勵等。
測試管理工具應能有效處理人力資源不足問題或者能更充分利用人員,能協調運用任何人力資源,而不管它們在什么地方。這些重要的人員資源可能存在于不同的地方,這需要仔細有效的協同合作使得大多數測試人員和其他人員參與到測試管理中,對于那些跨越一個或更多場所或測試團隊的項目來說,這包括區域場所和團隊協調。
文章來源于領測軟件測試網 http://www.kjueaiud.com/