1. 程式人生 > >對軟體測試教育的一點思考

對軟體測試教育的一點思考

當你進入任何一個領域學習時,終究會被它的龐大所折服。當你越學越深,則越敬畏。尤其在IT行業,每日如新層出不窮的各種開發測試技巧、分析理論、知識框架的變化擴充、大資料人工智慧等等各種理論與實踐的不斷推陳出新,各種商業或開源工具軟體的花樣翻新。而在這一領域暢遊,則精神必須高度緊張不斷的充電學習,似乎少了一天的學習就恍若隔世。

軟體測試最初是作為軟體工程的一個分支,而今不斷衍生,茁壯成長,覆蓋了整個軟體工程的生命週期。

縱向來看涵蓋了從質量管理、文件評審、Code Review、功能驗證、自動化測試架構、持續整合自動測試、效能測試、安全測試、相容性測試、可靠性測試、TDD族乃至於資料庫測試、UI測試等等。

橫向則涵蓋所有商業軟體、系統軟體、移動軟體、嵌入式軟體、各類工具軟體等等,只要有軟體存在的地方就有測試。

由此可見軟體測試的知識體系更是龐大:

從數學理論基礎、電腦軟硬體基本理論、網路知識、測試技術理論、各種開發語言都需要涉獵(與開發不同至少熟練使用一門語言,而且工作中總是可能會遇上不同的開發語言,所以都要有所瞭解)、資料庫理論、瞭解不同作業系統(包括安卓與IOS)、熟悉各種開發平臺、成百上千的測試工具、測試過程控制、質量管理等等。

真正能做好軟體測試領域是不容易的,如今軟體測試幾乎成了裝與軟體各個層次各個角度都有關係的大容器。大到整個開發的框架、軟體測試的框架,小到每一個方法的白盒測試(測試驅動式),每一個演算法效率的測試,資料庫儲存過程的測試等等,無所不包無所不能。

軟體測試是入門容易,卻深如海的學科。漸漸的軟體測試的知識幾乎是要有滲透入計算機的所有部分的趨勢。

對於這樣一個深度廣度都在正在無限擴張的學科,單憑在學校裡安排一個學期的課程是無法完成的,許多的專業技能需要在進入企業後進行深度和廣度的深入擴充套件。

那麼如何搭建軟體測試的培訓體制呢?現在在軟測的教育培訓上市場魚龍混雜,有網路課程、有專案實戰培訓、就業式培訓、證書認證培訓、企業內訓也有各種會議等。

對於這樣複雜交錯的教育培訓,總是讓人無從選擇,分不清良莠,更多的IT學科又何嘗不是如此呢?工作者在自身遇到真正瓶頸需要突破時,往往苦於無師可學,而許多學富五車的專家又無法合理和正確的將知識傳達出去。此時,也許我們可以借鑑一下瑜伽(YOGA)的教育體系與方法。

1、首先對於基礎理論的學習

瑜伽的教育體系的脈絡是非常清晰的。首先是分成幾個大分支,每個分支的理念非常清晰,有的是注重體式、有的是注重思想、有的是注重理論。這門學科也是注重理論結合實踐的,例如在進行哈他瑜伽學習,主要是體式的練習,但是會用到各個理論的精華。這一套理論已經歷經了幾千年概念非常深厚,是所有的學習者中的重中之重,任何學習都是以理論為基礎。當學習者,學完這套理論後,就是需要自己不斷的練習,練習,再練習。再將練習的境界分成八個層次,而大多練習者一輩子都達不到最高的層次。

對於軟體測試應該也是一樣的。必須有這樣一個重中之重的理論體系,作為入門的精髓。這項入門的理論應該放在高校的高年級進行,對測試進行深度和廣度的所有理論的學習。之後就應該是以這個理論為線索的不斷練習的過程,每一個知識點都應當輔以大量的練習,反覆的練習,直到完全掌握理論為止。

當然這個練習部分,可以延伸到用課後,網路學習的方式來完成,或者是進行企業培訓的方式,以完善個人對整個理論體系的理解和實踐。

YOGA者必須保持持續不斷的練習,同樣測試學習者也需要保持不斷的練習與實踐。

2、分支體系的傳授

YOGA與軟測一樣,都有許多適應時代發展而衍生的學派。

當YOGA基本理論體系學習之後,就會開始進入各個學派的學習。每個學派都會有創始人,創始人會開始傳授給自己的弟子,弟子再繼續帶弟子,以此保證真正的精髓得以延續與擴充套件。

而在軟測或者其他學科也是這樣,有許多學派,有各路的大神提出自己的旗幟性的觀點。這樣的學派大多是以寫書或者講座的或者會議的方式進行。雖然寫書的方式的確能快速的傳播理論。但是我們發現讀書的方式有時候並不能完全理解和解讀作者的意圖,特別是提出新思潮新學派的那些人。天知道,一個會議,最多隻能聽個大概,領會精神的又會有多少人呢?許多人在會議中知識得到了一些最新資訊或領悟,這也算是學習麼?

其實如果能模仿YOGA,採用名人工作坊的方式,以大牛或者名人口口相傳,通過幾天的集中學習,名人或大牛將自己的思路和想法,直接面授傳達給自己的“弟子”,通過巡迴各大城市開展工作坊的方式,也許這樣很多的學派才能將思想傳達得更徹底更準確。工作坊結束時考核通過後並頒發證書,擁有證書的人又可以繼續以工作坊的方式來再次傳達思想。例如敏捷測試、探索式測試、TDD(ATDD,DDD)、某種工具的開發與使用、某種框架的理論與實施、缺陷定位機制等等。

也許反而通過古老的口口相傳的方式,反而能讓知識傳達得更徹底更完整也更快。

3、老少皆宜的學習方式

我一直認為,軟體測試應該是需要一個“道場”的,在這個道場裡,可以新老學員進行交流,有名師指點、有各種套路的練習、有晉級的制度。在這樣一個道場裡,互相尊重,互相學習,每一個人都有合適的級位,每一個人都有相應的練習場所。

就像YOGA,明明是一個歷經幾千年的古老宗教,無數的練習者崇拜者,卻以大眾的方式為所有人服務,接納所有人,沒有高高在上,也沒有因為體系的龐大而讓人畏懼裹足不前。

有時候簡單的傳承反而有著強大的力量。或許在社會的發展中,我們因為人為的因素,讓學科的學習變得越來越複雜,越來越困難。

在YOGA的學習過程中時愉悅的,每次向高難度挑戰,都有老師的不斷幫助和支援,永遠都會有人與你同行,這種感覺是愉悅的學習。

那麼在軟體測試領域呢?總是感覺,如果自己不努力,就會遠遠被拋棄的壓力感,每次努力之後看到的卻是更高的山峰!也許學習本身是簡單的愉悅的,只需要改變一下我們的教育和學習模式。