【摘要】 測試是軟件開發的一個重要環節。本文論述了軟件測試自動化測試的實施。從自動測試的好處. 影響軟件測試自動化實施的因素產生原因等幾個方面出發.總結軟件自動化測試的方案。
【關鍵字】軟件測試 軟件自動化測試
軟件測試自動化,已經成為國內軟件工程領域一個眾所周知的課題;不言而喻,軟件測試從業者都意識到軟件測試這項工作走向成熟化、標準化的一個必經之路就是要實施自動化測試。也許您認為實施自動化測試不是必須,也許您認為測試的思想是開展該工作的精髓、而工具只是輔助,那么我要告訴你我的想法:從計算機這一龐大學科發展至今,它最根本的意義是解決人類手工勞動的復雜性,成為替代人類某些重復性行為模式的最佳工具;我們不可推翻測試思維在測試工作中的指導思想地位,但如何將思想轉化成可操作的方案,本文也許會給您一些啟示。
以前聽過北京中軟的一個業內專家講一句話,覺得挺經典:凡是說既是科學又是藝術的學科,就是說明它是不成熟的學科!他將軟件工程和建筑行業做類比,讓我們深深體會到軟件工程走向成熟化的任重與道遠。而軟件測試,更是一個新興的領域,雖然近幾年得到了快速發展,也隨著該領域從業者數量的與日俱增,培養了一批高級的人才;但是依然有多少企業和個人工作在迷茫中:這種困惑是因為工程師們手中的測試工作與理想的測試模式造成的強烈反差,這種無奈是因為他們和開發人員一樣的努力卻有不同的待遇,這種迷茫是因為測試工作者不知道這個領域里是否還有自己的發展空間和人生價值的體現!筆者認為:如今的軟件測試行情,正處在群雄逐鹿的混戰歲月,每個人、每個有測試部門或從事測試業務的企業,都該發揚百花齊放、百家爭鳴的精神,多多借鑒國內外先進的測試經驗,參考業界流行的行業標準,找到適合自己團隊的測試方法和模式,創造更大的社會價值,發揮更大的人生價值。
實施軟件測試自動化的理由分析
首先,測試人員的工作比以往任何時候都更加困難,因為公司和組織希望以更快的速度和更低的成本開發出高質量的應用程序。
此外,在很多項目中,測試人員的所有任務實際上都是手動處理的,而實際上,有很大一部分重復性強的測試工作,是可以獨立開來自動實現的。
還有,在大型項目中測試團隊和其他的團隊之間沒有足夠的合作,無法促進彼此的工作。
最后,從個人角度來說,測試人員通常很難花費大量時間來學習新技能;這是目前國內測試從業者的現狀,太多的企業為了節約成本而將剛剛走出校門的畢業生作為測試工程師,他們每日做著繁忙的重復工作,又基于自身技能的不深,雖懷博覽群書的心愿卻不知從何出入手。所謂光陰似箭,因為一轉眼我們就說到未來的5年、10年后,我們這些技能不深的測試工程師能做什么呢?而軟件測試自動化,也是未來測試工程師或即將成為測試工程一項強有力的工作技能。
可以說,實施測試自動化是軟件行業一個不可逆轉的趨勢,如果在這個領域走在了前列,無論從企業的核心競爭力還是個人的工作技能來說,都有巨大的優越性,而國內眾多的軟件廠商也的確在紛至沓來的著手開展著這項工作。
當然國內軟件測試自動化實施現狀分析
隨著眾多具有了一定優秀實施自動化測試經驗的企業陸續出現,也伴隨著很多組織對這項工作依然是丈二的和尚-摸不著頭腦。對當前國內軟件企業實施或有意向實施測試自動化時面臨的主要問題,按實施的不同層次來說:
——干脆認為測試自動化是個遙不可及的事情,我們這樣的小公司不必實施,人員、資金、資源都不足,以后再說吧!
——熱血沸騰的實施測試自動化,購買了工具,推行了新的測試流程;幾個月后,工具放在那里成了共享資源,測試流程又濤聲依舊,回到原來的模式。
——公司實施了自動化測試;然而開發與測試之間,甚至與項目經理之間矛盾重重,出了事情不知如何追究責任;雖然還在勉強維持的自動化測試,但實施的成本比手工測試增加了,工作量比從前更大了,從而造成項目團隊人員怨聲載道,更懷念起那段手工測試的悠閑歲月,唉!那一場風花雪月的事,既然要結束又何必開始…
——自動化測試實施相對比較成功,但或多或少還有些問題,比如工具選擇不準確,培訓不到位,文檔不完備,人員分配不合理,腳本可維護度不高等等,造成一種表面上的自動化測試流程,是一幅空架子,如同山間竹筍,嘴尖皮厚腹中空。
國內軟件測試自動化實施不成功原因分析
——公司高層意識不到軟件測試自動化的重要性;殊不知,其他競爭對手們都大張旗鼓的開展這方面研究和策劃的時候,自己還對此持漠視態度,等到整個行業都提高到一個新的層次,那時再著手做,可能就是熱鍋上的螞蟻了。
——所謂凡事預則立,不預則廢。一個軟件企業實施測試自動化,絕對不是拍腦袋說干就能干好的,它不僅涉及測試工作本身流程上、組織結構上的調整與改進,甚至也包括需求、設計、開發、維護及配置管理等其他方面的配合。
——軟件開發是團隊工作,在這一領域要尤其注重以人為本;所以人員之間的配合、測試組織結構的設置非常重要,每個角色一定要將自己的責任完全擔負起來,這也是減少和解決前述團隊矛盾的必要手段。
——對開展自動化測試的監督和評估相當重要,也包括對工作產品的檢查和人員的考核。一定要將自動化測試全面深入的貫徹到測試工作中,不能敷衍了事,不能做表面工作。這項工作在CMM三級里規范的很好,只可惜我們的很多公司對CMM真的只是“過級”!
正確認識國內未實施軟件測試自動化的根源
目前國內的軟件公司,很多還是處于獲取資本的原始積累階段,我們不能說公司領導完全不重視測試,而是測試整體行業都沒有被重視起來,這是其一;其二是公司高層有更需要重視的環節,例如尋找客戶簽訂單,或者開發,這些是直接關系公司存亡的命脈性東西。
即便企業重視測試,如果公司做一番比較全面的評估(在后續的測試自動化引入入條件里,再詳細說明),也不一定非要實施自動化測試。筆者認為一些中小軟件公司在大刀闊斧推行自動化測試之前,在測試流程管理、測試缺陷流程、測試人員技能培訓等方面做工作,這樣可以用比較少的成本投入來獲取相對較大且長期的收益回報。
原文轉自:http://www.anti-gravitydesign.com