轉(zhuǎn)帖|行業(yè)資訊|編輯:蔣永|2016-11-28 13:19:30.000|閱讀 463 次
概述:客戶需要更多的應(yīng)用程序和功能,因此保證移動(dòng)應(yīng)用程序的質(zhì)量對(duì)維護(hù)現(xiàn)有客戶群并獲取新客戶都是必不可少的。鑒于軟件開(kāi)發(fā)和質(zhì)量保證(測(cè)試)的時(shí)間很短,即使有替代策略存在,軟件測(cè)試自動(dòng)化從一定程度上在公司的生命周期中是必要的。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
根據(jù)Pinch媒體數(shù)據(jù)2009年進(jìn)行的研究,一個(gè)移動(dòng)應(yīng)用程序的平均生命周期只有30天。此后移動(dòng)應(yīng)用程序的數(shù)量激增,生命周期變得更短了。這些變化趨勢(shì)要求軟件質(zhì)量保證團(tuán)隊(duì)重新改進(jìn)他們的軟件測(cè)試方法,并將之與移動(dòng)應(yīng)用程序開(kāi)發(fā)團(tuán)隊(duì)和客戶群緊密相連??蛻粜枰嗟膽?yīng)用程序和功能,因此保證移動(dòng)應(yīng)用程序的質(zhì)量對(duì)維護(hù)現(xiàn)有客戶群并獲取新客戶都是必不可少的。鑒于軟件開(kāi)發(fā)和質(zhì)量保證(測(cè)試)的時(shí)間很短,即使有替代策略存在,軟件測(cè)試自動(dòng)化從一定程度上在公司的生命周期中是必要的。
一家app開(kāi)發(fā)公司會(huì)因?yàn)楦鞣N原因(內(nèi)部和外部的都有)而決定將其測(cè)試工作自動(dòng)化。不論深層原因,一旦一家公司決定將其測(cè)試工作自動(dòng)化,就需要一個(gè)系統(tǒng)的方法來(lái)定下自動(dòng)化流程的工具。測(cè)試自動(dòng)化的成功很大程度上取決于所使用的工具。如今市場(chǎng)上有各種自動(dòng)化工具,選擇正確的工具滿足公司特定的測(cè)試需求算得上是一個(gè)蠻有壓力的任務(wù)。
一個(gè)剛開(kāi)發(fā)的產(chǎn)品,相對(duì)來(lái)說(shuō)還是不太穩(wěn)定。在那些階段,手動(dòng)測(cè)試是一個(gè)快速驗(yàn)證產(chǎn)品是否如期運(yùn)行的好方法。為了驗(yàn)證和確認(rèn)(V&V),軟件測(cè)試員應(yīng)該利用這個(gè)階段熟悉產(chǎn)品規(guī)格并編寫(xiě)測(cè)試用例。產(chǎn)品規(guī)格一完成,測(cè)試員應(yīng)該開(kāi)始思考他們?cè)撊绾螌y(cè)試用例自動(dòng)化了。軟件開(kāi)發(fā)公司經(jīng)常要在為特定短期客戶項(xiàng)目挑選工具并投資挑選工具和為長(zhǎng)期項(xiàng)目/產(chǎn)品挑選工具間做出調(diào)解,以避免重新加工或后期浪費(fèi)大筆費(fèi)用。移動(dòng)應(yīng)用程序短暫的生命周期里在形成一個(gè)連貫的工具策略時(shí)提出了一個(gè)管理難題。這種情況下,基于場(chǎng)景的方法可以幫助管理者對(duì)連貫的需求投資負(fù)責(zé),為他們公司的移動(dòng)測(cè)試自動(dòng)化做準(zhǔn)備,并為戰(zhàn)術(shù)和戰(zhàn)略項(xiàng)目投資正確的工具。
1.支持移動(dòng)平臺(tái)
無(wú)論要求規(guī)范是什么,你都需要挑選正確的工具,不僅要支持目標(biāo)操作系統(tǒng)如iOS,Android,Windows以及它們的不同版本,還要支持底層硬件配置。質(zhì)量保證團(tuán)隊(duì)安排其測(cè)試工作時(shí)需要考慮許多移動(dòng)應(yīng)用程序特有的難題。最根本的問(wèn)題之一是搞明白一個(gè)應(yīng)用程序(代碼庫(kù))如何在不同的操作系統(tǒng),界面上運(yùn)行。盡管移動(dòng)平臺(tái)市場(chǎng)的玩家主要是Google和Apple,但開(kāi)發(fā)者仍需要將Symbian和Windows Phone用戶考慮在內(nèi)。即使是在單個(gè)平臺(tái)內(nèi),也有一堆軟件版本等因素要考慮。因此,檢查最老和最新的平臺(tái)支持版本極其重要。
2.支持應(yīng)用程序類(lèi)型
一旦初始自動(dòng)化工具入選,你就需要檢查可以用這些工具所管理的應(yīng)用程序的類(lèi)型。多數(shù)工具都是特定的不能同時(shí)支持本地,混合和web應(yīng)用程序。多數(shù)移動(dòng)測(cè)試進(jìn)程并不是萬(wàn)全之策。因此,很有可能需要在自動(dòng)化流程鏈中挑選一些工具。根據(jù)被測(cè)應(yīng)用程序的類(lèi)型,至少80%的測(cè)試活動(dòng)可以被自動(dòng)化(按照帕累托定律算)。然而考慮到一堆平臺(tái)上的應(yīng)用程序的功能,就需要一些特別的手動(dòng)測(cè)試。使用正確的工具就可以幫助提高效率,減少成本,同時(shí)可以在部署應(yīng)用程序或服務(wù)時(shí),提供一個(gè)客觀環(huán)境來(lái)評(píng)估應(yīng)用程序的質(zhì)量并預(yù)測(cè)實(shí)際環(huán)境中的用戶體驗(yàn)。
3.源代碼要求
為了獲得最佳測(cè)試質(zhì)量,本地移動(dòng)應(yīng)用程序應(yīng)該在安裝程序內(nèi)隨附一些工具特定框架,這樣軟件測(cè)試員就可以向設(shè)備/仿真器發(fā)送一些指令直接用本地應(yīng)用程序執(zhí)行任務(wù)。多數(shù)常規(guī)瀏覽器都有它們自己的網(wǎng)絡(luò)驅(qū)動(dòng)程序,所以測(cè)試員可以在這些特定瀏覽器網(wǎng)絡(luò)驅(qū)動(dòng)程序的幫助下測(cè)試應(yīng)用程序。在多數(shù)情況下,移動(dòng)應(yīng)用程序不會(huì)帶著它們的源代碼或框架被交付給測(cè)試團(tuán)隊(duì),也就是說(shuō),它們可以在不同移動(dòng)平臺(tái)上模擬同樣的功能。在一些情況下,有用于iOS的App Package一類(lèi)的方法,盡管該模塊并不以和擁有源訪問(wèn)的流程一樣的方式提供測(cè)試覆蓋率,但它卻為測(cè)試提供比精易應(yīng)用程序安裝本身更多的容量。于是源代碼和平臺(tái)框架是需要考慮在內(nèi)的重要指南,因?yàn)椴皇强偰軌颢@得測(cè)試用的源代碼,尤其是當(dāng)測(cè)試工作被外包給第三方時(shí)。
4.應(yīng)用程序重構(gòu)要求
移動(dòng)測(cè)試自動(dòng)化的另一個(gè)障礙是修改應(yīng)用程序的要求,即重構(gòu)使之可以被自動(dòng)化工具測(cè)試。重構(gòu)的技巧是能夠驗(yàn)證功能被保留了。測(cè)試專(zhuān)業(yè)需要確保所有變化在重構(gòu)前后都被驗(yàn)證了。盡管將這個(gè)流程自動(dòng)化沒(méi)必要,但這在隨后的回歸中或許有幫助。重構(gòu)復(fù)雜的應(yīng)用程序或代碼模塊是一門(mén)藝術(shù),將這些元素自動(dòng)化應(yīng)該盡最大的努力。挑選的工具應(yīng)該滿足在不同粒度水平交付預(yù)期結(jié)果所需的可擴(kuò)展性要求;或許有必要將第三方庫(kù)包含在測(cè)試項(xiàng)目中,建立你的產(chǎn)品的測(cè)試版本或改善現(xiàn)有交付測(cè)試的app版本。
5.測(cè)試腳本生成
對(duì)于需要大量測(cè)試覆蓋的移動(dòng)應(yīng)用程序,創(chuàng)建實(shí)時(shí)測(cè)試腳本或許會(huì)提出一個(gè)極大的挑戰(zhàn)。盡管測(cè)試自動(dòng)化大大地提高了執(zhí)行效率,但這些效率提高都伴隨著巨大的成本,尤其是開(kāi)發(fā)測(cè)試腳本庫(kù)以確保測(cè)試覆蓋需求的時(shí)候。自動(dòng)化測(cè)試用例腳本生成工具也許能通過(guò)幫助創(chuàng)建關(guān)于運(yùn)行需求的腳本測(cè)試場(chǎng)景進(jìn)一步提高效率并擴(kuò)大測(cè)試范圍。關(guān)于可擴(kuò)展性,所挑選用來(lái)自動(dòng)化生成測(cè)試腳本的工具應(yīng)該要支持腳本參數(shù)。然而該方法通常受限于工具能力且無(wú)法交付和編程方法一樣的覆蓋度,它使用power coding和基本編程語(yǔ)言。編程選項(xiàng)沒(méi)有自動(dòng)化測(cè)試腳本方法那么快,但是其結(jié)果更有效更靈活。因此,有必要評(píng)估可用資源以便在工具評(píng)估過(guò)程中挑選一個(gè)方法。
6.編程語(yǔ)言規(guī)范
廣泛地講,用于開(kāi)發(fā)應(yīng)用程序的編程語(yǔ)言在質(zhì)量保證過(guò)程中起著重要作用。測(cè)試員經(jīng)常選擇過(guò)程語(yǔ)言,例如Perl,Python,Ruby等來(lái)為自動(dòng)化測(cè)試用例創(chuàng)建腳本,因?yàn)檫@些編程語(yǔ)言通常更容易學(xué),不需要匯編(這就節(jié)省了不少時(shí)間),擁有大量用戶群和庫(kù)可供選擇以解決各種自動(dòng)化難題。使用一個(gè)面向?qū)ο蟮木幊陶Z(yǔ)言開(kāi)發(fā)了測(cè)試腳本時(shí),自動(dòng)化經(jīng)常選用面向?qū)ο蟮恼Z(yǔ)言,如Java,C++,.NET等,這對(duì)于解決方案的體系結(jié)構(gòu)十分重要。除了選擇正確的工具和編程語(yǔ)言,測(cè)試員工分配也很重要。重復(fù)利用現(xiàn)有內(nèi)部知識(shí),經(jīng)驗(yàn)和技巧比采用新技巧更有效。
7.運(yùn)行時(shí)對(duì)象識(shí)別
功能和負(fù)載測(cè)試工具有個(gè)根本區(qū)別。功能測(cè)試工具在用戶界面層進(jìn)行,而負(fù)載測(cè)試工具是在協(xié)議層進(jìn)行的。功能測(cè)試工具的運(yùn)行時(shí)對(duì)象識(shí)別幾乎從未達(dá)到過(guò)100%。如果對(duì)象識(shí)別成功率低于50%,那么測(cè)試自動(dòng)化團(tuán)隊(duì)將執(zhí)行這么多解決方案以擊敗測(cè)試自動(dòng)化的對(duì)象。在負(fù)載測(cè)試中,這個(gè)問(wèn)題并不重要。應(yīng)用程序變化和它們對(duì)測(cè)試腳本中對(duì)象識(shí)別的影響對(duì)于測(cè)試自動(dòng)化團(tuán)隊(duì)往往是個(gè)難題。獨(dú)特的對(duì)象識(shí)別大大降低了變化的影響并簡(jiǎn)化了測(cè)試腳本維護(hù)。你必須了解并評(píng)估怎樣在運(yùn)行中使用特定工具進(jìn)行對(duì)象識(shí)別,如果有可能的話,獲取特定對(duì)象以便在收集對(duì)象庫(kù)中的識(shí)別性能上輕松進(jìn)行檢查。
8.數(shù)據(jù)驅(qū)動(dòng)輸入
如今大多數(shù)app都是交互式的,需要用戶在某些時(shí)候鍵入一些東西。知道應(yīng)用程序如何回應(yīng)各組輸入對(duì)于將穩(wěn)定有質(zhì)量的產(chǎn)品推向市場(chǎng)很有必要。數(shù)據(jù)驅(qū)動(dòng)測(cè)試幫助我們理解應(yīng)用程序如何應(yīng)對(duì)各種輸入。不是讓測(cè)試員手動(dòng)將無(wú)窮的數(shù)據(jù)組合或硬-特定代碼輸入測(cè)試腳本,而是測(cè)試基礎(chǔ)設(shè)施框架工作自動(dòng)從數(shù)據(jù)源取值,將取出的數(shù)據(jù)輸入應(yīng)用程序,驗(yàn)證應(yīng)用程序在用另一組值重復(fù)測(cè)試前反應(yīng)正確。自動(dòng)化數(shù)據(jù)驅(qū)動(dòng)測(cè)試極大地?cái)U(kuò)大了測(cè)試覆蓋面,同時(shí)減少了創(chuàng)建更多有不同變量的測(cè)試的需求。重視對(duì)數(shù)據(jù)驅(qū)動(dòng)測(cè)試的使用可以確保應(yīng)用程序是用來(lái)測(cè)試限制條件和無(wú)效輸入的。數(shù)據(jù)驅(qū)動(dòng)測(cè)試常常是基于模型的測(cè)試的一部分,具有覆蓋廣泛輸入數(shù)據(jù)的隨機(jī)性。為了確保擁有不同數(shù)據(jù)組合的測(cè)試執(zhí)行,應(yīng)該要恰當(dāng)管理數(shù)據(jù)源。所選測(cè)試自動(dòng)化工具應(yīng)該包含驅(qū)動(dòng)程序并支持多種數(shù)據(jù)格式,比如平面文件,電子表格和數(shù)據(jù)庫(kù)存儲(chǔ)。
9.結(jié)果和錯(cuò)誤日志
在測(cè)試用例開(kāi)發(fā)和執(zhí)行期間,常常有必要記錄展示更多開(kāi)發(fā)人員特定信息的內(nèi)容。可是對(duì)于測(cè)試經(jīng)理來(lái)說(shuō),知道一個(gè)特定測(cè)試是通過(guò)還是失敗就足夠了。根據(jù)要求,或許有必要自動(dòng)抓取失敗測(cè)試過(guò)程的截圖和錄像,讓開(kāi)發(fā)員可以更輕易地再現(xiàn)問(wèn)題并找出其根本原因。自動(dòng)化工具也應(yīng)該要有必要的過(guò)濾器來(lái)根據(jù)類(lèi)型,文本,優(yōu)先級(jí),時(shí)間及其他重要屬性挖掘日志信息。允許從時(shí)間軸上的一個(gè)自動(dòng)化測(cè)試運(yùn)行到另一個(gè)查看日志總結(jié)并用于配置報(bào)告格式的工具也是挑選測(cè)試自動(dòng)化工具時(shí)需要考慮的功能。
10.連續(xù)測(cè)試
連續(xù)測(cè)試方法背后的中心思想是,經(jīng)常推進(jìn)代碼變化并快速得到關(guān)于這些變化對(duì)現(xiàn)有系統(tǒng)的影響的反饋。一個(gè)強(qiáng)大的測(cè)試自動(dòng)化框架應(yīng)該能夠支持團(tuán)隊(duì)合作和自動(dòng)化測(cè)試基礎(chǔ)設(shè)施組件(比如:集成開(kāi)發(fā)環(huán)境即IDE,測(cè)試框架,版本控制,測(cè)試配置管理,問(wèn)題追蹤,報(bào)告生成等等)的集成。連續(xù)測(cè)試以及使用現(xiàn)有質(zhì)量保證工具和技術(shù)的集成對(duì)QA流程效率非常重要。不進(jìn)行連續(xù)測(cè)試就會(huì)讓缺陷有機(jī)可乘。發(fā)現(xiàn)了缺陷,就要在上面放更多代碼,使得對(duì)后面所發(fā)現(xiàn)缺陷的修復(fù)更難更貴。即刻測(cè)試變化大大減少了找出缺陷的成本,因此自動(dòng)化工具應(yīng)該用每個(gè)提交觸發(fā)生成并自動(dòng)執(zhí)行相關(guān)測(cè)試或一天中隔一段時(shí)間執(zhí)行一次。此外,將測(cè)試集分解得更小,平行運(yùn)行測(cè)試集,自動(dòng)給正在弄已發(fā)現(xiàn)缺陷的代碼的開(kāi)發(fā)員分配缺陷是獲得高質(zhì)量結(jié)果的最便宜最快速的方法。該方法也給開(kāi)發(fā)員提供了嘗試的空間,同時(shí)從回歸保護(hù)主代碼庫(kù)。如此,測(cè)試每段代碼分支都和測(cè)試主代碼一樣嚴(yán)格。這樣一個(gè)從連續(xù)集成到新分支的應(yīng)用程序一旦建立就可以幫助發(fā)現(xiàn)兼容問(wèn)題并緩解最后的集成。
11.定價(jià)模式
測(cè)試自動(dòng)化經(jīng)常被視作成本很高的一個(gè)主要原因是:自動(dòng)化工作是單獨(dú)完成的,與主開(kāi)發(fā)工作完全分開(kāi)。有效躲開(kāi)阻礙測(cè)試的設(shè)計(jì)決策的后果,開(kāi)發(fā)員繼續(xù)創(chuàng)建幾乎無(wú)法自動(dòng)化的軟件。有效的敏捷團(tuán)隊(duì)(團(tuán)隊(duì)中每個(gè)參與自動(dòng)化測(cè)試的開(kāi)發(fā)員)打破了這些限制,自動(dòng)化測(cè)試進(jìn)入一個(gè)開(kāi)發(fā)者可以在里面檢查他們的代碼的常用庫(kù)。這樣就大大減少了測(cè)試自動(dòng)化的成本。有一些免費(fèi)的開(kāi)源和專(zhuān)門(mén)的測(cè)試工具可以用來(lái)評(píng)估。選好了開(kāi)源工具,就有機(jī)會(huì)檢查工具評(píng)估有多穩(wěn)定以及那些工具有多快能否支持技術(shù)的最新變化。對(duì)于專(zhuān)門(mén)的解決方案,工具的價(jià)格是證明投資和ROI計(jì)算時(shí)需要考慮的關(guān)鍵因素之一。檢查許可模式也很重要,比如按使用次數(shù)、節(jié)點(diǎn)、站點(diǎn)許可證、有效期等支付。另一個(gè)需要重點(diǎn)考慮的是加載項(xiàng)、支持和更新的可用性以及這些功能是否需要額外花費(fèi)。最后也是最重要的一點(diǎn),所選工具的易用性。工具的復(fù)雜度應(yīng)該和測(cè)試團(tuán)隊(duì)接受新工具的能力,公司的編程能力相匹配。
本文轉(zhuǎn)自 作者:Mithun Sridharan
>>>>>查看更多測(cè)試分析相關(guān)資訊、產(chǎn)品
活動(dòng)時(shí)間:11月1日-11月30日
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn