淺談如何通過測試知識管理來提高測試隊伍能力

 

淺談如何通過測試知識管理來提高測試隊伍能力

                     文:羅望軍

物理學家牛頓說過,如果說我比別人看得更遠些,那是因爲我站在了巨人的肩上。這個巨人其實就是前人的知識。

IBM前任CEO郭士納以大象也能跳舞作爲其暢銷回憶錄的主題。對於順利駕馭IBM這個規模、組織龐大的公司成功轉型並讓其在全球IT市場翩然起舞,郭士納的快意之情溢於書中。而在IBM軟件部信息工程師經理陳巧明的眼中,IBM能翩然起舞的動力中,知識管理的作用不可或缺(摘自《藍色大象翩翩舞的知識動力》)。

測試隊伍要想站在巨人之上,在公司舞臺上翩翩起舞,被團隊認可,筆者認爲:必須有相應的知識運用和管理機制,以此來提高測試隊伍能力。採用測試知識管理的方法要比傳統的控制方法似乎更能從源頭上解決問題。

1.1.    理論概述

測試知識也是知識的範疇,所以不可不談知識管理的過程。知識管理是協助企業組織和個人,圍繞各種來源的知識內容,利用信息技術,實現知識的生產、分享、應用及創新,並在企業個人、組織、業務目標以及經濟績效等諸個方面形成知識優勢和產生價值的過程。知識管理的核心是知識的共享和創新,而這二個要素就是要依靠組織與個人之間隱性與顯性知識的相互轉化、利用過程來實現的(摘自 《信息管理教程》張廣欽編著 北京大學出版社,有興趣的同事可以瞭解日本的野中鬱次郎和竹內廣孝提出的SECI模型)。

上面涉及到的2個概念,需要解釋一下:

隱性知識:指內隱化、非結構化、非編碼化,不是通過普通學習途徑可以獲取的,主要是隱藏於人的大腦中或組織內部的知識。針對測試知識來說,一些測試思路、測試經驗和技巧、測試團隊的精神、默契感等。

顯性知識:指外明化、結構化、編碼化,可以通過學習獲取的知識。針對測試知識來說,明確的測試文檔規範、測試作業指導書、測試用例、測試數據、測試流程等屬於顯性知識的範疇。

從知識管理的概念可以推敲出,對測試知識的管理目的其實就是測試人員之間的隱性知識、顯性知識的共享和創新,在測試工作中,對測試知識分析整理給團隊使用,最終保證發佈軟件的質量。

1.2.    具體措施

上面說到了基本的知識管理過程,那麼怎麼通過對測試知識的管理來提升隊伍能力?有一些什麼具體的手段呢?

1.2.1.      隱性知識爲主的管理措施

對於一些難以表達的測試經驗、技能怎麼在測試隊伍中共享和利用,尤其是剛剛入職的新人,筆者認爲可以採取如下措施:

1,              測試人員入職後,根據測試人員參與的項目給新員工指定師父,這個師父可以是項目組的任何成員,一般在公司2年以上,師父早期對測試新人採用基本上手把手的教導,在教導過程中爲測試人員帶來第一感覺。

舉例說明:測試人員張三進入公司,參與某國土項目,安排李四當師父,則李四的表現直接影響到張三對測試隊伍、整個公司的認可,如果李四對國土行業知識熟悉、和項目組配合默契、工作專心、細心、有責任心,那麼這些不可見的經驗(隱性知識)可以被張三吸收,實現了隱性知識的傳遞和張三能力的提升。

2,              測試人員入職後,儘量多的給一些測試執行、測試環境搭建、基礎操作(動手)的工作。如怎麼安裝和配置數據庫,怎麼安裝測試服務器的操作系統,怎麼配置webgis中的web服務器。這樣新人會從一些測試執行過程找到一些感覺,在測試新人的頭腦中會有自己的掌握和模糊的記憶,下次碰到類似的操作工作將會依據前面的記憶(隱性知識)來完成,通過這些基礎操作爲逐步瞭解核心業務做準備。

3,              對於測試經驗豐富的工程師,一些高級的事務操作,可以將過程錄製下來,給測試新人學習理解。如:oracle的升級、arcsde的升級,Oracle的災難數據備份操作。

4,              不定期的舉行測試交流討論會議,哪怕利用幾分鐘的時間,討論對於一些專題測試中的技巧(如數據的入庫與更新關鍵測試點、和開發人員交流的技巧、缺陷描述的方法),通過測試交流,形成團隊的成果,以文檔的形式將交流成果(隱性向顯性轉化)體現出來,供團隊使用。

5,              測試人員不定期對自己負責的測試項目做總結,對測試過程中將腦海中一些有效的測試經驗、操作技巧、思考邏輯、用戶關注點、表達方式等隱性知識以文字表達出來(變爲顯性知識),可以通過郵件或者數慧公司內部共享平臺發佈出來,爲其他測試人員所用(共享)。

6,              測試人員出差實施後,尤其是一個月以上的出差,要提供相應的測試實施總結報告,把實施過程中客戶提出的問題和我們測試遺漏的問題進行分析總結,提交給整個測試團隊利用,防止其他項目測試人員犯同樣的錯誤。

1.2.2.      顯性知識爲主的管理措施

顯性知識是一些可見的資料文字等,和隱性知識相比,學習起來相對方便一些,利用顯性知識管理來提升測試隊伍能力,具體措施如下:

1,          加強個體專有測試知識向團隊測試知識的融合,一個測試隊伍中,可能存在各種專長的人員,有些人對於操作系統知識和數據庫知識有較深入的理解,那麼這些人可以將數據庫相關的測試知識公佈給測試團隊(如:測試數據庫的備份、創建、配置等)。有些人對某些業務又比較熟悉,則這些人可以將這部分業務功能的測試技巧、測試思路等編寫出來(變爲顯性知識),公佈給測試團隊共享,其他人員在開展該業務的測試時就可以對這些成果複用,並且在此基礎上完善改進(知識創新),測試團隊的力量就發揮出來了。

2,          建立通用公共測試用例庫(顯性知識積累)。測試用例對於測試指導作用有多大每個測試人員都應該很清楚,拿個鼠標隨便點點的“猩猩測試”時代已經過去了。軟件越來越複雜、軟件層次越來越多、用戶也越來越聰明(被騙了N次自然聰明),而項目往往工期很緊,這時由一個接觸GIS不到一二年左右的人去在短時期內設計測試用例肯定是不可行的,即使設計出來的用例沒有重大遺漏或不足那就怪哉了。

怎麼辦?建立通用測試用例庫。例如北方數慧承接的項目大部分是建GIS庫爲主,即GIS數據管理系統,而這類項目基本上都有數據質檢、數據格式轉換、數據接邊、數據入庫、數據更新、圖層管理、製圖與符號化、查詢定位模塊,也就是說這類型項目有很大一部分測試的內容都是相同的。爲了保證測試效率和質量,可以讓對GIS建庫比較瞭解的測試人員等人負責抽取公共測試點,形成公共的測試用例庫,讓其他測試人員複用。其他測試人員在測試複用的過程中,發現公共用例庫不足的地方可以補充。

抽取公共測試點過程中,先將系統分解成測試模塊,然後將測試模塊分解成小的測試點,將小的測試點分解成多個測試用例,然後再將測試用例輔以測試數據說明,這樣可以將複雜的測試系統逐步簡化。就像麥當勞、肯德基的標準化作業一樣,只要把測試點、測試用例分解出來了,剩下的測試執行工作就有依據得多,軟件質量自然就有一定的保證,每個漢堡都一樣好喫。

3,          建立和公司涉足行業、系統、平臺相關的專有測試知識集合。以北方數慧爲例,公司大部分系統是基於arcgis平臺的,系統大部分功能可以在arcGIS桌面產品中找到原型,有的甚至一模一樣。這樣,可以建立“如何用arcgis桌面產品(arcmaparccatalogarctoolbox)輔助測試”這樣的專有測試集合,測試人員在測試系統時,可以把arcgis桌面產品當作參照測試標準,可以充分用arcgis桌面產品來輔助測試,測試人員把輔助測試的一些標準、技巧、方法編寫出來(形成顯性知識)給測試團隊使用,測試效率肯定會有提升。

1.3.    期望

上面雖然講了那麼多,但是筆者認爲,要想盡快通過測試知識管理對測試隊伍形成推動力還需要持續的做很多事情:

1,測試團隊要有樂於知識分享的文化氛圍,把知識霸權的思想去掉,不要有什麼“要留一手”的想法,又不是教武藝,把獨門絕招留着。

2,上級支持,因爲測試知識管理初期很難立即產生產能。

3,測試知識管理的制度保證、規範保證,以保證測試成果確實可以複用、測試知識的可讀性、可理解性高。

4,逐步開展、落實上面的措施。以北方數慧公司爲例,目前也開展了一些措施,已經把通用的GIS測試點進行了整理;項目驗收後,要求測試人員提供測試總結報告;利用下班時間組織了測試交流工作等等;在做這些工作中,大家也確實形成了一些共識,整理出一些文檔,沒有像原來那樣瞎碰瞎撞了。如:通過對通用測試點的分析,可以知道每個通用GIS功能大致要測什麼、怎麼測心裏清楚的多。如:通過對項目的測試總結,可以知道這次項目測試成功、失敗有些什麼地方?遺漏了些什麼?別的測試人員可以借鑑。下一步將不斷的整理、完善現有的成果,提高利用率。

總之,任重道遠!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章