原創(chuàng)|使用教程|編輯:鄭恭琳|2020-06-09 14:10:21.347|閱讀 168 次
概述:在過(guò)去的幾年中,UI測(cè)試的活動(dòng)有所增加。新的令人興奮的工具已進(jìn)入市場(chǎng),帶來(lái)了各種創(chuàng)新方法,使傳統(tǒng)上相當(dāng)復(fù)雜的過(guò)程變得簡(jiǎn)單。 過(guò)去,我們只有大型解決方案,例如IBM Rational Suite或Mercury/HP/MicroFocus QTP/UFT。現(xiàn)在,我們看到許多人從“傳統(tǒng)”測(cè)試自動(dòng)化工具轉(zhuǎn)向諸如Selenium之類的開(kāi)源替代方案,或由mabl,Selenic或Functionize之類的新型創(chuàng)新AI驅(qū)動(dòng)的解決方案或框架。這種轉(zhuǎn)變引起了很多炒作,但它也植根于解決常見(jiàn)的抱怨和挑戰(zhàn),如果您采用的是新工具,則需要確保解決。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在過(guò)去的幾年中,UI測(cè)試的活動(dòng)有所增加。新的令人興奮的工具已進(jìn)入市場(chǎng),帶來(lái)了各種創(chuàng)新方法,使傳統(tǒng)上相當(dāng)復(fù)雜的過(guò)程變得簡(jiǎn)單。
過(guò)去,我們只有大型解決方案,例如IBM Rational Suite或Mercury/HP/MicroFocus QTP/UFT。現(xiàn)在,我們看到許多人從“傳統(tǒng)”測(cè)試自動(dòng)化工具轉(zhuǎn)向諸如Selenium之類的開(kāi)源替代方案,或由mabl,Selenic或Functionize之類的新型創(chuàng)新AI驅(qū)動(dòng)的解決方案或框架。這種轉(zhuǎn)變引起了很多炒作,但它也植根于解決常見(jiàn)的抱怨和挑戰(zhàn),如果您采用的是新工具,則需要確保解決。
但是,當(dāng)然,這不只是挑選“最佳人選”并前往城鎮(zhèn)而已。無(wú)論您是決定自己構(gòu)建框架,擁有最終控制權(quán),還是決定進(jìn)入擁有高級(jí)功能(如自我修復(fù)或并行執(zhí)行)的專有框架,任何解決方案中都應(yīng)具備七個(gè)重要因素考慮。
聽(tīng)起來(lái)像是個(gè)問(wèn)題,對(duì)不對(duì)?不是。對(duì)于希望自動(dòng)進(jìn)行Web UI測(cè)試但又不想被鎖定在供應(yīng)商平臺(tái)中的組織,Selenium已迅速成為事實(shí)上的標(biāo)準(zhǔn)。
作為一個(gè)社區(qū),Selenium開(kāi)放源代碼項(xiàng)目將商業(yè)供應(yīng)商和開(kāi)放源代碼純粹主義者聚集在一起,使之成為我們行業(yè)中最強(qiáng)大的框架之一——并且正在被大量使用。
根據(jù)我們的研究,超過(guò)64%的用戶正在使用Selenium進(jìn)行UI測(cè)試自動(dòng)化。你是?
這是必須考慮的因素。您在使用Selenium嗎?如果不是這樣,那么現(xiàn)在正是考慮未來(lái)的好時(shí)機(jī),以及您希望未來(lái)的測(cè)試計(jì)劃有多靈活。現(xiàn)在市場(chǎng)上的許多解決方案都具有類似Selenium的功能或基于Selenium的,專注于導(dǎo)入/導(dǎo)出純Selenium測(cè)試的價(jià)值。但是它們不能在純Selenium上運(yùn)行,也不能執(zhí)行純Selenium,因此您必須在其技術(shù)的限制內(nèi)工作。
頁(yè)面對(duì)象模型是一種UI測(cè)試設(shè)計(jì)范例,用戶可以在其中定義與它們所在的頁(yè)面相關(guān)聯(lián)的UI元素。如果您還不熟悉,這是。為了主動(dòng)解決可維護(hù)性問(wèn)題,您希望UI測(cè)試?yán)么隧?yè)面對(duì)象模型范式,因?yàn)橛捎谠匚恢帽欢x在一個(gè)位置,然后在整個(gè)測(cè)試套件中加以利用,使得維護(hù)腳本更加容易。
頁(yè)面對(duì)象方法功能強(qiáng)大,因?yàn)樗兄诮鉀Q應(yīng)用程序更改時(shí)的可維護(hù)性問(wèn)題。在頁(yè)面對(duì)象模型中,頁(yè)面上的元素是在一個(gè)位置定義的,因此,如果您確定某個(gè)特定的Web元素已經(jīng)移動(dòng),則不必遍歷整個(gè)腳本來(lái)更新每個(gè)單獨(dú)的定位器。頁(yè)面對(duì)象模型使您可以為頁(yè)面上的元素提供單一的事實(shí)來(lái)源,從而使所有這些工作更加自動(dòng)化。
執(zhí)行UI測(cè)試時(shí)發(fā)生的大多數(shù)維護(hù)問(wèn)題源于由于應(yīng)用程序UI更改而中斷的測(cè)試用例。因此,在設(shè)計(jì)UI測(cè)試時(shí)要做的最重要的事情之一就是建立一種方法來(lái)為每個(gè)元素定位器創(chuàng)建可靠性和穩(wěn)定性。
一些新的UI測(cè)試工具正在采用獨(dú)特的創(chuàng)新方法,使用各種不同的術(shù)語(yǔ),即“智能定位器”或“魔術(shù)綁定”。無(wú)論如何,在為單個(gè)元素定義多個(gè)定位器或采用最佳定位器定義策略方面,您有很多潛力可以從所有這些創(chuàng)新中受益。
自我修復(fù)聽(tīng)起來(lái)像是在做夢(mèng),在這種情況下,我們的自動(dòng)化測(cè)試會(huì)自動(dòng)識(shí)別故障發(fā)生的位置,然后自行解決問(wèn)題。瘋狂的是,這實(shí)際上在許多流行的UI測(cè)試工具中都是現(xiàn)實(shí)的。通過(guò)利用智能定位器,這些UI測(cè)試工具可以在運(yùn)行時(shí)嘗試不同的定位器或在UI中自動(dòng)識(shí)別按鈕的方式。
現(xiàn)在,我已經(jīng)下定決心,在任何UI測(cè)試解決方案中,我都將其視為嚴(yán)格的必要條件,因?yàn)樽罱K我們將嘗試減少測(cè)試流失和總體測(cè)試周期。如果您已經(jīng)創(chuàng)建了數(shù)千個(gè)UI測(cè)試并且每天晚上運(yùn)行它們,那么您就不希望其中的一半中斷,因?yàn)橛腥藢粹o從“添加”更改為“購(gòu)物車”,然后又添加到了“購(gòu)物籃”。
在您的軟件開(kāi)發(fā)組織中,您可能已經(jīng)在某種類型的IDE(即Eclipse,IntelliJ)中編寫代碼,并且可能正在使用Jenkins之類的構(gòu)建系統(tǒng)來(lái)構(gòu)建該代碼。這些框架將在您的整個(gè)組織中建立,它們都是經(jīng)過(guò)實(shí)踐檢驗(yàn)的框架,因此對(duì)于將UI測(cè)試解決方案集成到已構(gòu)建的框架中而言,這顯然是有益的。
許多UI測(cè)試工具都是各自獨(dú)立的工具,因此可能確實(shí)很棒,因?yàn)檫@意味著它們專注于構(gòu)建可解決所有這些挑戰(zhàn)并最終控制生成的測(cè)試腳本的解決方案。但是供應(yīng)商鎖定(我將在后面再討論)是危險(xiǎn)的,并且我們已經(jīng)看到組織正因?yàn)檫@個(gè)原因而放棄大型解決方案。由于開(kāi)發(fā)人員和測(cè)試人員比以往任何時(shí)候都更加精通技術(shù),因此他們希望訪問(wèn)其測(cè)試腳本。因此,當(dāng)您查看UI測(cè)試工具時(shí),可以看到您的測(cè)試腳本是否可以移植,不僅可以與必須集成到DevOps管道中的其他腳本一起使用,還可以真正地集成到現(xiàn)有框架中。
用戶體驗(yàn)在B2C Web應(yīng)用程序中尤其重要,在該應(yīng)用程序中,令人困惑的UI或不可靠的客戶體驗(yàn)會(huì)迅速影響收入,并且組織意識(shí)到確保體驗(yàn)的無(wú)縫性至關(guān)重要。隨著每天涌現(xiàn)出新項(xiàng)目并且測(cè)試要求如此之高,尤其是在轉(zhuǎn)向敏捷時(shí),能夠使自己擺脫困境可能意味著準(zhǔn)時(shí)發(fā)布和錯(cuò)過(guò)窗口之間的區(qū)別。您的UI測(cè)試工具將幫助您驗(yàn)證關(guān)鍵的客戶體驗(yàn)-但是,如果您嘗試做某事并且無(wú)法弄清楚,讓供應(yīng)商的支持團(tuán)隊(duì)為您提供暢通無(wú)阻的選擇是您可以做出的選擇,隨時(shí)隨地都有。
有一些開(kāi)放框架可以很容易地集成到您現(xiàn)有的框架中,但是如果沒(méi)有強(qiáng)大的支持,當(dāng)在關(guān)鍵版本發(fā)布之前出現(xiàn)問(wèn)題并且沒(méi)有人負(fù)責(zé)時(shí),會(huì)發(fā)生什么?Selenium是一個(gè)很好的例子-盡管它功能強(qiáng)大,并且擁有出色的社區(qū)支持,但是當(dāng)出現(xiàn)問(wèn)題時(shí),沒(méi)有人可以打電話。
正如我之前所說(shuō),在過(guò)去幾年中,有20多種新的UI測(cè)試工具進(jìn)入了市場(chǎng)。接下來(lái)的五個(gè)代表什么?毫無(wú)疑問(wèn),我們現(xiàn)在所做的一切都會(huì)改變,尤其是從UI測(cè)試的角度來(lái)看。必然會(huì)出現(xiàn)一些令人興奮的新事物,因此現(xiàn)在考慮我們?nèi)绾未龠M(jìn)遷移過(guò)程非常重要。這樣做的關(guān)鍵是確保您引入的任何解決方案都不會(huì)將您鎖定在專有框架中。
由于Selenium可以在任何管道中輕松執(zhí)行并以代碼形式實(shí)現(xiàn),因此它具有很高的靈活性。一些新的解決方案已考慮到這一點(diǎn),并使用導(dǎo)入/導(dǎo)出機(jī)制來(lái)允許您切入和退出其工具,但是導(dǎo)入和導(dǎo)出需要驗(yàn)證其是否有效。這并不像您想的那么容易。在我看來(lái),如果供應(yīng)商對(duì)其功能有信心,則應(yīng)提供此功能。當(dāng)您查看UI測(cè)試工具時(shí),您可以問(wèn):“我是否被其框架所束縛?”
如果您正在查看UI測(cè)試工具并希望獲得方便的指南,請(qǐng)查看每個(gè)人都在談?wù)摰氖笮耈I測(cè)試工具,并在考慮應(yīng)該在軟件交付過(guò)程中采用哪些工具時(shí)開(kāi)始提出這些問(wèn)題。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn