SlideShare une entreprise Scribd logo
1  sur  25
Codeception + PHP for QA Automation
Евгений Борисик
ISSoft / Coherent Solutions
Что такое Codeception
1. Тестирование на PHP в стиле BDD
2. 100% на базе PHPUnit
3. Тестирование баз данных
4. Тестирование веб-сервисов
5. Тестирование функциональных PHP фреймворков
6. Параллельный запуск тестов
Когда стоит начать
использовать Codeception
1. Тестируемое приложение написано на PHP и использует такие
фреймворки, как Lavarel, Symfony2, Phalcon, Zend, Yii и др.
2. Вы хотите максимально быстро и понятно для самого себя
начать тестировать REST, SOAP api
3. Есть необходимость тестирования баз данных
4. Вы заинтересованы в быстром прохождении тестов
5. Функциональное и Unit-тестирование у Вас в приоритете
6. Вы тестируете статическое приложение
7. Вас интересует относительно невысокий уровень вхождения в
автоматизацию
Когда стоит отказаться
от использования Codeception
1. Преобладающее количество тестов – UI
2. Вы хотите получать Allure репорты 
3. Вы выбрали Codeception только из-за совместимости с Selenium
4. Вас интересует относительно невысокий уровень вхождения в
автоматизацию
Посредством чего запускаются тесты
• PhpBrowser – эмулятор браузера;
• Selenium WebDriver – настоящий браузер;
• Движок подключенного Вами модуля функционального фреймворка;
PhpBrowser
Плюсы:
1. Очень быстрый
2. Работает посредством curl-запросов
Минусы:
1. Не подходит для приложений, которые активно используют js
2. Сложно фиксить ошибки в тестах
Selenium WebDriver
Плюсы:
1. Отлично работает со всеми приложениями
2. Удобный при дебаге
Минусы:
1. Медленный
2. Требует запуска Selenium Server
Сравним скорость выполнения
PhpBrowser
Selenium WebDriver
Как настраивать запуск тестов
Как создавать тестовые классы
«Классическим» способом с помощью IDE
Как создавать тестовые классы
С помощью командной строки
generate:cept (Codeception scenario) – задаём желаемый вид
тестового класса;
acceptance – указываем, к какой группе тестов будет относится
новый класс;
LogoutTest – имя тестового класса, к названию автоматически
добавить приставка «Cept».
Тестовые классы вида Cept
Тестовые классы вида Cest
Тестирование веб-сервисов
• REST and SOAP
• Методы для аутентификации
• Методы для проверки статусов и хэдеров
• Методы для работы с результатами запросов
Пример теста
Тестирование баз данных
Делаем дамп базы и помещаем его в папку _data.
Тестирование баз данных
1. Запросы INSERT and SELECT
2. После прохождения тестов база данных полностью очищается и
заново заполняется с помощью скрипта
Codeception – «копаем» глубже
Группировка тестов
Запуск тестов: codecept run –g admin
Codeception – «копаем» глубже
Использование StepObjects pattern
Codeception – «копаем» глубже
Использование PageObjects pattern
Codeception – «копаем» глубже
Использование PageObjects pattern
Cest:
Cept:
Codeception – «копаем» глубже
Репортинг
• Позволяет создавать отчёты в разном формате: html, xml, tap,
json.
• Тип отчёта задаётся во время запуска в качестве флага.
• Нету интеграции со сторонними фреймворками репортинга.
Codeception – «копаем» глубже
Репортинг
Подведём итоги
1. Codeception идеально подходит для php-приложений
2. Codeception работает очень быстро через PhpBrowser
3. Codeception создан в первую очередь для функционального и
unit-тестирования, но это не значит, что с помощью его не
стоит тестировать UI
4. Codeception – хороший выбор для тестирования БД, если нет
необходимости делать UPDATE и DELETE запросы
5. Codeception – отличный выбор для тестирования REST и SOAP
сервисов
6. Codeception позволяет генерировать html репорт со своей
спецификой
7. Codeception не имеет интеграции со сторонними
фреймворками для репортинга
Спасибо за внимание
Евгений Борисик
ISSoft / Coherent Solutions
www.comaqa.by

Contenu connexe

Tendances

Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаSQALab
 
Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Микросервисы для автоматизации тестирования - опыт "Одноклассников"Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Микросервисы для автоматизации тестирования - опыт "Одноклассников"SQALab
 
Maven как средство сборки проекта
Maven как средство сборки проектаMaven как средство сборки проекта
Maven как средство сборки проектаYova Stoika
 
Performance testing with apache JMeter
Performance testing with apache JMeterPerformance testing with apache JMeter
Performance testing with apache JMeterIvanLysenko
 
Поиск багов в поиске
Поиск багов в поискеПоиск багов в поиске
Поиск багов в поискеyaevents
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA EngineerYan Alexeenko
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
 
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковSQALab
 
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...CodeFest
 
Полуавтоматизация third-party API
Полуавтоматизация third-party APIПолуавтоматизация third-party API
Полуавтоматизация third-party APISQALab
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumvyacheslavmaslov
 
Speeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsSpeeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsAnton Stepanenko
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...SQALab
 
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойВнедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойSQALab
 
Опыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаОпыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаIlya Chesnokov
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел СташевскийDevDay
 
СКБ-Банк. Игорь Клопотов. "Apache ServiceMix: опыт внедрения и эксплуатации"
СКБ-Банк. Игорь Клопотов. "Apache ServiceMix: опыт внедрения и эксплуатации"СКБ-Банк. Игорь Клопотов. "Apache ServiceMix: опыт внедрения и эксплуатации"
СКБ-Банк. Игорь Клопотов. "Apache ServiceMix: опыт внедрения и эксплуатации"Expolink
 

Tendances (20)

Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
 
Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Микросервисы для автоматизации тестирования - опыт "Одноклассников"Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Микросервисы для автоматизации тестирования - опыт "Одноклассников"
 
Maven как средство сборки проекта
Maven как средство сборки проектаMaven как средство сборки проекта
Maven как средство сборки проекта
 
Performance testing with apache JMeter
Performance testing with apache JMeterPerformance testing with apache JMeter
Performance testing with apache JMeter
 
Поиск багов в поиске
Поиск багов в поискеПоиск багов в поиске
Поиск багов в поиске
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
 
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиков
 
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
CodeFest 2011. Левин М. — Фреймворк для автоматизации тестирования и функцион...
 
Полуавтоматизация third-party API
Полуавтоматизация third-party APIПолуавтоматизация third-party API
Полуавтоматизация third-party API
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
 
Speeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsSpeeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI tests
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойВнедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
 
Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)
 
Опыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаОпыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервиса
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
 
СКБ-Банк. Игорь Клопотов. "Apache ServiceMix: опыт внедрения и эксплуатации"
СКБ-Банк. Игорь Клопотов. "Apache ServiceMix: опыт внедрения и эксплуатации"СКБ-Банк. Игорь Клопотов. "Apache ServiceMix: опыт внедрения и эксплуатации"
СКБ-Банк. Игорь Клопотов. "Apache ServiceMix: опыт внедрения и эксплуатации"
 

Similaire à COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, COMAQA.BY

Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.Igor Shkulipa
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...DevDay
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексейsolit
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Mail.ru Group
 
Lesson1
Lesson1Lesson1
Lesson1jinol
 
Php unit тесты с codeception
Php unit тесты с codeceptionPhp unit тесты с codeception
Php unit тесты с codeceptionVladislav Alexeyev
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumSQALab
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
 
JUnit, дай пять!
JUnit, дай пять!JUnit, дай пять!
JUnit, дай пять!Dmitrii Tuchs
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukInterSystems
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 

Similaire à COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, COMAQA.BY (20)

Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
 
Sivko
SivkoSivko
Sivko
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
 
Lesson1
Lesson1Lesson1
Lesson1
 
Php unit тесты с codeception
Php unit тесты с codeceptionPhp unit тесты с codeception
Php unit тесты с codeception
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
 
JUnit, дай пять!
JUnit, дай пять!JUnit, дай пять!
JUnit, дай пять!
 
Сервлеты
СервлетыСервлеты
Сервлеты
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Project under control
Project under controlProject under control
Project under control
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 

Plus de COMAQA.BY

Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...COMAQA.BY
 
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...COMAQA.BY
 
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...COMAQA.BY
 
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важностьRoman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важностьCOMAQA.BY
 
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...COMAQA.BY
 
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...COMAQA.BY
 
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...COMAQA.BY
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...COMAQA.BY
 
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.COMAQA.BY
 
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.COMAQA.BY
 
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...COMAQA.BY
 
Моя роль в конфликте
Моя роль в конфликтеМоя роль в конфликте
Моя роль в конфликтеCOMAQA.BY
 
Организация приемочного тестирования силами матерых тестировщиков
Организация приемочного тестирования силами матерых тестировщиковОрганизация приемочного тестирования силами матерых тестировщиков
Организация приемочного тестирования силами матерых тестировщиковCOMAQA.BY
 
Развитие или смерть
Развитие или смертьРазвитие или смерть
Развитие или смертьCOMAQA.BY
 
Системный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестовСистемный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестовCOMAQA.BY
 
Эффективная работа с рутинными задачами
Эффективная работа с рутинными задачамиЭффективная работа с рутинными задачами
Эффективная работа с рутинными задачамиCOMAQA.BY
 
Как стать синьором
Как стать синьоромКак стать синьором
Как стать синьоромCOMAQA.BY
 
Open your mind for OpenSource
Open your mind for OpenSourceOpen your mind for OpenSource
Open your mind for OpenSourceCOMAQA.BY
 
JDI 2.0. Not only UI testing
JDI 2.0. Not only UI testingJDI 2.0. Not only UI testing
JDI 2.0. Not only UI testingCOMAQA.BY
 
Out of box page object design pattern, java
Out of box page object design pattern, javaOut of box page object design pattern, java
Out of box page object design pattern, javaCOMAQA.BY
 

Plus de COMAQA.BY (20)

Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
 
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
 
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
 
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важностьRoman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
 
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
 
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
 
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
 
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
 
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
 
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
 
Моя роль в конфликте
Моя роль в конфликтеМоя роль в конфликте
Моя роль в конфликте
 
Организация приемочного тестирования силами матерых тестировщиков
Организация приемочного тестирования силами матерых тестировщиковОрганизация приемочного тестирования силами матерых тестировщиков
Организация приемочного тестирования силами матерых тестировщиков
 
Развитие или смерть
Развитие или смертьРазвитие или смерть
Развитие или смерть
 
Системный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестовСистемный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестов
 
Эффективная работа с рутинными задачами
Эффективная работа с рутинными задачамиЭффективная работа с рутинными задачами
Эффективная работа с рутинными задачами
 
Как стать синьором
Как стать синьоромКак стать синьором
Как стать синьором
 
Open your mind for OpenSource
Open your mind for OpenSourceOpen your mind for OpenSource
Open your mind for OpenSource
 
JDI 2.0. Not only UI testing
JDI 2.0. Not only UI testingJDI 2.0. Not only UI testing
JDI 2.0. Not only UI testing
 
Out of box page object design pattern, java
Out of box page object design pattern, javaOut of box page object design pattern, java
Out of box page object design pattern, java
 

COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, COMAQA.BY

  • 1. Codeception + PHP for QA Automation Евгений Борисик ISSoft / Coherent Solutions
  • 2. Что такое Codeception 1. Тестирование на PHP в стиле BDD 2. 100% на базе PHPUnit 3. Тестирование баз данных 4. Тестирование веб-сервисов 5. Тестирование функциональных PHP фреймворков 6. Параллельный запуск тестов
  • 3. Когда стоит начать использовать Codeception 1. Тестируемое приложение написано на PHP и использует такие фреймворки, как Lavarel, Symfony2, Phalcon, Zend, Yii и др. 2. Вы хотите максимально быстро и понятно для самого себя начать тестировать REST, SOAP api 3. Есть необходимость тестирования баз данных 4. Вы заинтересованы в быстром прохождении тестов 5. Функциональное и Unit-тестирование у Вас в приоритете 6. Вы тестируете статическое приложение 7. Вас интересует относительно невысокий уровень вхождения в автоматизацию
  • 4. Когда стоит отказаться от использования Codeception 1. Преобладающее количество тестов – UI 2. Вы хотите получать Allure репорты  3. Вы выбрали Codeception только из-за совместимости с Selenium 4. Вас интересует относительно невысокий уровень вхождения в автоматизацию
  • 5. Посредством чего запускаются тесты • PhpBrowser – эмулятор браузера; • Selenium WebDriver – настоящий браузер; • Движок подключенного Вами модуля функционального фреймворка;
  • 6. PhpBrowser Плюсы: 1. Очень быстрый 2. Работает посредством curl-запросов Минусы: 1. Не подходит для приложений, которые активно используют js 2. Сложно фиксить ошибки в тестах
  • 7. Selenium WebDriver Плюсы: 1. Отлично работает со всеми приложениями 2. Удобный при дебаге Минусы: 1. Медленный 2. Требует запуска Selenium Server
  • 10. Как создавать тестовые классы «Классическим» способом с помощью IDE
  • 11. Как создавать тестовые классы С помощью командной строки generate:cept (Codeception scenario) – задаём желаемый вид тестового класса; acceptance – указываем, к какой группе тестов будет относится новый класс; LogoutTest – имя тестового класса, к названию автоматически добавить приставка «Cept».
  • 14. Тестирование веб-сервисов • REST and SOAP • Методы для аутентификации • Методы для проверки статусов и хэдеров • Методы для работы с результатами запросов
  • 16. Тестирование баз данных Делаем дамп базы и помещаем его в папку _data.
  • 17. Тестирование баз данных 1. Запросы INSERT and SELECT 2. После прохождения тестов база данных полностью очищается и заново заполняется с помощью скрипта
  • 18. Codeception – «копаем» глубже Группировка тестов Запуск тестов: codecept run –g admin
  • 19. Codeception – «копаем» глубже Использование StepObjects pattern
  • 20. Codeception – «копаем» глубже Использование PageObjects pattern
  • 21. Codeception – «копаем» глубже Использование PageObjects pattern Cest: Cept:
  • 22. Codeception – «копаем» глубже Репортинг • Позволяет создавать отчёты в разном формате: html, xml, tap, json. • Тип отчёта задаётся во время запуска в качестве флага. • Нету интеграции со сторонними фреймворками репортинга.
  • 23. Codeception – «копаем» глубже Репортинг
  • 24. Подведём итоги 1. Codeception идеально подходит для php-приложений 2. Codeception работает очень быстро через PhpBrowser 3. Codeception создан в первую очередь для функционального и unit-тестирования, но это не значит, что с помощью его не стоит тестировать UI 4. Codeception – хороший выбор для тестирования БД, если нет необходимости делать UPDATE и DELETE запросы 5. Codeception – отличный выбор для тестирования REST и SOAP сервисов 6. Codeception позволяет генерировать html репорт со своей спецификой 7. Codeception не имеет интеграции со сторонними фреймворками для репортинга
  • 25. Спасибо за внимание Евгений Борисик ISSoft / Coherent Solutions www.comaqa.by