64
Белым по черному или альтернативное использование unit- тестирования

Белым по черному или альтернативное использование unit-тестирования

  • Upload
    sqalab

  • View
    609

  • Download
    2

Embed Size (px)

DESCRIPTION

Дмитрий Зенович - Доклад на конференции SQA Days-3

Citation preview

Page 1: Белым по черному или альтернативное использование unit-тестирования

Белым по черному или альтернативное использование

unit-тестирования

Page 2: Белым по черному или альтернативное использование unit-тестирования

Вся активная аудитория рунета

Page 3: Белым по черному или альтернативное использование unit-тестирования

десятки тысяч

площадок

Page 4: Белым по черному или альтернативное использование unit-тестирования

онлайн демоны

оффлайновых скрипты и демона

веб-интерфейс

Soap

Api

генераторы статистики и отчетов

Page 5: Белым по черному или альтернативное использование unit-тестирования
Page 6: Белым по черному или альтернативное использование unit-тестирования

Язык

Почему PHP?

Page 7: Белым по черному или альтернативное использование unit-тестирования

Почему PHP?

интерпретируемый

Page 8: Белым по черному или альтернативное использование unit-тестирования

Почему PHP?

ООП

Page 9: Белым по черному или альтернативное использование unit-тестирования

Почему PHP?

И ты, Брут?

Page 10: Белым по черному или альтернативное использование unit-тестирования

Юнит-тестирование

Почему PHPUnit?

Page 11: Белым по черному или альтернативное использование unit-тестирования

Почему PHPUnit?

больше возможностей

Page 12: Белым по черному или альтернативное использование unit-тестирования

Почему PHPUnit?

интеграция в среду

разработки

Page 13: Белым по черному или альтернативное использование unit-тестирования

Почему PHPUnit?

мейнстрим

Page 14: Белым по черному или альтернативное использование unit-тестирования

Почему PHPUnit?

интеграция

с другими

средствами

Page 15: Белым по черному или альтернативное использование unit-тестирования

Почему PHPUnit?

Что нам обещает PHPUnit?

Page 16: Белым по черному или альтернативное использование unit-тестирования

Что нам обещает PHPUnit?

просто

научиться писать

Page 17: Белым по черному или альтернативное использование unit-тестирования

Что нам обещает PHPUnit?

просто писать

Page 18: Белым по черному или альтернативное использование unit-тестирования

Что нам обещает PHPUnit?

просто

читать

Page 19: Белым по черному или альтернативное использование unit-тестирования

Что нам обещает PHPUnit?

просто

выполнять

Page 20: Белым по черному или альтернативное использование unit-тестирования

Что нам обещает PHPUnit?

быстро выполнять

Page 21: Белым по черному или альтернативное использование unit-тестирования

Что нам обещает PHPUnit?

тесты изолированы

Page 22: Белым по черному или альтернативное использование unit-тестирования

Что нам обещает PHPUnit?

тесты компонуемы

Page 23: Белым по черному или альтернативное использование unit-тестирования

Основы PHPUnit

unit-тестирование

Page 24: Белым по черному или альтернативное использование unit-тестирования

PHPUnit TestCase

<?php require_once 'PHPUnit/Framework.php';

  class WorldTest extends 

PHPUnit_Framework_TestCase {

// Здесь сами методы тестов // ... } ?>

Page 25: Белым по черному или альтернативное использование unit-тестирования

Установка мира на PHPUnit

public function setUp()  { // Создадим новый мир для теста $this->world = new World; }

Page 26: Белым по черному или альтернативное использование unit-тестирования

Тест на PHPUnit

public function testNewWorldIsEmpty() { // Добавим планету с существом $this->world->addPlanet() ->addMonkey();

// Убедимся, что в мире одно существо $this->assertEquals(1, $this->world->countCreatures());}

Page 27: Белым по черному или альтернативное использование unit-тестирования

Результаты работы PHPUnit

> phpunit WorldTestPHPUnit 3.2.10 by Sebastian Bergmann.

F

Time: 0 seconds

There was 1 failure:

1) testWorldContainsACreature(WorldTest)Failed asserting that <integer:0> matches expected

value <integer:1>./home/dz/world/tests/WorldTest.php:24

FAILURES!Tests: 1, Failures: 1.

Page 28: Белым по черному или альтернативное использование unit-тестирования

Тест на PHPUnit

public function testNewWorldIsEmpty() { // Добавим Солнце // см. #15 $this->world->addSun();

// Добавим планету с существом $this->world->addPlanet() ->addMonkey();

// ...

Page 29: Белым по черному или альтернативное использование unit-тестирования

Результаты работы PHPUnit

> phpunit WorldTestPHPUnit 3.2.10 by Sebastian Bergmann.

.

Time: 0 seconds

OK (1 test)

Page 30: Белым по черному или альтернативное использование unit-тестирования
Page 31: Белым по черному или альтернативное использование unit-тестирования

PHPUnit

простота обучения

и

простота написания

Page 32: Белым по черному или альтернативное использование unit-тестирования

PHPUnit

изолированностьи

скорость выполнения

Page 33: Белым по черному или альтернативное использование unit-тестирования

PHPUnit

PHP – это решение

Page 34: Белым по черному или альтернативное использование unit-тестирования

PHPUnit

для разработчиков

Page 35: Белым по черному или альтернативное использование unit-тестирования
Page 36: Белым по черному или альтернативное использование unit-тестирования

Белым по черному

THE END?

Page 37: Белым по черному или альтернативное использование unit-тестирования

PHPUnit и черные ящики

веб-интерфейс

Page 38: Белым по черному или альтернативное использование unit-тестирования

Selenium Remote Control

Page 39: Белым по черному или альтернативное использование unit-тестирования

Selenium IDE

Page 40: Белым по черному или альтернативное использование unit-тестирования

PHPUnit + Selenium-RC

огромные возможности

Page 41: Белым по черному или альтернативное использование unit-тестирования

PHPUnit и черные ящики

блоки JavaScript

Page 42: Белым по черному или альтернативное использование unit-тестирования

JavaScript-блоки и PHPUnit

подготовленные ответы

иjs-регистраторы

JavaScript

PHPUnit

Selenium-RC

браузер

Page 43: Белым по черному или альтернативное использование unit-тестирования

Функциональное тестирование на PHPUnit

подготовленные данные

(PHPUnit)

Программа

Проверкивыходных данных

(PHPUnit)

Page 44: Белым по черному или альтернативное использование unit-тестирования

Форматы данных

XML

HTML

JavaScript

text …

Page 45: Белым по черному или альтернативное использование unit-тестирования

Способы передачи данных

сетевой запрос

Page 46: Белым по черному или альтернативное использование unit-тестирования

Способы передачи данных

файлы

Page 47: Белым по черному или альтернативное использование unit-тестирования

Способы передачи данных

база данных

Page 48: Белым по черному или альтернативное использование unit-тестирования

Функциональное тестирование на PHPUnit

подготовленные данные

(PHPUnit)

Программа

Проверкивыходных данных

(PHPUnit)

Page 49: Белым по черному или альтернативное использование unit-тестирования
Page 50: Белым по черному или альтернативное использование unit-тестирования

Применение PHPUnit

нагрузочное

тестирование

Page 51: Белым по черному или альтернативное использование unit-тестирования

PHPUnit

Контроль качества

Page 52: Белым по черному или альтернативное использование unit-тестирования

Мониторинг результатов тестирования

системы

непрерывной

интеграции

Page 53: Белым по черному или альтернативное использование unit-тестирования

PHPUnit и непрерывная интеграция

Page 54: Белым по черному или альтернативное использование unit-тестирования

phpUnderControl

Page 55: Белым по черному или альтернативное использование unit-тестирования
Page 56: Белым по черному или альтернативное использование unit-тестирования

Непрерывная интеграция

отчет должен

формироваться

быстро

Page 57: Белым по черному или альтернативное использование unit-тестирования

Контроль качества

Мониторинг

работы системы

Page 58: Белым по черному или альтернативное использование unit-тестирования

Мониторинг работы системы

критически важный функционал

Page 59: Белым по черному или альтернативное использование unit-тестирования

Мониторинг работы системы

запуск по расписанию

Page 60: Белым по черному или альтернативное использование unit-тестирования

Мониторинг работы системы

графики zabbix

Page 61: Белым по черному или альтернативное использование unit-тестирования

Мониторинг работы системы

e-mail

sms

Page 62: Белым по черному или альтернативное использование unit-тестирования
Page 63: Белым по черному или альтернативное использование unit-тестирования

СПАСИБО!

Page 64: Белым по черному или альтернативное использование unit-тестирования

Белым по черному

Дмитрий Зенович

[email protected]