欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
自動(dòng)化測試框架Cucumber和RobotFramework的實(shí)戰對比

一、摘要

自動(dòng)化測試可以快速自動(dòng)完成大量測試用例,節約巨大的人工測試成本;同時(shí)它需要擁有專(zhuān)業(yè)開(kāi)發(fā)技能的人才能完成開(kāi)發(fā),且需要大量時(shí)間進(jìn)行維護(在需求經(jīng)常變化的情況下),所以大部分具有很好開(kāi)發(fā)技能的人員不是很愿意編寫(xiě)自動(dòng)化用例。但由于軟件規模的高速增長(cháng),人力資源的逐步稀缺,自動(dòng)化測試已是勢在必行。

對于自動(dòng)化測試首先需要保證其功能是對客戶(hù)有價(jià)值的和正確可用的。而這一切的基礎就是用例要能測試客戶(hù)的需求,期望,最好能讓客戶(hù)參與到測試用例的開(kāi)發(fā)過(guò)程中來(lái)或讓客戶(hù)評審測試用例,因此出現了ATDD、BDD等各種理論方法來(lái)支撐這一行為?,F有很多自動(dòng)化測試工具可支持ATDD、BDD等,比如Cucumber1、RobotFramework2、SpecFlow3、JBehave4、Fitness5、Concordion6等。其中Cucumber和RobotFramework是最流行的兩個(gè)框架,但許多人在第一次選擇測試框架時(shí)因缺乏實(shí)踐經(jīng)驗而困惑,所以今天為大家分享這兩款框架在幾個(gè)項目上的經(jīng)驗及對比,方便大家在以后的項目上能正確地選擇這兩款測試框架。

首先看一下這兩款工具的簡(jiǎn)單對比。

 

 

Cucumber

RobotFramework

語(yǔ)言支持

Java,Ruby,JavaScript etc.7

Python, Java, C

支持的系

所有主流系統

所有主流系統

主要的IDE

IntelliJ,RubyMine, Eclipse

RIDE, IntelliJ, PyCharm, Eclipse

免費

免費

多國語(yǔ)言支持

UTF-8

用戶(hù)關(guān)鍵字及用例層面支持UTF-8

二、案例

Cucumber案例1:某社交網(wǎng)絡(luò )系統

項目時(shí)間:4年前

項目背景:系統的主要功能是幫助用戶(hù)能通過(guò)一個(gè)手機應用同時(shí)與Facebook,Twitter,Flickr等社交網(wǎng)絡(luò )更新信息,并能一次性把自己更新的信息同步到這些社交網(wǎng)絡(luò )。其中它有一個(gè)服務(wù)器端,用于和各個(gè)社交網(wǎng)絡(luò )通信,一個(gè)Web應用和一個(gè)手機應用提供給最終客戶(hù)使用。它的技術(shù)棧主要是Java Spring,Android,iOS,MySQL等。

被測系統構架圖:

由于這個(gè)項目是中國團隊和法國團隊一起合作開(kāi)發(fā),當時(shí)法國團隊的架構師提出選用Cucumber作為自動(dòng)化測試框架來(lái)測試這個(gè)系統,項目需要支持多國語(yǔ)言,且需要同時(shí)做服務(wù)器和手機端的功能測試,甚至在一個(gè)測試場(chǎng)景中既包含服務(wù)器測試部分,又含手機端測試部分,而使用基于Cucumber的測試系統很好的滿(mǎn)足了我們的需求,其中手機端的功能測試用的是Calabash8。Calabash是一個(gè)手機功能測試系統,它使用Cucumber將Android的測試框架Robotium9和iOS的測試框架Frank10封裝了起來(lái),使得Cucumber的Step可以調用Robotium和Frank進(jìn)行測試。這樣就可以實(shí)現一個(gè)測試場(chǎng)景里面既包含手機端測試,又包含服務(wù)器端測試,比如:

I "submit" update to "Facebook" with "I am happy today" on "Android"

I "get" update on "Facebook” with "I am happy today" on "Server"

實(shí)現方式是在Calabash中使用Ruby實(shí)現一層膠水代碼,和服務(wù)器測試功能測試代碼連結起來(lái),并根據不同的Step調用不同的測試驅動(dòng)層代碼從而實(shí)現同一個(gè)測試用例同時(shí)包含服務(wù)器端和手機端測試。雖然這樣的測試用例不會(huì )很多,但它卻有效的表達了端到端的系統集成測試,讓測試集合更加豐滿(mǎn)。

如果重新選擇測試工具,我還是會(huì )選擇Cucumber和Calabash,主要原因是它們可以方便的統一做手機和服務(wù)器的功能測試。雖然RobotFramework配合Selenium也能實(shí)現類(lèi)似的功能,但是需要使用RobotFramework對Selenium重新進(jìn)行封裝,沒(méi)有Calabash方便易用。

Cucumber案例2:某大型養老保險系統

項目時(shí)間:2年前

項目背景,主要功能是提供一個(gè)Web系統讓用戶(hù)可以購買(mǎi)養老保險,管理養老保險賬戶(hù)里面的資金等業(yè)務(wù)。主要的技術(shù)棧Java Spring, JSP, AngularJS, Oracle DB等。

被測系統構架圖:

基于安全和開(kāi)發(fā)成本原因,比如重用已有的服務(wù)器和容器環(huán)境,重用開(kāi)發(fā)資源,所以公司絕大部分項目只用Java語(yǔ)言進(jìn)行后臺服務(wù)器端開(kāi)發(fā),導致公司大部分人員只熟悉Java語(yǔ)言,因此測試框架選擇了Cucumber Java版11。

如果重新選擇工具,由于技術(shù)棧和成本的原因,我仍然會(huì )選擇Cucumber Java版,不會(huì )考慮RobotFramework。因為對于這種Java Spring商業(yè)應用項目,我不想引入一個(gè)Jython去加深項目的技術(shù)棧,只要能充分利用當前團隊已有的技術(shù)棧就可以了,并且還更容易說(shuō)服開(kāi)發(fā)人員幫忙實(shí)現和維護自動(dòng)化測試,從而促使整個(gè)團隊都能對自動(dòng)化測試負責。

RobotFramework案例1:某AC項目

項目時(shí)間:3年前

項目背景:該項目是WIFI系統的AC(Access Controller 接入控制器)部分,包含WIFI接入的認證、計費等功能。它也提供了配置界面,包括Web和命令行兩種。AP(Access Point接入點(diǎn))是與該系統交互的外部系統。通常來(lái)說(shuō)AP會(huì )有很多個(gè),放置在不同的空間區域,提供WIFI接入服務(wù),AP和AC之間使用有線(xiàn)鏈路連接。

被測系統構架圖:

該系統作為一個(gè)嵌入式設備,從用戶(hù)的角度來(lái)看主要包括兩部分功能。第一部分是操作管理員在命令行或者Web界面上進(jìn)行功能配置,第二部分是AP與系統進(jìn)行交互,完成網(wǎng)絡(luò )接入等功能。

明確了被測對象和場(chǎng)景后,就需要尋找相應的測試庫來(lái)完成這些用戶(hù)(即包括人,也包AP)與系統之間的交互。對于Web來(lái)說(shuō),有成熟的Selenium可以使用,Selenium提供了多種語(yǔ)言的API,從這個(gè)角度來(lái)看RobotFramework和Cucumber都可以選擇。對于命令行操作而言,可以選用RoboFramework的SSH庫來(lái)完成,當然在這一點(diǎn)上其他的語(yǔ)言也有相應的類(lèi)庫。要想完成上述這個(gè)系統的測試,還需要完成報文的收發(fā)及編解碼工作,Python的類(lèi)庫Scapy12能夠很好地完成這部分工作,只需要在此之上做少量定制化開(kāi)發(fā),并將其封裝成為RobotFramework關(guān)鍵字即可。經(jīng)過(guò)上面的分析可以看到,使用基于Python的RobotFramework能夠很好地處理報文相關(guān)的邏輯,加上團隊在Python上有比較好的技術(shù)儲備,因此RobotFramework成了最終的選擇。

如果重新選擇,我還是會(huì )選擇RobotFramework,原因是其他平臺上找不到類(lèi)似Scapy這樣好用的測試庫。

RobotFramework案例2:某移動(dòng)廣告管理平臺

項目時(shí)間:1年前

項目背景:該項目是一個(gè)Web系統,用于廣告投放、查詢(xún)、顯示等功能。

測試思路是做端到端的測試,覆蓋從廣告投放、廣告查詢(xún)及廣告顯示等一系列功能。其中涉及到的測試庫主要是Selenium,這點(diǎn)上與案例1類(lèi)似。不同之處在于這個(gè)項目中參與自動(dòng)化用例編寫(xiě)的主要是從不編寫(xiě)代碼的測試人員,而RobotFramework有一個(gè)專(zhuān)用的用例編寫(xiě)環(huán)境—RIDE,其中用例編輯窗口如下圖:

雖然它只是簡(jiǎn)單地把使用TAB符號隔開(kāi)的一系列純文本變成了可視的表格,但對于這些測試人員來(lái)說(shuō),他們以前工作的平臺就是Excel中,所以很容易切換過(guò)來(lái)。再加上它提供的一些高亮、抽取關(guān)鍵字等特性,使得測試人員可以比較專(zhuān)注于測試用例的設計、編寫(xiě)和優(yōu)化,而不用關(guān)心格式等細節問(wèn)題。

在RIDE中導入相關(guān)測試庫之后,可以通過(guò)F5快捷鍵查看所有關(guān)鍵字的文檔,如下圖所示:

關(guān)鍵字的概念很有趣,它們本質(zhì)上就是一堆自由函數,或者是類(lèi)的成員函數13,所以使用它們來(lái)編寫(xiě)用例事實(shí)上就是在編寫(xiě)代碼,本質(zhì)上和Cucumber的Step Definition是一樣的。但由于RIDE以表格的形式呈現,并且有良好可視化的文檔,在這種環(huán)境下寫(xiě)測試會(huì )給人一種“我不需要編寫(xiě)代碼”或“我沒(méi)在寫(xiě)代碼”的感覺(jué)。在我們經(jīng)歷過(guò)的幾個(gè)項目中,測試人員對這種形式都比較接受。當然從另一個(gè)角度看,用例的編寫(xiě)者失去了對測試代碼的直接掌控權,這對于很多開(kāi)發(fā)人員來(lái)說(shuō)還是有些別扭,所以如果你不喜歡RIDE這種形式,可以嘗試使用Pycharm來(lái)開(kāi)發(fā)RobotFramework用例。

在這個(gè)項目中有不止一套測試運行環(huán)境,比如開(kāi)發(fā)集成環(huán)境、CI環(huán)境、系統測試環(huán)境等。該項目包含了多個(gè)Web Portal,每套環(huán)境中Web Portal的IP地址都是不同的。如何保證一套測試代碼能夠在不同的環(huán)境中無(wú)差別的運行呢?簡(jiǎn)單的答案是配置文件或者環(huán)境變量,在RobotFramework中,解決方案是變量文件。比如我希望測試代碼能夠在開(kāi)發(fā)集成環(huán)境和CI環(huán)境中運行,則可以按照下面的方式操作。

首先定義兩個(gè)變量文件:

ci-env.py:portal_ip = “192.168.1.1"……dev-share-env.py:portal_ip = “192.168.1.4"……

在用例文件中可以按照下面的方式引用上述變量文件中的變量:

……open browser ${portal_ip}……

然后在運行測試時(shí)加入如下的命令行參數即可針對CI環(huán)境運行測試:

pybot -V ci-env.py tests/

開(kāi)發(fā)人員在自己編寫(xiě)調試測試或者定位問(wèn)題時(shí),在命令行中使用dev-share-env.py的配置即可針對另一套環(huán)境進(jìn)行測試。

在這個(gè)項目中遇到的另一個(gè)問(wèn)題是中文問(wèn)題??蛻?hù)非常在意用例是否能很好地處理中文,一方面是因為可讀性,另一方面是要適配一些使用中文編寫(xiě)的Java代碼。RobotFramework和Cucumber這些工具都有考慮國際化的問(wèn)題,比如Cucumber Java版就支持使用類(lèi)似于“給定”、“當”等中文關(guān)鍵字及中文的Step Definition,而RobotFramework對中文的支持也很好。但是如果從可用性的角度考慮,RobotFramework會(huì )比Cucumber好一些。原因是Cucumber本身并沒(méi)有專(zhuān)用的IDE,只能求助于其它IDE插件,這些插件可以完成高亮、自動(dòng)補全和Step Definition跳轉等功能,但一旦使用了中文,有些功能就不好用了。而在RIDE中就不存在這個(gè)問(wèn)題。所以如果你的團隊因為某種原因對于中文用例的需求很旺盛,可以考慮RobotFramework。

如果重新選擇,我還是會(huì )選擇RobotFramework,主要從兩個(gè)方面進(jìn)行考慮:一方面是因為其“不用寫(xiě)代碼”的方式更容易被測試人員接受,另一方面是對中文的支持更好。

通過(guò)上面四個(gè)案例,展示了在不同的項目中實(shí)際使用Cucumber和RobotFramework時(shí)的一些經(jīng)驗和選擇它們的理由。但對于Cucumber和RobotFramework更多的知識點(diǎn),下面有一個(gè)更為詳細的對比表。

 

 

Cucumber

RobotFramework

亮點(diǎn)

  • 使用自然語(yǔ)言,更易讀
  • 支持表格參數14
  • 支持多種格式的Report:html、junit etc.
  • 支持多種語(yǔ)言
  • 支持四種狀態(tài)的測試步驟15:Passed、Failed、Skipped、Pending
  • 支持使用變形器消除重復16
  • 一個(gè)商用的在線(xiàn)Cucumber系統:Cucumber Pro17
  • 使用關(guān)鍵字的機制,更容易上手
  • 提供了RIDE,對于不熟悉編碼的人來(lái)說(shuō)比較友好
  • 能夠精細的控制關(guān)鍵字的scope19
  • Log和Report非常好20
  • 使用變量文件的機制來(lái)描述不同的環(huán)境21
  • 豐富的關(guān)鍵字庫22
  • 內置變量23

不足

 

  • 缺乏類(lèi)似RIDE對純測試人員友好的專(zhuān)用工具
  • 不支持類(lèi)似于Cucumber中的表格參數14
  • 使用Jython版本測試運行啟動(dòng)慢

Jenkins支持

支持

支持

Maven支持

支持

支持

開(kāi)發(fā)效率

高效-Jetbrains系列的IDE

高效-RIDE和Jetbrains系列的IDE

業(yè)支持

支持18

無(wú)

社區支持

廣泛

廣泛

三、測試工具選擇的一般性原則

在上述的實(shí)戰案例中,針對項目的具體情況我們對Cucumber和RobotFramework這兩種工具進(jìn)行了取舍。本節就來(lái)總結一下這些取舍的考慮因素。

首先來(lái)看一下自動(dòng)化驗收測試的層次:

然后對每層進(jìn)行分析:

  1. 最下面是被測系統,需要明確它的形態(tài),比如是Web系統、REST系統或者特定協(xié)議系統。
  2. 中間是測試庫。比如Selenium、SSH、Scapy等,有了它們用例才能和被測系統進(jìn)行交互,所以需要根據被測系統的形態(tài)來(lái)選擇相應地測試庫。該層的選擇需要考慮幾個(gè)因素:
    • 測試庫的易用程度。
    • 測試庫是否有良好的商業(yè)或者開(kāi)源社區的支持。
    • 團隊成員是否熟悉測試庫使用的編程語(yǔ)言。
  3. 最上層則是測試框架,也就是Cucumber和RobotFramework這一層。其作用包括用例管理、測試數據管理、測試運行、測試報告等。該層的選擇需要考慮幾個(gè)因素:
    • 這一層會(huì )通過(guò)函數調用的方式和測試庫打交道,因此測試框架必須支持測試庫所使用的編程語(yǔ)言。
    • 是否提供易用的測試用例開(kāi)發(fā)環(huán)境,比如是否有如RIDE這樣的專(zhuān)用工具,或者Intellij的IDE的插件。
    • 引入某個(gè)測試框架之后對現有工作模式的影響程度,比如讓不懂編程的測試人員寫(xiě)代碼。

以上這些點(diǎn)是從RobotFramework和Cucumber的對比中總結出來(lái)的,但如果你想要選擇這兩者之外的其他框架,同樣可以考慮上述這些原則。

四、總結

我們在銀行、保險、社交、電信、物流、互聯(lián)網(wǎng)等項目上實(shí)施過(guò)自動(dòng)化功能以及驗收測試。對于Cucumber和RobotFramework到底屬于A(yíng)TDD還是BDD,這里不做過(guò)多的討論,因為當前在業(yè)界對于A(yíng)TDD和BDD怎么區分還有一些爭議,而對于我們來(lái)講,它們只不過(guò)是兩個(gè)名詞而已。對于這兩個(gè)工具本身來(lái)講,只需要清楚它們各自的特點(diǎn),根據項目本身的情況和需求選擇就可以了,簡(jiǎn)單地說(shuō)就是:知行合一。

  1. http://cukes.info/
  2. http://robotframework.org/
  3. http://www.specflow.org/
  4. http://jbehave.org/
  5. http://www.fitnesse.org/
  6. http://concordion.org/
  7. https://cukes.info/docs#cucumber-implementations
  8. https://github.com/calabash
  9. https://code.google.com/p/robotium/
  10. http://www.testingwithfrank.com/
  11. https://github.com/cucumber/cucumber-jvm
  12. http://secdev.org/projects/scapy/
  13. http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#creating-test-libraries
  14. https://cukes.info/docs/reference#data-tables
  15. https://github.com/cucumber/cucumber/wiki/Step-Definitions
  16. https://github.com/cucumber/cucumber/wiki/Step-Argument-Transforms
  17. https://cucumber.pro/
  18. http://cukes.info/support
  19. http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#test-library-scope
  20. http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#report-file
  21. http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#variable-files
  22. http://robotframework.org/#test-libraries
  23. http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#built-in-variables

作者簡(jiǎn)介

劉冉,現任ThoughtWorks高級軟件質(zhì)量咨詢(xún)師, 超過(guò)10年軟件開(kāi)發(fā)和測試工作工作經(jīng)驗。最熟悉的領(lǐng)域是嵌入式系統開(kāi)發(fā)、Linux系統開(kāi)發(fā)、各種腳本、各種測試工具、各種自動(dòng)化測試系統開(kāi)發(fā)、以及Agile中的QA。其中對于服務(wù)器性能測試,Web功能測試,以及測試分層一體化解決方案有較深的理解?,F在關(guān)注于全方位自動(dòng)化QA的工作,以及對于A(yíng)gile流程中怎么實(shí)現統一的流程、故事、功能、測試和文檔管理,以及質(zhì)量控制度量。

崔力強,現任ThoughtWorks公司高級咨詢(xún)師。具有多年Java與Ruby的開(kāi)發(fā)經(jīng)驗,最近兩年的主要工作是在客戶(hù)現場(chǎng)指導客戶(hù)團隊的開(kāi)發(fā)與改進(jìn)。在遺留代碼重構、領(lǐng)域驅動(dòng)設計、自動(dòng)化測試的引入與推進(jìn)方面有著(zhù)豐富的經(jīng)驗。


感謝張凱峰對本文的策劃,丁曉昀對本文的審校。

給InfoQ中文站投稿或者參與內容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過(guò)新浪微博(@InfoQ)或者騰訊微博(@InfoQ)關(guān)注我們,并與我們的編輯和其他讀者朋友交流。

高危漏洞頻發(fā),隱私泄露,普通開(kāi)發(fā)者該如何避免和防范;開(kāi)發(fā)者如何從邏輯上避免風(fēng)險?在【QCon北京2015】“新時(shí)代的安全”專(zhuān)題中,在Pwn2Own 2015上奪冠的Keen Team安全研究員Peter Hlavaty將解讀內核安全精髓;阿里巴巴安全專(zhuān)家祝建躍將分享互聯(lián)網(wǎng)全球最大DDoS攻擊防御實(shí)戰。查看詳情。

相關(guān)贊助商

全球軟件開(kāi)發(fā)大會(huì ),4月23-25日,北京,敬請期待!

告訴我們您的想法

hmm... 2015年3月16日 12:34 by Steven Mak

如果說(shuō) Robot Framework(RF) 只支持 Python 和 Java 這不太公平,第一: RF 的網(wǎng)站上已經(jīng)有 C 語(yǔ)言的例子,其實(shí)支持 C/C++ 都很容易;第二其實(shí)RF也可以透過(guò) XML RPC去聯(lián)接被測系統,那麼你想用什麼語(yǔ)言來(lái)提供接口都可以。

相反,Cucumber 雖有不同語(yǔ)言版本,但不是每個(gè)語(yǔ)言版所支持的功能都一樣,這是需要注意的事情。

文中最搞笑的地方是 RF "不支持類(lèi)似于Cucumber中的表格參數",在 RF 裡面所有東西都是表格,而RF 亦支持 Template 的使用方法。我說(shuō)這是搞笑不是因為作者認識不夠深入,而是因為這功能是 Cucumber 作者看到 RF 之後覺(jué)得很好而添加在 Cucumber 中,沒(méi)想到今天會(huì )被說(shuō)成是 RF 沒(méi)這功能 :D

還有... 這篇文最多只是討論 RF / Cucumber 用作自動(dòng)測試工具,根本和 ATDD, BDD 扯不上關(guān)係。

當然,ATDD, BDD 重要的從來(lái)都不是用什麼自動(dòng)化測試工具。

Re: hmm... 2015年3月17日 01:42 by Yanqing Yang

非常同意補充說(shuō)明,文章有些不夠中立

Re: hmm... 2015年3月17日 05:12 by Liu Ran

1,RF對于C的支持其實(shí)使用的是Python's standard ctypes module,只是擴展,并不是使用C語(yǔ)言實(shí)現的,所以還需要安裝RF原始的所有環(huán)境,而且我們也沒(méi)有使用過(guò),并不知道其穩定性和易用性,所以并沒(méi)有寫(xiě)。對于這個(gè)我們沒(méi)有寫(xiě),屬于我們的錯誤,我們更改。不過(guò)如果算上這種模型,理論上可以讓RF支持任何語(yǔ)言,比如使用Thrift(thrift.apache.org/docs/features),這樣就可以讓RF支持所有語(yǔ)言...

更改:
編程語(yǔ)言支持:Cucumber:Java,Ruby,JavaScript etc.7
RF:Python, Java, C

2,對于Cucumber的多種語(yǔ)言,并不是所有語(yǔ)言功能都一樣,這個(gè)是對的,不過(guò)對于基本功能都是一樣的。對于普通的使用者可以不需要關(guān)心,高級用戶(hù)需要自己看文檔。

3.對于 "不支持類(lèi)似于Cucumber中的表格參數",如果你笑了只能說(shuō)明你可能還沒(méi)有搞清楚cucumber的datatable,請詳細參見(jiàn)引用14.

4.我只是想闡明一下我對ATDD和BDD的看法,以及引出ATDD和BDD,文章并沒(méi)有詳細討論ATDD和BDD。如果你說(shuō)扯不上關(guān)系,其實(shí)還是有一點(diǎn)點(diǎn)關(guān)系,那請參見(jiàn)在RF的官網(wǎng)上有這句話(huà):“Generic test automation framework for acceptance testing and ATDD” 來(lái)自 robotframework.org/,而在cucumber的官方文檔中也寫(xiě)道“While Cucumber can be thought of as a “testing” tool, the intent of the tool is to support BDD” 來(lái)自github.com/cucumber/cucumber/wiki。我只是想盡量解決讀者的疑惑...

5.就中立而言,我們已經(jīng)盡量追求了。我們并沒(méi)有想偏向某一方,兩邊都有其優(yōu)缺點(diǎn),根據你的需要自己選擇就可以了。這個(gè)也是為什么這篇文章是兩個(gè)人寫(xiě)的原因。

Re: hmm... 2015年3月31日 02:05 by Zeng Neil

非常同意。
RF設計目的是測試框架,或者說(shuō)用來(lái)構建測試框架的框架。Cucumber是工具。層次不一樣。
一個(gè)優(yōu)秀的自動(dòng)化團隊,肯定要構建自己自動(dòng)化測試體系。
基礎很重要,RF提供的架構方式非常合適。
可以自定義adapter,parser,driver... 其他任何你覺(jué)得有用的東西,只要能被python調起來(lái),加個(gè)wrapper都可以拿來(lái)用。
除了下劃線(xiàn)和空格會(huì )被忽略以外,真沒(méi)啥不好的 :-)

Re: hmm... 2015年3月31日 04:41 by Liu Ran

首先我覺(jué)得說(shuō)Cucumber是工具只是一個(gè)狹義的理解,難道Cucumber就不能加個(gè)wrapper來(lái)用嗎?(Ruby的強大人所共知,討論這些就涉及到Ruby和Python的比較,我覺(jué)得是沒(méi)有什么意義的)如果一定要區分框架和工具,就要首先定義框架和工具。什么是框架,什么是工具?我覺(jué)得說(shuō)一句“Cucumber是工具”無(wú)法讓我同意。

對于“一個(gè)優(yōu)秀的自動(dòng)化團隊,肯定要構建自己自動(dòng)化測試體系?!?,其實(shí)現在很多項目都不會(huì )有專(zhuān)門(mén)的自動(dòng)化團隊,而是由開(kāi)發(fā)團隊做。所以這個(gè)時(shí)候就需要根據每個(gè)團隊的特定選擇合適的自動(dòng)化工具,框架,whatever,幫助他們建立自己的自動(dòng)化測試系統就可以。所以應該是對于優(yōu)秀的開(kāi)發(fā)團隊,都要構建自己自動(dòng)化測試系統,所以才需要學(xué)習,比較和選擇適合自己的,而不是盲目的聽(tīng)說(shuō)某個(gè)好,就用某一個(gè)。

其次“基礎很重要,RF提供的架構方式非常合適?!边@個(gè)肯定是由前提條件的,并不是每一個(gè)團隊都適合的,因為每個(gè)團隊都有自己的限制條件,況且任何一個(gè)軟件項目最后都會(huì )有一個(gè)致命的問(wèn)題:成本與收益(錢(qián)多得沒(méi)有地方花,不在乎錢(qián)的團隊除外)。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
TDD、BDD、ATDD、DDD 軟件開(kāi)發(fā)模式
Cucumber測試實(shí)踐
自動(dòng)化測試實(shí)戰技巧:「用例失敗重試機制」實(shí)現方案分享
移動(dòng)APP自動(dòng)化測試框架對比
第一章 cucumber測試框架綜述
iOS自動(dòng)化測試的那些干貨
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久