Property-based-тестирование как способ сократить неизвестноеТестирование и автоматизация

Доклад отклонён
Александр Костриков
Brain4Net

Занимался разработкой, тестированием и DevOps различных приложений. На данный момент основная занятость - DevOps и работа с Openstack.

Тезисы

Обычные автотесты на удивление ручные. Каждый сценарий для проверки нужно написать руками. Но Hypothesis может это исправить.

Доклад будет поделен на три части.
Вводная часть в Hypothesis, продвинутые возможности как в TLA+, построение сложных предсказуемых проектов в Erlang, и что можно из этого процесса почерпнуть.

Hypothesis - это часть нового поколения фреймворков для написания автотестов. Он позволяет объединить человеческое понимание проблемы с возможностями компьютера по систематичному улучшению качества. При этом времени уходит гораздо меньше.

Hypothesis - это современная реализация в Python property-based-тестирования. Для создания первых тестов не нужно запускать новые сервисы и раннеры. Достаточно установить Python-библиотеку и написать юнит-тест. В тесте вы опишете кодом, что и как надо протестировать. И hypothesis сгенерирует данные для теста за вас.

Ещё один схожий инструмент - TLA+. На примере проблемы из фильма "Крепкий орешек" будут показаны продвинутые возможности property-based-тестирования.

Но Hypothesis - это лишь часть мер по снижению неизвестного в коде. Через похожий framework из Erlang (PropEr) я покажу, как можно проектировать системы с меньшими рисками. Вместе с этим будет кратко рассмотрен процесс создания сложного сервиса в парадигме Erlang, из которой можно будет почерпнуть некоторые приёмы.

Автоматизация тестирования
,
Юнит-тестирование

Другие доклады секции Тестирование и автоматизация