Грабли автоматизации. Учимся на чужих ошибках

17
Грабли автоматизации. Учимся на чужих ошибках. Елена Андреева Grid Dynamics

Upload: sqalab

Post on 15-Nov-2014

923 views

Category:

Education


0 download

DESCRIPTION

Доклад Елены Андреевой на конференции SQA Days-12, 30 ноября-1 декабря, Минск

TRANSCRIPT

Page 1: Грабли автоматизации. Учимся на чужих ошибках

Грабли автоматизации. Учимся на чужих

ошибках.

Елена АндрееваGrid Dynamics

Page 2: Грабли автоматизации. Учимся на чужих ошибках

Опыт работы

Несмотря на использование разных средств автоматизации и разный уровень технической подготовки команд все проекты проходят через одинаковые проблемы: ● ошибки кода● неверное построение архитектуры● нарушение процесса автоматизации

Page 3: Грабли автоматизации. Учимся на чужих ошибках

Разделяй и властвуй

Функциональность - набор требованийДлинные сценарииПотеря гибкостиИерархия дефектов

Функциональность

требование 1

требование 2

требование 3

Длинный тест

тест

тест

тест

Набортестов

Page 4: Грабли автоматизации. Учимся на чужих ошибках

Не всё сразу

Разрастание системыОграниченность ресурсовНезавершенные процессыПровал проекта

● Разрастание системы происходит постоянно

● Ресурсы на тестирование ограничены

● Незавершенные процессы● Неактуальные тесты

Page 5: Грабли автоматизации. Учимся на чужих ошибках

Знай и умей свой инструмент

● в любом случае возникают проблемы

● скорость их решения (в том числе) зависит от имеющихся знаний

image source: http://n8tip.com/

Page 6: Грабли автоматизации. Учимся на чужих ошибках

Выделение обязанностей

Класс, который делает все, похож на многорукого человека - там явно что-то лишнее!

поддержкамодернизация работа системы

image source: http://profit.fisit.ru

Page 7: Грабли автоматизации. Учимся на чужих ошибках

Избегай дублирования

ОшибкиИзменения Затратыint i;some_codewith_logic(i);test1_asserts;

int j;some_codewith_logic(j);test2_asserts;

int k;some_codewith_logic(k);test3_asserts;

Тест 1 Тест 2 Тест 3

Ctrl+C, Ctrl+V Ctrl+C, Ctrl+V

Page 8: Грабли автоматизации. Учимся на чужих ошибках

Избегай дублирования

ОшибкиИзменения Затраты

int i;some_codewith_logic(i);test1_asserts;

int j;some_codewith_logic(j);test2_asserts;

int k;some_codewith_logic(k);test3_asserts;

someMethod(){logic implementation}

Page 9: Грабли автоматизации. Учимся на чужих ошибках

поддержкаиспользование

Наведи порядок

image source: http://evangelicalcalvinist.blogspot.ru

метод

метод

метод

метод

метод

метод

метод

метод

метод

метод

метод

метод

многорукий класс

Page 10: Грабли автоматизации. Учимся на чужих ошибках

Напиши коментарии

поддержкаиспользование

image source: http://blog.mobile-mir.com, http://evangelicalcalvinist.blogspot.ru

Page 11: Грабли автоматизации. Учимся на чужих ошибках

Используй логирование

отслеживание состояния перенос

image source: http://volginartem.files.wordpress.com, http://1.bp.blogspot.com

Page 12: Грабли автоматизации. Учимся на чужих ошибках

Соблюдай конвенции

поддержкаиспользование

image source: http://lh5.ggpht.com, http://1.bp.blogspot.com

Page 13: Грабли автоматизации. Учимся на чужих ошибках

Держись золотой середины

развитиеизменениеэволюция

image source: http://beyondtesting.co.in

Page 14: Грабли автоматизации. Учимся на чужих ошибках

Проблема падающих тестов

дефектывзаимодействие с разработчикамиактуальное состояние

image source: http://drupal.org

Page 15: Грабли автоматизации. Учимся на чужих ошибках

Двигайся дальше

image source: http://whywebpro.com/

развитие тестируемой системыизменение тестируемой системы

эволюция системы тестов

изменение требований к инженеру

Page 16: Грабли автоматизации. Учимся на чужих ошибках

Повторение:

image source: http://whywebpro.com/

● Разделяй и властвуй● Не всё сразу● Знай и умей свой инструмент● Выделение обязанностей● Избегай дублирования● Наведи порядок● Напиши коментарии● Используй логгирование● Соблюдай конвенции● Держись золотой середины● Проблема падающих тестов● Двигайся дальше

Page 17: Грабли автоматизации. Учимся на чужих ошибках

Спасибо за внимание!