强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁(yè) > 廠商 > 問(wèn)答 > 人工智能自動(dòng)化測(cè)試框架,自動(dòng)化測(cè)試框架都有哪些

人工智能自動(dòng)化測(cè)試框架,自動(dòng)化測(cè)試框架都有哪些

來(lái)源:整理 時(shí)間:2023-06-24 11:26:54 編輯:智能門戶 手機(jī)版

1,自動(dòng)化測(cè)試框架都有哪些

自動(dòng)化測(cè)試框架主要分為以下幾種,可以根據(jù)項(xiàng)目需要進(jìn)行選擇1.模塊化框架(test script modularity)。2.函數(shù)庫(kù)結(jié)構(gòu)框架(test library architecture)。3.關(guān)鍵字驅(qū)動(dòng)測(cè)試框架(keyword-driven/table-driven testing)。4.數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架(data-driven testing)。
我之前開始自動(dòng)化測(cè)試的時(shí)候也上網(wǎng)查閱過(guò)很多資料,但也沒(méi)有一個(gè)比較有權(quán)威的說(shuō)法。有人說(shuō)是一種解決自動(dòng)化測(cè)試的解決方案,有人說(shuō)是一套管理系統(tǒng),有人說(shuō)是一個(gè)軟件,有人說(shuō)是一段代碼...舉個(gè)例子,我現(xiàn)在在公司帶頭研究自動(dòng)化測(cè)試(剛剛起步),主要是從事web測(cè)試。然后使用的工具是ruby + watir-selenium + cucumber,這三種工具都是在國(guó)外使用的比較多的。ruby作為腳本語(yǔ)言,watir-selenium用來(lái)驅(qū)動(dòng)瀏覽器,cucumber用來(lái)編寫測(cè)試用例。那么,我對(duì)自動(dòng)化測(cè)試框架的理解是,根據(jù)公司現(xiàn)在的狀況,我使用了這三種工具來(lái)搭建了一個(gè)自動(dòng)化測(cè)試環(huán)境并能實(shí)現(xiàn)自動(dòng)化測(cè)試,也就是說(shuō),我是用了rubu、watir-selenium和cucumber來(lái)構(gòu)建一個(gè)自動(dòng)化測(cè)試的框架,即框架就是ruby、watir-selenium和cucumber,并能用他們來(lái)實(shí)現(xiàn)自動(dòng)化測(cè)試。

自動(dòng)化測(cè)試框架都有哪些

2,Python BDD自動(dòng)化測(cè)試框架有哪些

好象python的瀏覽器測(cè)試框架,原來(lái)只有一個(gè),還是仿ruby的框架做的。似乎在IE上可以比較好的應(yīng)用。很老的框架。對(duì)JS支持不好。不過(guò)python寫個(gè)測(cè)試框架真是非常容易的事情,隨手就來(lái)。 基于瀏覽器測(cè)試也容易做。因?yàn)槟憧梢允褂胮yqt,這個(gè)庫(kù)里有一個(gè)基于webkit的瀏覽器?;旧希胱鍪裁炊伎梢粤?。最近聽說(shuō)有幾個(gè)新的BDD的框架正在做。也不知道怎么樣。其實(shí)對(duì)于python這種語(yǔ)言來(lái)說(shuō),框架的成本太低。所以最好不要做框架。它有一個(gè)基本的編程原則則DRY。do not repeat yourself。不要再造輪子的意思。直接使用現(xiàn)有的python的testsuite結(jié)合進(jìn)程,線程模型,還有QT輕松就組裝出一個(gè)測(cè)試模塊。
1. Python自動(dòng)化測(cè)試框架比較有名的就是python+selenium,還有單元測(cè)試框架PyUnit,還有一個(gè)叫做Robot Framework的自動(dòng)化測(cè)試框架,大大小小的有很多2. BDD顧名思義Behavior Driven Development,譯作"行為驅(qū)動(dòng)開發(fā)",是基于TDD (Test Driven Development 測(cè)試驅(qū)動(dòng)開發(fā))的軟件開發(fā)過(guò)程和方法。BDD可以讓項(xiàng)目成員(甚至是不懂編程的)使用自然語(yǔ)言來(lái)描述系統(tǒng)功能和場(chǎng)景,從而根據(jù)這些描述步驟進(jìn)行系統(tǒng)自動(dòng)化的測(cè)試。3. BDD的自動(dòng)化測(cè)試框架的話,目前應(yīng)用最好的是Ruby下的Cucumber,Python下有類似的Behave、Lettuce及Freshen等,這三個(gè)都差不多,個(gè)人推薦Behave4. 可以百度這篇文章(我寫的):Python BDD自動(dòng)化測(cè)試框架初探
1. Python自動(dòng)化測(cè)試框架比較有名的就是python+selenium,還有單元測(cè)試框架PyUnit,還有一個(gè)叫做Robot Framework的自動(dòng)化測(cè)試框架,大大小小的有很多2. BDD顧名思義Behavior Driven Development,譯作"行為驅(qū)動(dòng)開發(fā)",是基于TDD (Test Driven Development 測(cè)試驅(qū)動(dòng)開發(fā))的軟件開發(fā)過(guò)程和方法。

Python BDD自動(dòng)化測(cè)試框架有哪些

3,Robot Framework作者建議如何選擇自動(dòng)化測(cè)試框架

Pekka Kl??rck,作為Robot Framework的創(chuàng)建者和核心開發(fā)者,按照系統(tǒng)級(jí)別,介紹了幾種不同的自動(dòng)化測(cè)試方法的區(qū)別。一、記錄回放的方式流行于商業(yè)工具之中,無(wú)需編程技能即可快速上手。然而這種方法相對(duì)脆弱,一旦UI變化測(cè)試就會(huì)受到影響,分散的腳本不可重用且難以維護(hù),而且系統(tǒng)在測(cè)試前必須可用(也就意味著無(wú)法使用A-TDD方法)。因此這種方法并不適合大型自動(dòng)化測(cè)試。二、線性腳本允許使用各種語(yǔ)言來(lái)編寫非結(jié)構(gòu)化腳本,腳本直接與被測(cè)系統(tǒng)交互。能夠快速上手,靈活性強(qiáng)。但是編寫腳本需要編程技能,系統(tǒng)中一個(gè)改動(dòng)會(huì)影響所有腳本,沒(méi)有經(jīng)過(guò)模塊化或重用的大量腳本難以維護(hù)。因此這種方法適合簡(jiǎn)單任務(wù),不適合大型自動(dòng)化。三、模塊化腳本由兩部分組成:驅(qū)動(dòng)腳本執(zhí)行測(cè)試,測(cè)試庫(kù)函數(shù)完成與被測(cè)系統(tǒng)交互。驅(qū)動(dòng)腳本編寫起來(lái)非常簡(jiǎn)單,這樣可以更快地建立新測(cè)試,容易維護(hù)。然而需要花時(shí)間和編程技能建立測(cè)試庫(kù),并將測(cè)試數(shù)據(jù)嵌入腳本,建立新測(cè)試就需要新的測(cè)試腳本。因此,只要擁有編程技能,這種方法還是適合大型項(xiàng)目,但不適合非編程人員。四、數(shù)據(jù)驅(qū)動(dòng)方法,將數(shù)據(jù)與測(cè)試腳本分離,基于模塊化的測(cè)試庫(kù),一個(gè)驅(qū)動(dòng)腳本可以執(zhí)行多個(gè)相似測(cè)試,這樣非常容易建立新測(cè)試。維護(hù)工作可以分離,測(cè)試人員負(fù)責(zé)數(shù)據(jù),程序員負(fù)責(zé)寫測(cè)試庫(kù)。然而,不同類型測(cè)試仍需要新的驅(qū)動(dòng)腳本,初始建立數(shù)據(jù)解析器和重用組件需要花人力。這種方法適合大型項(xiàng)目,只需要較少的編程技能。五、關(guān)鍵字驅(qū)動(dòng),將數(shù)據(jù)與關(guān)鍵字結(jié)合來(lái)描述如何使用數(shù)據(jù)執(zhí)行測(cè)試。這種方法具備數(shù)據(jù)驅(qū)動(dòng)的優(yōu)勢(shì),同時(shí)非編程人員也能建立新類型測(cè)試。所有測(cè)試由同一個(gè)框架來(lái)執(zhí)行,無(wú)需不同的驅(qū)動(dòng)腳本。然而初始成本很大,但是可以使用開源方案!因此非常適合大型項(xiàng)目。Pekka對(duì)以上五種方法的介紹其實(shí)也是對(duì)自動(dòng)化測(cè)試發(fā)展史的介紹,同時(shí)也體現(xiàn)了RobotFramework背后的設(shè)計(jì)思想。除了測(cè)試框架的選擇,要想做好自動(dòng)化測(cè)試,還要關(guān)注其他方面。自動(dòng)化測(cè)試需要關(guān)注可測(cè)性。自動(dòng)化最難的部分是與被測(cè)系統(tǒng)交互,特別是GUI層。確保系統(tǒng)容易被測(cè)試,比如給GUI元素增加標(biāo)識(shí)、輸出易于解析的文本、提供自動(dòng)化接口等。系統(tǒng)一般可以分為GUI層以及GUI之下的業(yè)務(wù)層。GUI層測(cè)試需要調(diào)用與普通用戶同樣的接口,但是某些GUI技術(shù)缺乏好的工具支持,會(huì)使測(cè)試變得脆弱,而且執(zhí)行相對(duì)較慢。從業(yè)務(wù)層開始測(cè)試相對(duì)容易,執(zhí)行快。但GUI層仍然需要被測(cè)試,以保證GUI正確連接到了業(yè)務(wù)層,甚至有時(shí)GUI層也具有業(yè)務(wù)功能。Pekka建議考慮對(duì)業(yè)務(wù)層進(jìn)行完全測(cè)試,而部分地對(duì)GUI層實(shí)行端到端測(cè)試。 不是所有系統(tǒng)都具有GUI層,卻可能具有API、數(shù)據(jù)庫(kù)、服務(wù)器、命令行等。自動(dòng)化測(cè)試框架可以調(diào)用不同驅(qū)動(dòng)來(lái)進(jìn)行測(cè)試。這些非GUI層相對(duì)容易測(cè)試,只要把測(cè)試用例看作另一個(gè)客戶端而已。那么自動(dòng)化測(cè)試應(yīng)該在什么階段進(jìn)行?如果開發(fā)完成后單獨(dú)做自動(dòng)化,這是典型的瀑布式過(guò)程,不同團(tuán)隊(duì)之間存在溝通障礙,反饋周期慢,產(chǎn)品在后期難以獲得可測(cè)性,從而導(dǎo)致復(fù)雜和脆弱的測(cè)試方案。相反,典型敏捷式過(guò)程中,程序員和測(cè)試人員協(xié)同完成自動(dòng)化。把自動(dòng)化看作團(tuán)隊(duì)開發(fā)的一部分,可測(cè)性不再是問(wèn)題,團(tuán)隊(duì)做技術(shù)決定時(shí)就可以考慮可測(cè)性和工具選擇,程序員可以提前加入提供可測(cè)性的鉤子特性。自動(dòng)化測(cè)試需要版本控制和持續(xù)集成來(lái)支持。將測(cè)試和代碼放在一起,像管理代碼一樣管理測(cè)試腳本,那么多可用工具,SVN、GIT、Mercurial,沒(méi)道理不用。持續(xù)集成是全方位自動(dòng)化的關(guān)鍵,當(dāng)測(cè)試或代碼有所改動(dòng)立即執(zhí)行測(cè)試。如果測(cè)試運(yùn)行時(shí)間比較長(zhǎng),也可以定期運(yùn)行。使用Jenkins、Hudson、Cruise Control、BuildBot吧,自己寫定時(shí)腳本或Cron Job可以休矣。選擇商業(yè)自動(dòng)化工具還是開源工具?好東西肯定貴,但是貴的不見(jiàn)得好,再便宜的許可證也會(huì)阻止整個(gè)團(tuán)隊(duì)的協(xié)作。而且商業(yè)化工具難以和其他自動(dòng)化工具(特別是其他廠商的)或版本控制、持續(xù)集成進(jìn)行整合和定制化。另外,產(chǎn)品終止或公司關(guān)門是潛在的風(fēng)險(xiǎn)。開源工具可供選擇余地很大,當(dāng)然也是良莠不齊。開源工具通常容易與其他工具整合,關(guān)鍵是免費(fèi),誰(shuí)都可以隨意使用和定制化,還永遠(yuǎn)不會(huì)消失。至于免費(fèi)軟件,越來(lái)越少了,很多自由軟件都已經(jīng)開源。免費(fèi)軟件同樣不能定制化,且存在中止的風(fēng)險(xiǎn)。做自動(dòng)化需要哪些技能?一般來(lái)說(shuō),包括Python、Ruby、Perl、JavaScript、正則表達(dá)式、XPath和CSS定位、SQL語(yǔ)句、版本控制等。有了自動(dòng)化,手工測(cè)試還需要嗎?當(dāng)然需要??! 不過(guò),要避免手工執(zhí)行腳本來(lái)測(cè)試,還是將其完全自動(dòng)化吧,測(cè)試人員可以更多關(guān)注于探索性測(cè)試。 記住,機(jī)器擅長(zhǎng)回歸測(cè)試,人類善于尋找Bug。

Robot Framework作者建議如何選擇自動(dòng)化測(cè)試框架

文章TAG:人工人工智能智能自動(dòng)人工智能自動(dòng)化測(cè)試框架

最近更新

相關(guān)文章

問(wèn)答最新文章

問(wèn)答文章排行榜