Социология Code Reviewили
что делать, если ваши
тестировщики взялись писать код
Ноябрь 2012Алексей Резчиков
@twincengray #xpdays2
Обо мне
Java разработчик и тимлид уже более 6-ти лет
В разное время работал project, resource, development и competency manager
Последователь XP/Agile/Lean
Консультант по Testing Automation, Continuous Integration и Continuous Delivery
Евангелист Spring Framework в рамках SpringByExample.com.ua
@twincengray #xpdays3
Реалии индустрии
@twincengray #xpdays4
Реалии индустрии
@twincengray #xpdays5
Реалии индустрии
@twincengray #xpdays6
Как это работает?
@twincengray #xpdays7
Автоматизация
8
А давайте напишем фреймворк
автоматизации
@twincengray #xpdays
9@twincengray #xpdays
@twincengray #xpdays10
To BDD or not to BDD
@twincengray #xpdays11
Поехали!!!
@twincengray #xpdays12
Кто будет писать тесты?
@twincengray #xpdays13
Расскажите своим тестировщикам про…
@twincengray #xpdays14
Composition or Inheritance
Наследование не используется совсем
Наследование используется там где стоит использовать композицию
@twincengray #xpdays15
Строковые преобразования
Особенности реализации строк в языке программирования
Строковые литералы/константы
Манипуляции по строками
@twincengray #xpdays16
Деньги
Точность в операциях с деньгами
Правильные типы данных
Собственные утилиты
@twincengray #xpdays17
Даты
Правильное использование встроенных средств
Сторонние библиотеки
Собственные хелпер классы
@twincengray #xpdays18
i18n & l10n
Использование локали
Хранение/получение сообщений
Форматирование (даты, деньги)
19
Автоматизировали регрессию
@twincengray #xpdays
@twincengray #xpdays20
Что будет если просто…
@twincengray #xpdays21
НО это хороший первый шаг
@twincengray #xpdays22
Параметризация тестов
A=1; B=2; C=1;
A=2; B=2; C=2;
A=3; B=3; C=3;
@twincengray #xpdays23
PageObject/PageElement
Page Page class Test
@twincengray #xpdays24
Steps
@twincengray #xpdays25
Что получилось?
Тот же тест что и несколько слайдов ранее…
@twincengray #xpdays26
Что делать со всем этим кодом?
@twincengray #xpdays27
Checklist от КО
Посмотреть мою прошлую презентацию
Не оставляйте без присмотра
Добавлять фичи
Добавлять тесты фич
Постоянно рефакторить
@twincengray #xpdays28
Тесты и люди
@twincengray #xpdays29
Основываясь на личном опыте…
@twincengray #xpdays30
Куда девать тесты?
@twincengray #xpdays31
Черная или белая коробка?
@twincengray #xpdays32
Этот загадочный зверь регрессия
@twincengray #xpdays33
Дайте тестам повзрослеть
@twincengray #xpdays34
Итог
Роли на проектах все больше смешиваются
Автоматизации становится необходимой
Не отделяйте код тестов от проектного кода
Постоянно совершенствуйте свои тесты
Тестировщики и разработчики обменивайтесь знаниями и опытом
То чем мы занимаемся - командная игра
@twincengray #xpdays35
Вопросы?@twincengray@ua_spring
SpringByExample.com.ua
mcgray.com.ua