Социология Code Review или что делать, елси ваши...

Preview:

DESCRIPTION

My talk from XPDays Ukraine 2012. About test code review when the acceptance tests is written by manual QA.

Citation preview

Социология 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

oleksiy.rezchykov@gmail.com

SpringByExample.com.ua

mcgray.com.ua

Recommended