В сегодняшнем, 21-м занятии курса “Otus PHP Professional“ мы рассмотрим общие вопросы тестирования кода. Разберем виды тестирования, рассмотрим примеры их применения в зависимости от ситуации. В конце занятия рассмотрим применение инструмента “codeception” для автоматизации тестирования.

/**/

О занятии

Цели занятия

  • после занятия вы сможете:

  • объяснить, почему тестирование — залог крепкого сна команды разработки.

Краткое содержание

  • тестирование — его виды и какие проблемы призван решить каждый вид;

  • acceptance, integration и unit тестирование;

  • test case и как он должен выглядеть;

  • написание интеграционных тестов на codeception.

Результаты

  • научиться покрывать приложение тестами и автоматизировать процесс тестирования.

Преподаватель

  • Олег Мельник

  • Дата: 18.04.2022


Тезисы из лекции

Цели занятия

Цели тестирования (зачем это нужно?)

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

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

Периодичность тестирования (по уровням)

Пирамида тестирования

Уровни тестирования (примеры)

Описание задачи

Приемочное

Системное

Интеграционное

Модульное

Самописная страница для оплаты услуг картой

(плюс)

(плюс)

(плюс)

Сертификация приложения, использующего персональные данные и ЭЦП

(плюс)

Микро-сервис фасад для сайта Госуслуг

(вопрос)

(плюс)

Ранний релиз “сырого” продукта: запуск на прод-сервере приложения, готового на 60% для внутр. пользователей

(минус)

(минус)

(минус)

(минус)

Бесшовный интерфейс для двух разных микросервисов

(плюс)

(плюс)

Микросервис авторизации с откликом 20-30 мс при нагрузке ~1000 запросов в минуту

(вопрос)

(плюс)

Миграция приложения с MySQL на PostgreSQL

(плюс)

Мобильное приложение, адаптированное под разные разрешения экрана

(плюс)

Цели тестирования (примеры)

Описание задачи

Валидация функционала

Поиск ошибок

Безопасность внесения изменений в код

Адаптация под окружение

Адаптация к нагрузкам

Получение сертификата

Самописная страница для оплаты услуг картой

(плюс)

(плюс)

(плюс)

Сертификация приложения, использующего персональные данные и ЭЦП

(плюс)

(плюс)

Микро-сервис фасад для Госуслуг

(плюс)

(плюс)

(вопрос)

Ранний релиз “сырого” продукта: запуск на прод-сервере приложения, готового на 60% для внутр. пользователей

(минус)

(минус)

(минус)

(минус)

(минус)

(минус)

Бесшовный интерфейс для двух разных микросервисов

(плюс)

(плюс)

(минус)

Микросервис авторизации с откликом 20-30 мс при нагрузке ~1000 запросов в минуту

(плюс)

(плюс)

Миграция приложения с MySQL на PostgreSQL

(плюс)

(плюс)

(плюс)

Мобильное приложение, адаптированное под разные разрешения экрана

(плюс)


3. Методологии тестирования

Методология “TDD”

Методология “BDD”

Вопросы для размышлений


4. Метрики покрытия тестами

Вопросы для проверки

Ответы

нет, нет, второе, нет+нет


5. Организация тестов

Признаки хороших тестов: A-Trip

(звезда) независимость: остальные тесты не должны “валиться“, если какой-то тест удален/не запущен


Мой отзыв о занятии

Хотелось бы примеры кода с тестами + задачки на написание тестов в домашке.

В анонсе занятия указано про изучение Codeception… не дошли до этого (но этому будет посвящено отдельное, следующее занятие — прим. ред.)

Основные материалы

Tags

Нет комментариев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.