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