對軟件測試未來的預測
“預測是件很難的事情,尤其是預測未來” —Yogi Berra 每年十二月,小報的“未來預測者”們會向大家切揭示即將到來的一年將要發生的事情: “麥丹娜將要乘坐航天飛機”,“美國將遷都 Wichita”,等等。我將加入這個潮流,對 軟件測試何去何從做一個我自己的
“預測是件很難的事情,尤其是預測未來” —Yogi Berra
每年十二月,小報的“未來預測者”們會向大家切揭示即將到來的一年將要發生的事情:
“麥丹娜將要乘坐航天飛機”,“美國將遷都 Wichita”,等等。我將加入這個潮流,對
軟件
測試何去何從做一個我自己的預測。并且我希望,我的預測費用能夠比我的那些值
得尊敬的小報同事更高些。
我的主要預測就是,將來的
軟件測試與現在的
軟件測試看起來很不一樣。原因很直接:今
天的軟件測試很大程度上是臭名昭著的:軟件測試參與到項目中的時間太晚、貢獻太少、
花費太高。如果我們關心我們產品的
質量以及我們的賬本底線的話,我們就需要重新思考
測試和質量的方法。
即使遭到一致反對,我也要說:更好的方法,對
測試人員更好的
培訓、更好的欣賞將改革
軟件產業。具體地說,諸如可執行的說明書、基于模型的測試產生、
BUG預防、系統模擬
這些技術,將在這場演變過程中扮演重要的角色。
下面就是我們在將來的幾年里可能看到的情形。事實上,某些趨勢已經開始了。
測試人員,
需求撰寫人員和
開發人員,都將看到自己是其中的一份子。
測試人員幫助需求撰寫人員
測試人員與需求撰寫人員共同工作,在需求完成以后,審查以及理解需求。早期的審查以
及建??梢员┞逗芏嚓P于一致性、完整性和模糊性的BUG,這個時候修補這些BUG付出的
代價還十分小。
需求撰寫人員幫助測試人員
測試小組建造模型,用于產生對其產品行為的測試。需求撰寫人員審查模型,以確保他們
充分覆蓋了產品特征集。這樣產生的測試模塊將成為一個“可執行需求”。
測試人員幫助開發人員
因為需求清楚,毫不含糊,開發人員更好的理解了他們的代碼將要完成什么。
在正式的將代碼提交做測試之前,測試人員提供給開發人員一些模型,以便開發人員可以
在自己的代碼中實現它們。
開發人員幫助測試人員
基于”特征對特征”這樣的方式(防止以往的“后期才介入開發,一股腦找出產品問題”的
方式),開發人員和測試人員共同保證代碼易于實施
自動測試.開發人員的代碼中處處都是易
測試性的開關,使得錯誤檢測更加容易.
測試人員幫助測試人員
測試用一種高級語言來模擬,因此別的特征的測試小組(甚至別的產品的測試小組)可以復查
和改進測試模型.這就形成了一個
測試專家的共同體.
方法日趨完善
BUG預防和早期檢測
因為現在把重點放在產品交付的質量上來了(而不是在于找到了多少BUG), 預防實踐和靜
態分析儀這樣的檢測工具將成為主流.
仿真測試
仿真工具變得很普遍,使得仿造計算機環境變得容易起來.在開發過程的早期就可以進行意
外和錯誤流程的測試.代碼穩定后,再用真實環境驗證仿真是否準確無誤.
及時的
測試用例
龐大的
測試用例管理系統將成為昔日的東西,大量的
測試用例生成了卻沒有被使用.測試用
例將不再像腐爛的存貨一樣被收藏起來,因此,讓測試用例保持最新變得容易起來.
積極的方法
誤導人的方法,比如計算BUG的數量、計算測試用例的數量,將不復存在.有用的方法,比如
需求覆蓋、模型覆蓋、代碼覆蓋將驅動項目開發.
更少更精的測試人員
機器將代替測試人員做大部分他們以往創建測試所做的繁瑣工作,測試小組需要比以往更
少的測試人員,留下來的測試人員將是經過更多高度
培訓過的.他們所做的工作將更加有趣,
因為在測試中他們將致力于更大的問題,而不是在抱怨中艱難地開展工作.
更多更好的測試
測試人員將可以在一天中進行成千上萬的測試,所以,如何首先運行最有用的測試將成為一
大挑戰.相關的工具將允許測試人員為他們的測試區分優先級,以及將測試目標放在那些最
易出現重大BUG的地方.
測試人員的角色更換
測試中界限模糊
在測試領域工作使得專職測試的人員和專職創建
測試工具的人員界限模糊,一個既是“通
過程序破壞事物的
測試員”又是”創建程序用于破壞事物的
程序員”的專業出現了,――關
于如何稱呼這個新的專業,
新聞圈內的人們還在進行著無休止的爭論。
測試與開發界限模糊
測試人員與開發人員一前一后,共同創造可測試的、高質量的代碼。測試人員幫助開發
人員消除需求中的問題,使得開發人員的工作更易完成,同時,開發人員寫出更清晰、
可測性更高的代碼,使得測試人員的工作更易完成。
顧客反饋與測試合為一體
交付的產品質量更高。測試人員進行根本原因的分析,我們會問比如“我們怎么會遺漏
了這個BUG呢?”或者“我們將來如何防止這類BUG?”這些問題,我們的工作就是使
顧客滿意。
新的挑戰出現
復雜和相互關聯的計算機世界使得了測試
安全這一類的新問題讓測試人員不斷努力工作,
但這沒關系――因為這些挑戰使測試人員精力充沛。
測試人員獲得尊重
測試人員將不再是在最后時刻才被叫來“對產品狂轟爛炸”,他們將在整個軟件開發過
程中提供一個可見的、重要的、增值的服務。人們意識到,測試是有益的、有趣的甚至
富有樂趣。
測試變得流行
軟件測試人員開始揚眉吐氣,而且,由于破壞事物至少可以帶來創建事物一樣的樂趣,
人們開始在開發和測試角色之間轉換,所有的人將學到更多關于如何得到良好代碼的
知識。
激情“吸毒者”繼續存在
新的過程運行得如此良好,使得需求撰寫者,開發人員以及測試人員不再具有生命力,
這就使得那些在激情掌控的世界被提升的人惶惶不可終日,那樣的世界意味著工作到
深夜、最后一刻測試才參與,以及如同交戰開火般的會議。而這些人對于那些還沒有
受新的運行過程控制的公司來說還具有吸引力。
Elvis Presley是一個軟件測試員
他的會議發放材料的標題就是:“軟件質量:就是現在,否則永遠不可能”
今天就為將來準備
不管我的預測是否成為現實,未來也會按照它自己的方式到來,下面就是如何準備面
臨未來的五個意見:
1.積極地不滿于現狀
不要接受測試的現狀,四處看看,并且思考“我們在做些什么毫無意義的事情?”
2.拋開人與人之間的封閉
領悟如何更好的測試,并且分享這些知識。只有每一個人都試圖使他所寫的代碼達到
最佳狀態時,整體質量才會改進。
3.學習更多關于測試的東西
如今,行業受軟件測試的創新思維激發。用參加會議,加入郵件列表,網上沖浪,這
些方式來解在測試前沿發生的一切。
4.學習更多關于開發的東西
參加一個
編程學習班,即使你不打算編寫大量的代碼。將學習班當作是在BUG領土上
的一次偵察飛行。
5.挑戰世界
正如PC先驅Alan Kay所言:“預測未來的最好方式就是開創未來”
原文轉自:http://www.anti-gravitydesign.com