Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Из Тестировщика erectus в QA sapiens | Никита Белковский | AzovDevMeetup 2017

Из Тестировщика erectus в QA sapiens | Никита Белковский | AzovDevMeetup 2017

Никита занимался тестированием на проектах разной сложности, с разными командами и разными подходами к управлению. Но один проект ощутимо отличался от всех остальных. Эта история о том, как на «слабом» проекте ему удалось почувствовать, что такое Quality Assurance.

JSC “Arcadia Inc.”

December 19, 2017
Tweet

More Decks by JSC “Arcadia Inc.”

Other Decks in Programming

Transcript

  1. 2017 О себе 2 Никита Белковский Аркадия [email protected] В IT

    сфере с 2014, в настоящее время занимаюсь тестированием веб- приложений крупной компании, занимающейся клиническими исследованиями
  2. 2017 QA, QC, Testing QA QC Концентрируется на предотвращении появления

    дефекта Концентрируется на нахождении дефекта Гарантирует, что введенные методы и процессы корректны Гарантирует, что введенные методы и процессы выполняются правильно Сфокусирован на процессе Сфокусирован на конечном продукте Отвечает за весь цикл разработки Отвечает только за цикл тестирования Проактивный процесс Реактивный процесс 5
  3. 2017 Совсем начало • Я оказался на проекте: • Достаточно

    рано, чтобы девелоперы недоумевали, что же я там тестирую • Достаточно поздно, чтобы могла идти речь о первоначальной отстройке процессов 9
  4. 2017 10 • Менеджмент на стороне заказчика • «Тяжелые» митинги

    • Невнятные задачи • Неудачные решения • «Всегда вчера» • Ужасная БД Боль и ненависть
  5. 2017 Митинги 1. Дважды в неделю 2. Долгие 3. Scrum-style

    отчеты + другая информация (как справочная, так и к действию) 4. Постановка задач прямо на митинге 5. Необходимость обсуждать вопросы команды 6. Задачи, ставившиеся на митингах, порой противоречили друг другу. 7. Усыпляющий «китайский» английский. 12
  6. 2017 Profit 15 • В JIRA видно на каком митинге

    таска была поставлена или какой митинг инициировал изменения в ней • Прозрачность: видно кто какой item создал и хочет обсудить. • Справочная информация с митингов сохраняется в одном месте • В спорной ситуации всегда можно сослаться на note • Дополнительные материалы лежат в notes и всегда доступны • Инициатива по созданию тасок перешла частично к нам
  7. 2017 JQL trick project = SOMEPRJCT AND status changed TO

    Resolved BY coder.name AFTER -4d ORDER BY key DESC, priority DESC, updated DESC 16
  8. 2017 «Нужно вчера», всегда • Давление на митингах. «We’re moving,

    like a…*sigh* too slow». • Имплементация фич и багфиксы мимо JIRA. • Приоритеты тасок • Заказчик завышал приоритеты • Таски тонули в бэклоге 18
  9. 2017 Что делали • Прогресс иллюстрировали четко. • Таски мимо

    JIRA – четкое документирование мыслей, договоренность с девелоперами. • Приоритеты тасок – диалог с заказчиком 19
  10. 2017 Постановка задач 1. Формулировки размытые 2. Иногда противоречат другим

    задачам 3. Иногда как задачи они корректно поставлены, но сами идеи неудачны 22
  11. 2017 Пример формулировки #1 Click “sync with SECONDARY_DB” will sync

    Donuts and Waffles, Donuts existing in MAIN_DB but not in SECONDARY_DB anymore will be marked as obsolete [Donut] table Mark ObsoleteFlag in [Donut] table if a record is not presented in SECONDARY_DB any more 23
  12. 2017 Пример формулировки #1 Click on the “sync with SECONDARY_DB”

    button will: • Sync Donuts and Waffles • Insert new records into MAIN_DB tables • Update parameters of outdated MAIN_DB records • Mark MAIN_DB instance with ObsoleteFlag if corresponding SECONDARY_DB record has DeleteFlag = 1 24
  13. 2017 Пример формулировки #2 The system shall display the processes

    for the marshmallows that are missing along with the actual number of days that the marshmallow has been missing as of the date the report was generated within the processes summary report. 25
  14. 2017 Что делать Работать на упреждение: чем раньше будет достигнута

    ясность, тем меньше проблем будет в последствии 26
  15. 2017 Смена frequency 29 В случае смены частоты пользователь не

    может знать конкретной даты выполнения следующей job’ы Mon Sep 18 Tue Sep 19 Wed Sep 20 Thu Sep 21 Fri Sep 22 Sat Sep 23 Sun Sep 24 Mon Sep 25
  16. 2017 Calculations - решение 31 3. Доработать логику calculation service:

    1. Выполнять job’у когда текущая дата >= [NextCalculationDate]. 2. Добавлять новую job’у сразу после выполнения старой (scheduling != «None»). 3. Для новой job’ы устанавливать [NextCalculationDate] соответственно. 4. Job’а должна создаваться когда scheduling frequency меняется с None на другую. 3rd job Frequency = Weekly 2nd job 1st job Frequency = Daily Frequency = None
  17. 2017 Альтернативное решение 32 5. В случае смены frequency с

    одной частоты на другую менять [NextCalculationDate] у Job’ы соответственно 3rd job Frequency = Weekly 2nd job 1st job Frequency = Daily Frequency = None
  18. 2017 Profit • Для себя • Прокачался в системной аналитике

    • Познал БД • Разобрался в бизнес логике • Заказчик увидел серьезность отношения к делу • Комплексный подход к рассмотрению задач – превентивная мера в борьбе с багами • Для проекта • Меньше багов и спорных моментов в дальнейшем • Улучшенный UX = довольные пользователи 33
  19. 2017 БД • По несколько сущностей совмещено в одной таблице

    • JSON используется повсеместно • Названия сущностей в БД и в UI различаются • Ограничения на поля отсутствуют • Изменения в структуру БД вносить запрещено 35
  20. 2017 Как выживали • Совмещение сущностей – рассматривали проблему комплексно,

    искали все возможные и невозможные кейсы, обсуждали подводные камни с заказчиком • Ограничения на поля – чеки на UI и backend • Названия сущностей – схема в XMind 37
  21. 2017 С коллегами • Выработалось общее видение проекта и контакт

    с заказчиком - стал помогать коллегам в рассмотрении вопросов 39
  22. 2017 С заказчиком • Наведенные мосты сокращают путь к решению

    проблемы • Не представитель плох, а сама ситуация 40
  23. 2017 Итоги • Личные • Получен опыт • Внутренний перфекционист

    почти успокоен • Есть чем поделиться • Команда и проект • Инициатива по постановке задач у нас • Представители заказчика советуются с нами • Неидеальный проект превратился в продукт, удовлетворяющий требованиям заказчика и желаниям пользователей 42