整體思考自動化測試發展和價值回報
很長一段時間,都在思考,怎么能通俗的看待自動化測試的收效。
自動化測試到底能不能成為一種趨勢?
自動化測試到底能不能形成一種規模?
自動化測試到底能不能成為我們的利器?
自動化測試到底能對我們的職業帶來何種發展?
一些官方總是從各種數字上面來說自動化的收效,可是那種計算就真的是準確和令人信服的嗎?每個公司的情況不一樣,而且每個公司有自己獨特的研發模式和流程,而不同的流程所帶來的測試體系和觀念又不一樣。
但總的來說,自動化測試肯定是會有收效的,關鍵就是看你如何去做。因此我從整體上思考了一下自動化測試的發展:
1、信息科技增長對公司的影響來說:如今,信息科技大爆炸,中國開始走向國際,而國際上,不僅實體產品還是軟件產品,不管設備產品還是服務產品,都令中國市場應接不暇;不僅僅是種類的增加,更多的質量的整體要求大大提升;但是從古至今,中國企業很大部分關注的是其產品的有無,而對后期的質量保證卻并不是特別關心,這主要是因為中國以前本身市場的浮躁造成的。
孰不知,當今市場,越是浮躁,看似產品上市快,但是其造成的后期維護成本占據了整個成本很大的一部分。大家都知道,一個BUG,越早發現,其帶來的影響程度越小,如果等到其投入市場,則會帶來不可預知的大的負面影響;因此,可以想的到是,越到后來,其公司規模越來越趨于兩極化,大的愈大,小的愈小,就在于其對待產品質量的重視程度上,其測試會越來越得到看重,但其對測試人員的水平會越來越要求高端。
2、市場發展對產品的影響來說:因為市場的快速,其要求產品的更新和發布也需要達到更快更穩定的程度;因此,單純的靠手工測試已經遠遠無法保障其產品發布和發現問題的效率;因此,自動化測試必然會是一種趨勢,而且后期這種趨勢會越來明顯。而且,敏捷測試流程以及云計算帶來的數據規模也可以說明,其要求測試的效率和測試的問題發現要求越來越高,但靠人來進行手工測試是越來越不可能達到了。
3、大型企業的測試體系來說:再從大型公司收益上來說;軟件服務公司,像微軟、IBM等巨頭,都有自己一套自動化測試體系和平臺,以前有人告訴我,微軟真正的核心不在于其產品,而是在于其測試系統平臺;很簡單,因此,你可以去復制一套微軟的操作系統,但是你復制不了其內部測試系統;你拿過來他的操作系統,更改一下的結果就是漏洞百出,完全不能用,那是因為不經過其微軟的測試系統的測試,其產品穩定性根本無法得到保障。
而像電信設備商,華為、中興等,從很早就開始投資自動化測試平臺,每一套產品都有自己對應的自動化測試平臺,舉個簡單例子,華為一套網管自動化測試平臺,就能每年為華為節省數***以上的成本,當然,這只是顯性成本,不包括隱性成本(即后期因問題維護量帶來的成本)
4、世界自動化測試發展來說:據了解,現在自動化測試已經越來越得到各個大型的企業的重視,自動化測試已經經歷了很長的一段磨合期,而現在已經處于初步發展期了,很多大型公司開始致力于自動化測試的推廣,拋開那些大型公司發布的的商業自動化測試軟件不說,一些開源軟件也越來越得到發展。
而且,最近,很多大型公司共同成立了NTAF論壇(網絡測試自動化論壇),其包括CISCO、思博倫通信、IXIA、EXFO等二十多家大型公司,而且NTAF論壇共享很多測試用例及框架,不過只能成員使用;因此,可以看到,自動化測試的重視程度越來越高。
5、公司自動化測試失敗原因來說:為什么,自動化測試很多時候都是公司各搞各,很少能聽到公司自動化測試能規模化的樣例,很多公司將其歸于投資成本問題或者自身獨特問題,其實不然,自動化測試是需要投資,可是如果投資不到地方,就會造成很多浪費;很多公司,很多部門,只是腦袋一熱,然后就一味的找各種工具,一味的編寫各種腳本,缺少了前期的需求分析和整體上的把握。
自動化測試到底給公司、部門帶來的什么,完全對此沒有一個清晰的概念,這樣怎么能不造成自動化測試的失敗。
6、自動化測試人員認識水平:作為一個自動化測試人員來說,如果公司部門將自動化測試的重任交與你,那么,你就要跳出單純的自動化測試使用的認識上,而是要從公司的產品線和整體流程上把握自動化測試過程;自動化測試不僅僅是需要技能水平,更重要的是一個思考過程;不思考,不自動化測試。
所以說,自動化測試的規模不是自動化測試本身的問題,也不是公司部門的投資與產品線問題,而是個人主觀問題;
7、自動化測試技能發展水平:自動化測試人員,基本的技術水平應該是全面發展,而是單一發展,其不像開發,但是也要把自己在技術水平上盡量要求高,至少能懂得開發的思想和產品的思想;個人覺得,其需要懂得
1)產品業務的知識,設備還是軟件等
2)流程管理的知識及各種研發模型
3)編程能力;精通腳本思想;熟練JAVA或者C++等,在進行自動化測試腳本開發或者自動化工具開發的時候起到很大作用;數據庫知識,能夠幫助你建立一套自動化用例和數據管理體系;操作系統知識,windows和liunx必須掌握;HTML、XML等語言,反正一句話,知識不一定要精通,但一定要懂。
4)溝通能力;與研發和領導的溝通,看似自動化測試是在做技術,其實不然,其實那是在做產品,做服務,你要向公司和部門推銷你的理念和框架,那么你就得一步一步拿出東西,不能太急,也不能太慢。
作為個人,如何幫助部門和團隊快速建立起一套自動化平臺體系,其技術和研發水平是一個方面,更重要的是策略,如何步步深入,各個擊破,是一個很值得深思的過程。
***,作為測試人員,眼光要放長遠,帶著一顆平和的心態,測試不一定比研發差,關鍵在于自己怎么去對待測試,很多人想做自動化測試,是因為其含有一定的技術水平,孰不知,其道理亦是相通,做一個只會用工具或者只會因為自動化測試而做自動化測試的自動化測試人員,和只會重復測試的手工測試人員,性質是差不多的;真的要想去提高自己,那么就得耐得住學習的寂寞,慢慢學會從整體上把握;你只有從整體上給公司真正來帶來了成本效益,那么你的價值才會真正得到突出。因此,共勉之。
最重要的一條:我不是說,自動化測試會占據大部分測試流程與體系,相反,其人工測試還是在重點,但關鍵的是如何平衡自動化測試與人工測試,我一直覺得:我們測試人員***缺陷在于很多測試任務都不是挑戰性的、有意義性的任務,而只是重復性的、純手工性的測試。
因此,個人覺得,測試人員與自動化測試的分工,就是自動化測試去完成那些大部門沒有意義的事情,測試人員從整體把握質量流程、包括測試用例的更新和維護、產品異常測試、自動化測試小工具的開發等。真的想將一個公司帶來成本效益,關鍵在于測試人員與自動化測試的一個定位和分配問題,這也得從整體上把握。
總之,自動化測試發展是大勢所趨,其發展到何種程度,還得看中國市場的發展和廣大自動化測試愛好者,和測試從業者的共同的努力。
【編輯推薦】