轉帖|行業資訊|編輯:龔雪|2015-12-25 13:22:14.000|閱讀 449 次
概述:本文就從新趨勢來分析一下給軟件測試帶來了哪些影響。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
2015年11月,ThoughtWorks發布了新一期的技術雷達。技術雷達是以獨特的形式記錄ThoughtWorks技術顧問委員會對行業產生重大影響的技術趨勢討論的結果,為從CIO到開發人員在內的各方利益相關者提供價值。這期雷達的技術趨勢主要體現在:受到熱捧的微服務相關技術,逐步成熟的以Docker為典型的容器化生態系統,備受企業和用戶關注的信息安全問題。本文就從這幾個新趨勢來分析一下給軟件測試帶來了哪些影響。
在這個快速變化發展的時代,任何一款產品想要在市場具備競爭力,必須能夠快速適應和應對變化,要求產品開發過程具備快速持續的高質量交付能力。而要做到快速持續的高質量交付,自動化測試將必不可少。同時,自動化測試也不是用代碼或者工具替代手工測試那么簡單,有了新的特點和趨勢:針對不同的產品開發技術框架有著不同的自動化技術支持,針對不同的業務模式需要不同的自動化測試方案,從而使得自動化測試有著更好的可讀性、更低的實現成本、更高的運行效率和更有效的覆蓋率。來自技術雷達的下列主題分別體現了自動化測試的這些特點:
工具很重要,設計不可少!自動化測試工具云集,但做自動化也不要沖動,需要重視以下幾點:
測試環境的準備在過去是一個比較麻煩和昂貴的事情,很多組織由于沒有條件準備多個測試環境,導致測試只能在有限的環境進行,從而可能遺漏一些非常重要的缺陷,測試的成本和代價很高。隨著云技術的發展,多個測試環境不再需要大量昂貴的硬件設備來支持,加上以Docker為典范的容器技術生態系統也在逐步成長和成熟,創建和復制測試環境變得簡單多了,成本大大的降低。技術雷達推薦的鳳凰環境(Phoenix Environment),它使用鳳凰服務器(Phoenix Server)的模式,能夠以自動化的方式支持測試、開發、UAT和災難恢復所需的新環境準備。這一技術由上期的評估環上升到了采用環,表明它已經得到了驗證和認可,是可以放心使用的技術。
另一方面是大量開源工具的出現,這些工具往往都是輕量級的、簡單易用,相對于那些重量級的昂貴的測試工具更容易被人們接受。測試工作有了這些開源工具的幫助,將更加全面、真實的覆蓋到要測試的平臺、環境和數據,將會加快測試速度、降低測試成本;更重要的一點,有了這些工具,讓測試人員能夠騰出更多的時間來做測試設計和探索性測試等更有意思的事情,使得測試工作變得更加有趣。新技術雷達提到的開源工具有:Mountebank、Postman、Browsersync、Hamms、Gor和ievms等。
“安全是每一個人的問題”!互聯網安全漏洞頻繁爆發,安全問題已經成為每個產品迫切需要關注和解決的問題,安全測試將需要貫穿于軟件開發的整個生命周期。同時,給軟件測試人員帶來了更多的機遇和挑戰,要求具備更多的安全相關知識(其中還包括更多的計算機基礎知識),掌握已有的安全測試相關技術,從而在軟件開發的各個階段做好安全相關的分析和測試工作。盡管有些團隊已經將安全跟整個開發實踐結合起來,但培養每個人在每個階段的安全意識還相當的重要,探索新的安全測試技術、方法還有很多空間。
技術雷達上列出的安全測試相關的技術和工具有:Bug bounties、威脅建模(Threat Modelling)、ZAP和Sleepy Puppy。
大多數軟件都是做項目的模式,在不同的檔期內進行計劃、實現和交付。敏捷開發極大的挑戰了這種模式,通過在開發過程中各個階段進行的分析和測試工作,持續的發現新的需求,使得需求更趨于合理化,更能體現業務價值。精益創業的技術,如觀察需求的A/B測試,進一步削弱了這種心態。技術雷達推薦“產品優于項目(Product over project)”,認為大多數的軟件開發工作應該遵循精益企業的引領,將自己定義為構建支持業務流程的產品。這樣的產品并沒有所謂的最終交付,更多的是一個探索如何更好的支持和優化業務流程的過程,只要業務依然有價值就會不斷持續下去。
作為軟件開發中的關鍵角色、負責軟件測試的QA人員,通過從用戶角度對軟件的測試,結合自身對軟件產品的了解,對優化業務價值將會起到舉足輕重的作用。軟件測試不僅是檢驗軟件是否滿足規定的需求或弄清預期結果與實際結果之間的差別的過程,還需要有意識的對需求進行持續的驗證和優化,對業務的趨勢和風險進行分析。如果能在開發過程中結合使用BDD(行為驅動開發)的思想,統一團隊對需求的認識,利用團隊的力量來優化業務將會達到事半功倍的效果。
傳統方式下,QA角色主要專注于保證軟件產品在類產品環境下的質量。隨著持續交付的出現,QA角色逐漸轉變到需要分析軟件產品在產品環境下的質量。產品環境下的QA(QA in production),就是要求QA角色在做好產品上線前的質量保證工作前提下,做好軟件產品在產品環境下的質量分析。具體做法有:
(一)引入產品系統的監控, 制定檢測條件,找出產品環境下使用的質量度量。比如,利用網站分析工具收集用戶使用應用程序的數據,分析數據量需求、產品的性能趨勢、用戶的地域特征、用戶的行為習慣和產品在同類型產品市場的占有率等。
(二)收集產品環境下最終用戶的反饋,對反饋進行分類分析。這些反饋可能有:
通過對產品環境下的軟件質量進行分析,將有利于協助“產品優于項目”實踐,幫助優化業務價值,做好企業產品的創新工作。需要注意的是,產品環境下的QA可能會導致有些組織走的太遠而忽視產品上線前的質量保證,它只對那些已經執行并有一定程度持續交付實踐的組織有價值。
軟件測試是一項技術工作,但軟件測試領域的問題不僅僅是技術問題。隨著自動化程度越來越高,不斷有人懷疑QA存在的必要性,從前面的分析可以看到,新趨勢給QA提出了更高的要求,帶來了更多的機遇和挑戰,相信好的QA是不可能簡單的被取代的。
本文轉載自
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn