SlideShare a Scribd company logo
1 of 18
Download to read offline
Тестване с
Codeception
Тихомил Кулев
21.09.2014
Теми
• Codeception - основа (basic, модули, helpers)
• Видове тестове
• Acceptance test
• Functional tests
• Unit tests
• Настройка и инсталация на Codeception в Yii 2
• Acceptance/Funcional/Unit tests Codeception style
• Модули и хелпъри
• Yii 2 модул
• SOAP модул
• Разширана употреба
А ти тестваш ли кода си?
Codeception - основа
• Позволява автоматично тестване на PHP код
• Базирано върху PHPUnit и Symfony2
• Лесна разширеямост (чрез модули)
• Поддържа много frameworks, включително Yii 1/2
Видове тестове
• Acceptance tests (WebGuy)
• Functional tests (TestGuy)
• Unit tests (CodeGuy)
• Api tests (ApiGuy)
Acceptance tests
• Емулация на браузър
• Тестване на всеки сайт
• Тестване на JS и AJAX
• Лесно четимо от хора (не-
програмисти)
• Стабилно при промяна на кода
• Бавно тестване
Functional tests
• Емулация на зявка и изпращане към сървъра
• Оценява спрямо получения резултат
• Базирано е на Framework-а (env based)
• Все още четимо от хора
• Не може да се тества JS/AJAX
• По-бързо спрямо Acceptance tests
Unit tests
• Работи посредством PHPUnit
• Тестовете са по-прости
• Не четимо от нормални хора
• Тестване на основна 

фунционалност
• Изолирани тестове
• Най-бързо теставне
Настройка и инсталация на
Codeception в Yii 2
Инсталация
php composer.phar “codeception/codeception:@stable”
Файлове
acceptance.suite.yml, functional.suite.yml, unit.suite.yml
Настройка и инсталация на
Codeception в Yii 2
• Acceptance test
• Unit test
Codeception 

Основни опции
Изпълнение - vendor/bin/codecept bootstrap
Ген. конфигурации - vendor/bin/codecept configure
Билдване - vendor/bin/codecept build
Генериране на тестове:
generate:cept <suite><test>
generate:test <suite><test>
generate:phpunit <suite><test>
generate:scenarious <suite><test>
Пускане на тестове - vendor/bin/codecept run [-g]
Acceptance tests
Codeception style
Методи за тестване
Unit tests Codeception style
Примери за тестване
Модули и хелпъри
• Helpers
Yii 2 модул
http://codeception.com/docs/modules/Yii2
SOAP модул
http://codeception.com/docs/modules/SOAP
http://codeception.com/docs/10-WebServices
Разширана употреба
• Cest Classes
• Depends анотация
• Интерактивна конзола
• Групи
• Работа с данни
• Дебъгване
http://codeception.com/docs/07-AdvancedUsage
• Кога да използваме functional/acceptance
тестове
• Кога да пишем тестовете?
• Кое да се тества?

More Related Content

Viewers also liked

Question 6
Question 6Question 6
Question 6ethankd
 
Soft grungeradio
Soft grungeradioSoft grungeradio
Soft grungeradioethankd
 
Increasing Personal Productivity with Getting Things Done(r)
Increasing Personal Productivity with Getting Things Done(r)Increasing Personal Productivity with Getting Things Done(r)
Increasing Personal Productivity with Getting Things Done(r)James Martin
 
Presentationnnnnnn
PresentationnnnnnnPresentationnnnnnn
Presentationnnnnnnethankd
 
Entrevista nacho torre relacioncliente marzo2016
Entrevista nacho torre relacioncliente marzo2016Entrevista nacho torre relacioncliente marzo2016
Entrevista nacho torre relacioncliente marzo2016Nacho Torre Solá
 
@CXMeeting CXM - Editorial de Carlos Tercero, Stiga
@CXMeeting CXM - Editorial de Carlos Tercero, Stiga@CXMeeting CXM - Editorial de Carlos Tercero, Stiga
@CXMeeting CXM - Editorial de Carlos Tercero, StigaNacho Torre Solá
 
Sueño con dejar de medir la experiencia de cliente
Sueño con dejar de medir la experiencia de clienteSueño con dejar de medir la experiencia de cliente
Sueño con dejar de medir la experiencia de clienteNacho Torre Solá
 
Tv news broadcast analysis
Tv news broadcast analysisTv news broadcast analysis
Tv news broadcast analysisethankd
 

Viewers also liked (10)

Question 6
Question 6Question 6
Question 6
 
Presentación2
Presentación2Presentación2
Presentación2
 
Soft grungeradio
Soft grungeradioSoft grungeradio
Soft grungeradio
 
Bootstrap basics
Bootstrap basicsBootstrap basics
Bootstrap basics
 
Increasing Personal Productivity with Getting Things Done(r)
Increasing Personal Productivity with Getting Things Done(r)Increasing Personal Productivity with Getting Things Done(r)
Increasing Personal Productivity with Getting Things Done(r)
 
Presentationnnnnnn
PresentationnnnnnnPresentationnnnnnn
Presentationnnnnnn
 
Entrevista nacho torre relacioncliente marzo2016
Entrevista nacho torre relacioncliente marzo2016Entrevista nacho torre relacioncliente marzo2016
Entrevista nacho torre relacioncliente marzo2016
 
@CXMeeting CXM - Editorial de Carlos Tercero, Stiga
@CXMeeting CXM - Editorial de Carlos Tercero, Stiga@CXMeeting CXM - Editorial de Carlos Tercero, Stiga
@CXMeeting CXM - Editorial de Carlos Tercero, Stiga
 
Sueño con dejar de medir la experiencia de cliente
Sueño con dejar de medir la experiencia de clienteSueño con dejar de medir la experiencia de cliente
Sueño con dejar de medir la experiencia de cliente
 
Tv news broadcast analysis
Tv news broadcast analysisTv news broadcast analysis
Tv news broadcast analysis
 

Similar to Codeception test & Yii 2

Acceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnitAcceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnitBisser Todorov
 
JBuilder 4.0 - New Features
JBuilder 4.0 - New FeaturesJBuilder 4.0 - New Features
JBuilder 4.0 - New FeaturesSvetlin Nakov
 
Visual Studio Team System 2008 Test Edition(for Software Tester)
Visual Studio Team System  2008 Test Edition(for Software Tester)Visual Studio Team System  2008 Test Edition(for Software Tester)
Visual Studio Team System 2008 Test Edition(for Software Tester)Yosifov
 
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)DAVID Academy
 
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLDAVID Academy
 
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)DAVID Academy
 
Web and WS based Embedded Systems
Web and WS based Embedded SystemsWeb and WS based Embedded Systems
Web and WS based Embedded SystemsNikolay Kakanakov
 
Penetration testing for dummies
Penetration testing for dummiesPenetration testing for dummies
Penetration testing for dummiesCode Runners
 
Continuous integration (d.atanasov)
Continuous integration (d.atanasov)Continuous integration (d.atanasov)
Continuous integration (d.atanasov)Deyan Atanasov
 
Сигурност и права за достъп в уеб приложения изработени с работната рамка Yii
Сигурност и права за достъп в уеб приложения изработени с работната рамка YiiСигурност и права за достъп в уеб приложения изработени с работната рамка Yii
Сигурност и права за достъп в уеб приложения изработени с работната рамка YiiIlko Kacharov
 
Тестове на уеб приложения
Тестове на уеб приложенияТестове на уеб приложения
Тестове на уеб приложенияKalin Vasilev
 
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...DAVID Academy
 
причини за автоматизация на тестването
причини за автоматизация на тестванетопричини за автоматизация на тестването
причини за автоматизация на тестванетоEvgeni Tsonev
 

Similar to Codeception test & Yii 2 (15)

Acceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnitAcceptance testing with Selenium 2 and PHPUnit
Acceptance testing with Selenium 2 and PHPUnit
 
JBuilder 4.0 - New Features
JBuilder 4.0 - New FeaturesJBuilder 4.0 - New Features
JBuilder 4.0 - New Features
 
Visual Studio Team System 2008 Test Edition(for Software Tester)
Visual Studio Team System  2008 Test Edition(for Software Tester)Visual Studio Team System  2008 Test Edition(for Software Tester)
Visual Studio Team System 2008 Test Edition(for Software Tester)
 
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2014), занятие №3 - JavaScript (част 1/2)
 
Курс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTMLКурс по уеб програмиране (2015), занятие №1 - HTML
Курс по уеб програмиране (2015), занятие №1 - HTML
 
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
 
Web and WS based Embedded Systems
Web and WS based Embedded SystemsWeb and WS based Embedded Systems
Web and WS based Embedded Systems
 
e-School Beta
e-School Betae-School Beta
e-School Beta
 
Penetration testing for dummies
Penetration testing for dummiesPenetration testing for dummies
Penetration testing for dummies
 
Continuous integration (d.atanasov)
Continuous integration (d.atanasov)Continuous integration (d.atanasov)
Continuous integration (d.atanasov)
 
Writing tests in Go
Writing tests in GoWriting tests in Go
Writing tests in Go
 
Сигурност и права за достъп в уеб приложения изработени с работната рамка Yii
Сигурност и права за достъп в уеб приложения изработени с работната рамка YiiСигурност и права за достъп в уеб приложения изработени с работната рамка Yii
Сигурност и права за достъп в уеб приложения изработени с работната рамка Yii
 
Тестове на уеб приложения
Тестове на уеб приложенияТестове на уеб приложения
Тестове на уеб приложения
 
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
 
причини за автоматизация на тестването
причини за автоматизация на тестванетопричини за автоматизация на тестването
причини за автоматизация на тестването
 

Codeception test & Yii 2