日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP測(cè)試篇:測(cè)試驅(qū)動(dòng)開(kāi)發(fā)和行為驅(qū)動(dòng)開(kāi)發(fā)

瀏覽:16日期:2022-09-16 10:49:16

為PHP代碼編寫自動(dòng)化測(cè)試被認(rèn)為是一個(gè)最佳實(shí)踐,可以幫助你構(gòu)建出高質(zhì)量的應(yīng)用。自動(dòng)化測(cè)試可以幫助你確認(rèn)沒(méi)有因?yàn)橹貥?gòu)或添加 新功能而破壞原有功能,所以應(yīng)該重視自動(dòng)化測(cè)試。

PHP有多種類型的測(cè)試工具和框架可以使用,具體方法各有區(qū)別——但是它們的目標(biāo)都是避免手工測(cè)試,滿足大型QA組織的需求,保證最新的 更改沒(méi)有破壞已有功能。

測(cè)試驅(qū)動(dòng)開(kāi)發(fā)

Wikipedia的定義:

測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)是以非常短的開(kāi)發(fā)周期,不斷進(jìn)行迭代的軟件開(kāi)發(fā)流程:首先開(kāi)發(fā)者針對(duì)改進(jìn)或新功能編寫失敗的自動(dòng)化測(cè)試用例,然后編寫代碼使測(cè)試用例通過(guò), 最后重構(gòu)代碼,讓代碼滿足可接受的標(biāo)準(zhǔn)。Kent Beck,該技術(shù)的創(chuàng)建者或者說(shuō)重新發(fā)現(xiàn)者,在2003年聲明TDD鼓勵(lì)簡(jiǎn)單的設(shè)計(jì)和提振信心。

目前對(duì)應(yīng)用有多種類型的測(cè)試:

單元測(cè)試

單元測(cè)試是從編寫開(kāi)始,貫穿于整個(gè)開(kāi)發(fā)周期的一種用于保證函數(shù)、類和方法的行為與預(yù)期一致的編程方法。通過(guò)檢查各個(gè)函數(shù)和方法的輸入和輸出值,你可以保證它們 內(nèi)部邏輯已經(jīng)正確執(zhí)行;通過(guò)依賴注入、編寫mock類和stubs,你可以驗(yàn)證依賴是否已經(jīng)正確處理,提高測(cè)試覆蓋率。

在編寫一個(gè)類或函數(shù)的時(shí)候,應(yīng)該為它的每一個(gè)行為創(chuàng)建一個(gè)單元測(cè)試,至少你要保證它收到錯(cuò)誤參數(shù)時(shí)能夠觸發(fā)錯(cuò)誤,而參數(shù)正確時(shí)能正常工作。這可以幫你在后面 修改類或函數(shù)的時(shí)候,確認(rèn)已有功能仍然正常工作。PHP中var_dump()的功能與此類似,但是它是無(wú)法用于創(chuàng)建應(yīng)用的。

單元測(cè)試的另外一個(gè)用武之地是在給開(kāi)源項(xiàng)目貢獻(xiàn)代碼時(shí),如果你編寫一個(gè)測(cè)試,證明代碼存在bug,然后修復(fù)代碼,讓測(cè)試通過(guò),這樣該補(bǔ)丁被接受的概率要高很多。 如果你的項(xiàng)目接受人家的補(bǔ)丁,你應(yīng)該把單元測(cè)試作為項(xiàng)目的一項(xiàng)要求。

PHPUnit是PHP應(yīng)用的單元測(cè)試框架的業(yè)界標(biāo)準(zhǔn),其他幾個(gè)可選框架是:

SimpleTestEnhance PHPPUnitatoum集成測(cè)試

Wikipedia的定義:

集成測(cè)試(也稱集成與測(cè)試,縮寫為I&T)是把各個(gè)獨(dú)立模塊集成在一起,作為一個(gè)整體進(jìn)行測(cè)試的軟件測(cè)試階段,它處于單元測(cè)試和驗(yàn)收測(cè)試之間。集成測(cè)試把已經(jīng) 做過(guò)單元測(cè)試的模塊集成在一塊,然后運(yùn)行集成測(cè)試用例,最終輸出一個(gè)可以進(jìn)行系統(tǒng)測(cè)試的系統(tǒng)。

很多單元測(cè)試工具同時(shí)也可以用于集成測(cè)試,并且原理也是相通的。

功能測(cè)試

有時(shí)也稱為驗(yàn)收測(cè)試,使用工具創(chuàng)建自動(dòng)化的測(cè)試用例,然后在真實(shí)的系統(tǒng)上運(yùn)行,這一點(diǎn)與單元測(cè)試驗(yàn)證單個(gè)模塊的正確性和集成測(cè)試驗(yàn)證模塊間交互的正確性是有 區(qū)別的,這些工具通常使用真實(shí)的數(shù)據(jù)集來(lái)模擬真實(shí)用戶的使用行為來(lái)驗(yàn)證系統(tǒng)的正確性。

功能測(cè)試工具SeleniumMinkCodeception?is a full-stack testing framework that includes acceptance testing tools行為驅(qū)動(dòng)開(kāi)發(fā)

行為驅(qū)動(dòng)開(kāi)發(fā)(BDD)有兩種方式:SpecBDD和StoryBDD。SpecBDD關(guān)注技術(shù)行為或代碼,而StoryBDD關(guān)注業(yè)務(wù)、特性和交互,這兩種方式都有對(duì)應(yīng)的PHP框架。

采用StoryBDD,開(kāi)發(fā)者編寫人類可讀的故事來(lái)描述應(yīng)用的行為,然后這些故事可以作為應(yīng)用的測(cè)試用例。PHP中用于StoryBDD編程的框架是Behat,從Ruby 的Cucumber項(xiàng)目演化而來(lái),實(shí)現(xiàn)了Gherkin DSL來(lái)描述特性行為。

采用SpecBDD,開(kāi)發(fā)者編寫規(guī)格說(shuō)明來(lái)描述實(shí)際代碼的行為,與測(cè)試一個(gè)函數(shù)或方法不同,規(guī)格描述了一個(gè)函數(shù)或方法應(yīng)該具有的行為。PHP中的PHPSpec框 架提供該編程方式的支持,它也是從Ruby的RSpec project演化而來(lái)。

BDD鏈接Behat, the StoryBDD framework for PHP, inspired by Ruby’s?Cucumber?project;PHPSpec, the SpecBDD framework for PHP, inspired by Ruby’s?RSpec?project;Codeception?is a full-stack testing framework that uses BDD principles.測(cè)試輔助工具

除了測(cè)試驅(qū)動(dòng)和行為驅(qū)動(dòng)開(kāi)發(fā)框架,還有大量的通用框架和函數(shù)庫(kù),可以在各種開(kāi)發(fā)方法下使用。

工具鏈接Selenium?is a browser automation tool which can be?integrated with PHPUnitMockery?is a Mock Object Framework which can be integrated with?PHPUnit?or?PHPSpec
標(biāo)簽: PHP
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
www在线观看黄色| 欧美视频久久| 久久久久久夜| 欧美日韩免费观看视频| 波多野结衣久久精品| 97精品在线| 99久久夜色精品国产亚洲狼| 亚洲高清av| 国产亚洲毛片在线| 免费在线观看一区二区三区| 日韩精品久久理论片| 免费精品一区| 三级在线看中文字幕完整版| 欧美+日本+国产+在线a∨观看| 成人av动漫在线观看| 偷拍欧美精品| 亚洲精品在线二区| 欧美黄色一区二区| 99视频精品视频高清免费| 亚洲欧美日韩视频二区| 婷婷视频一区二区三区| 久久只有精品| 免费国产自久久久久三四区久久 | 红桃视频欧美| 日本中文字幕不卡| 国产亚洲欧美日韩精品一区二区三区 | 亚洲欧洲美洲国产香蕉| 91在线成人| 成人午夜网址| 亚洲精品在线观看91| 亚洲毛片在线免费| 精品亚洲自拍| 欧美特黄一区| 国产日产精品_国产精品毛片| 国产精品久久久久久久免费观看| 99久久99久久精品国产片果冰| 午夜宅男久久久| 欧美伊人久久| 国产麻豆久久| 日本亚洲最大的色成网站www| 精品国产乱码久久久久久樱花| av亚洲在线观看| 欧美精品国产一区| 成人自拍av| 日韩不卡一区二区三区| 国产suv精品一区二区四区视频| 午夜日本精品| 国产精品高清一区二区| 久久人人97超碰国产公开结果| 亚洲+小说+欧美+激情+另类| 精品一区视频| 免费黄网站欧美| 97精品国产一区二区三区| 蜜桃av一区二区三区电影| 国产成人免费av一区二区午夜| 免费视频久久| 一区二区三区四区日本视频| 日本不卡视频在线| 91精品国产乱码久久久久久久 | 高清久久精品| 中文字幕av亚洲精品一部二部| 91日韩在线| 亚洲va久久| 偷拍精品精品一区二区三区| 国产日韩欧美一区二区三区| 在线综合亚洲| 麻豆网站免费在线观看| 欧美一级网站| 亚洲成人精选| 成人在线免费观看网站| 日韩精品乱码av一区二区| 久久久国产亚洲精品| 国产精品igao视频网网址不卡日韩| 午夜精品影院| 日韩欧美三级| 国产伦理一区| 免费日本视频一区| 久久精品中文| 欧美xxxx性| 亚洲精品中文字幕99999| 亚洲天堂一区二区| 久久69成人| 久久精品99久久久| 先锋影音国产一区| 欧美一级精品| 理论片午夜视频在线观看| 国产亚洲欧美日韩在线观看一区二区| 亚洲欧美视频| 欧美精品自拍| 91精品啪在线观看国产18| 国产一区二区精品福利地址| 国产亚洲一区| 中文字幕中文字幕精品| 精品在线播放| 91精品精品| 日韩在线短视频| 国产成人精品一区二区三区免费 | 99久久九九| 成人福利av| 国产一区二区三区91| 人人精品久久| 深夜日韩欧美| 香蕉久久一区| 日欧美一区二区| 亚洲精品高潮| 免费精品视频在线| 免费看的黄色欧美网站| 狠狠干成人综合网| 91高清一区| 亚洲一级特黄| 亚洲第一精品影视| 国产91久久精品一区二区| 日韩高清欧美| 91精品韩国| 欧美不卡高清一区二区三区| 精品无人区麻豆乱码久久久| 精品一区二区三区四区五区| 美女高潮久久久| 精品国产亚洲一区二区在线观看| 久久av电影| 成人国产精品一区二区免费麻豆| 久久精品国产久精国产爱| 激情久久99| 91视频一区| 亚洲成人二区| 亚洲一区日韩在线| 综合在线一区| 青青伊人久久| 麻豆国产欧美一区二区三区 | 亚洲欧洲免费| 日本精品国产| 国产精品**亚洲精品| 红杏一区二区三区| 精品国产欧美日韩| 日韩一区二区三区免费| 亚洲va在线| 水蜜桃久久夜色精品一区的特点| 亚洲伊人影院| 日韩av成人高清| 国产美女亚洲精品7777| 精品美女在线视频| 久久久久国产精品一区二区| 999久久久国产精品| 国产高清一区二区| 亚洲一级淫片| 国产精品久久久网站| 成人精品动漫一区二区三区| 高清av不卡| 国产精品丝袜xxxxxxx| 日本不卡视频在线| 成人在线免费观看91| 久久精品一区二区不卡| 亚洲少妇自拍| 国产伦精品一区二区三区在线播放 | 日韩一区三区| 国产麻豆综合| 国产精品一区高清| 欧美男人天堂| 石原莉奈一区二区三区在线观看| 欧美天堂一区| 国产高潮在线| 石原莉奈在线亚洲三区| 欧美激情日韩| 欧美日韩免费观看一区=区三区| 日韩影片在线观看| av免费不卡国产观看| 午夜精品网站| 国产精品综合| 在线日韩av| 国产精区一区二区| 国产99久久| 欧美午夜三级| 亚洲福利国产| 国产精品中文字幕制服诱惑| 久久九九99| 日产欧产美韩系列久久99| 久久久久久久欧美精品| 蜜臀av免费一区二区三区| 欧美精品国产白浆久久久久| 日本美女一区| 日韩成人av影视| 在线日韩视频| 国产精品porn| 国产毛片久久| 国产夫妻在线| 日韩一区二区三免费高清在线观看| 高清一区二区三区| 四虎在线精品| 视频福利一区| 国产精品一区二区av交换| 黑丝一区二区三区| 精品淫伦v久久水蜜桃| 视频在线在亚洲| sm捆绑调教国产免费网站在线观看| 亚洲色图网站| 91精品国产调教在线观看 | 国际精品欧美精品| 伊人久久大香伊蕉在人线观看热v| 福利视频一区| 欧美精品国产|