SlideShare a Scribd company logo
1 of 14
Codeception Test
功能測試
副標題
測試種類
▪ Unit Testing
▪ Functional Testing
▪ Acceptance Testing
▪ 支持三種不同格式代碼
▪ Cept:最簡單的單一場景測試文件
▪ Cest:使用物件導向格式,用於單個文件運行多個測試
▪ Test:在PHPUnit上編寫測試,PHP測試框架
什麼是acceptance Test?
▪ 情境:假設你的客戶,經理,測試人員或其他非技術人員要如何知道你的網站正在
運作? 操作打開瀏覽器,訪問網站,點擊鍵結,填寫表單等等看到實際網頁內容,
並且不了解你使用的框架,database,Web Server 或者應用程序行為不如預期,
要如何知道呢?
▪ 驗收測試可以以用戶的角度來測試複雜的場景,通過驗收測試,你可以確定案造所
有定義的方案,用戶將不會收到錯誤。
▪ 優點:1.可以在任何網站運行 2.可以測試JavaScript 和AJAX
▪ 缺點:1.效率較差(須運行瀏覽器和數據庫) 2. 不穩定->使用JavaScript可能導致不可
預期結果…
什麼是function Test?
▪ 功能測試會驗證常見的應用場景,就像用戶正在執行的一樣,但使用
Web瀏覽器仿真。
▪ 和Acceptance(驗收測試)幾乎是一模一樣,主要區別在於功能測試不
需要一個Web服務器來運行測試。
▪ 對於功能測試,你可以模擬Web Request ,也可以檢查數據是否成功
儲存在數據庫中。
▪ 需要結構化才能在測試環境中運行。
▪ 優點: 1.像驗收測試但是更快 2.提供更詳細的報告
▪ 缺點:1.JavaScript和AJAX無法測試 2.透過模擬的瀏覽器可能導致不預
期結果 3.需要一個框架
區別
▪ 驗收測試與功能測試相同,但實際上通過Web瀏覽
器運行測試。
擴展方式
▪ 如同上次所述執行Composer進行安裝
▪ 運行 composer global status (幫助運行codecept全局目錄設置)
▪ 另外也可安裝Faker,進行假數據測試。(composer require --dev yiisoft/yii2-faker:*)
▪ 設置codeception 在的應用程序上初始化->執行 codecept bootstrap
試例
創建一個cept測試文件
▪ 驗收測試須配置數據庫(tests/acceptance.suite.yml)
Acceptance Test Code
Test Result
補充
▪ Generators
▪ generate:cept suite filename - Generates a sample Cept scenario
▪ generate:cest suite filename - Generates a sample Cest test
▪ generate:test suite filename - Generates a sample PHPUnit Test with Codeception hooks
▪ generate:phpunit suite filename - Generates a classic PHPUnit Test
▪ generate:feature suite filename - Generates Gherkin feature file
▪ generate:suite suite actor - Generates a new suite with the given Actor class name
▪ generate:scenarios suite - Generates text files containing scenarios from tests
▪ generate:helper filename - Generates a sample Helper File
▪ generate:pageobject suite filename - Generates a sample Page object
▪ generate:stepobject suite filename - Generates a sample Step object
▪ generate:environment env - Generates a sample Environment configuration
▪ generate:groupobject group - Generates a sample Group Extension
補充2
▪ Running Tests command
▪ php codecept run
▪ php codecept run acceptance
▪ php codecept run acceptance SigninCept.php
▪ php codecept run tests/acceptance/SigninCept.php
▪ php codecept run tests/acceptance/SignInCest.php:^anonymousLogin$
▪ php codecept run tests/acceptance/backend
▪ php codecept run tests/acceptance/backend:^login
總結
▪對於任何一個程式設計師來說,各個功能測試
的重要性不言而喻,以上只介紹簡單的測試,
希望大家都能夠查看Codepection官網和Yii
官方說明上的詳述在實地操作一次將會獲得意
想不到的收穫!
參考文獻
▪ http://codeception.com/docs/01-Introduction
▪ http://www.yiiframework.com/doc/guide/1.1/en/test.functional
▪ http://www.yiiframework.com/doc-2.0/guide-test-environment-setup.html

More Related Content

Similar to Codeception test

網站設計100步
網站設計100步網站設計100步
網站設計100步evercislide
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)Rick Hwang
 
测试驱动的前端开发初探
测试驱动的前端开发初探测试驱动的前端开发初探
测试驱动的前端开发初探hua qiu
 
Test driven-frontend-develop
Test driven-frontend-developTest driven-frontend-develop
Test driven-frontend-developfangdeng
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)Max Lai
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
Agile Taichung sharing Robot Framework 2018/05/19
Agile Taichung sharing Robot Framework 2018/05/19Agile Taichung sharing Robot Framework 2018/05/19
Agile Taichung sharing Robot Framework 2018/05/19Leo Tseng
 
Web爬虫那点事
Web爬虫那点事Web爬虫那点事
Web爬虫那点事Yihua Huang
 
第一次用 PHPUnit 寫測試就上手
第一次用 PHPUnit 寫測試就上手第一次用 PHPUnit 寫測試就上手
第一次用 PHPUnit 寫測試就上手Yi-Ming Huang
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdfbj_qa
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4Daniel Chou
 
Knowledge sharing
Knowledge sharingKnowledge sharing
Knowledge sharingPeng Wan
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践taobao.com
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressAppzhoujg
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChineseWenlong Zhu
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC
 
如何使用 Xhprof 分析網站效能 (真實案例)
如何使用 Xhprof 分析網站效能 (真實案例)如何使用 Xhprof 分析網站效能 (真實案例)
如何使用 Xhprof 分析網站效能 (真實案例)Cyril Wang
 
Web testing automation
Web testing automationWeb testing automation
Web testing automationkuozui
 

Similar to Codeception test (20)

網站設計100步
網站設計100步網站設計100步
網站設計100步
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
测试驱动的前端开发初探
测试驱动的前端开发初探测试驱动的前端开发初探
测试驱动的前端开发初探
 
Test driven-frontend-develop
Test driven-frontend-developTest driven-frontend-develop
Test driven-frontend-develop
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
Agile Taichung sharing Robot Framework 2018/05/19
Agile Taichung sharing Robot Framework 2018/05/19Agile Taichung sharing Robot Framework 2018/05/19
Agile Taichung sharing Robot Framework 2018/05/19
 
jasmine入门指南
jasmine入门指南jasmine入门指南
jasmine入门指南
 
Web爬虫那点事
Web爬虫那点事Web爬虫那点事
Web爬虫那点事
 
第一次用 PHPUnit 寫測試就上手
第一次用 PHPUnit 寫測試就上手第一次用 PHPUnit 寫測試就上手
第一次用 PHPUnit 寫測試就上手
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
 
Knowledge sharing
Knowledge sharingKnowledge sharing
Knowledge sharing
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
 
Berserk js
Berserk jsBerserk js
Berserk js
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChinese
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 
如何使用 Xhprof 分析網站效能 (真實案例)
如何使用 Xhprof 分析網站效能 (真實案例)如何使用 Xhprof 分析網站效能 (真實案例)
如何使用 Xhprof 分析網站效能 (真實案例)
 
Web testing automation
Web testing automationWeb testing automation
Web testing automation
 

Codeception test