Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

QA Fes 2016. Роман Якимчук. Продвинутое тестирование состояний и переходов

575 views

Published on

Тестирование состояний и переходов - это не так просто как может показаться на первый взгляд, есть много нюансов которые следует понимать, что бы не пропустить важные моменты. Я попытаюсь объяснить:
- как строить диаграммы состояний и переходов
- как анализировать и расширять диаграмму с помощью таблиц состояний и переходов
- как создавать тестовые сценарии опираясь на результаты диаграмм и таблиц состояний и переходов

Published in: Education
  • Be the first to comment

  • Be the first to like this

QA Fes 2016. Роман Якимчук. Продвинутое тестирование состояний и переходов

  1. 1. Киев 2016 Первый в Украине фестиваль тестирования Продвинутое тестирование состояний и переходов Email: yakimchuk.r.v@gmail.com Skype: yakimchuk_roman QABlog: facebook.com/qa.blog.ua Roman Yakimchuk Senior QA Engineer
  2. 2. Киев 2016 Вопросы дня: • Что такое тестирование состояний и переходов? • Когда использовать? • Как использовать? Продвинутое тестирование состояний и переходов
  3. 3. Киев 2016Продвинутое тестирование состояний и переходов
  4. 4. Киев 2016Продвинутое тестирование состояний и переходов Написать сообщение 1 1. Написать
  5. 5. Киев 2016 Отправить сообщение 1 2 1. Написать 2. Отправить Продвинутое тестирование состояний и переходов
  6. 6. Киев 2016 Основные определения: ● Состояние - это условие в котором сохраняется объект до тех пор, пока что-то не произойдет – что-то внешнее по отношению к самому объекту, обычно вызывающее переход. ● Действие - это что то, что заставляет объект изменить состояние. Когда происходит действие, объект может изменить свое состояние или остаться в том же состоянии. ● Переход - это смена состояний. ● Событие - сообщает об изменении состояния некоторого объекта, каждое действие пользователя порождает цепочку событий Продвинутое тестирование состояний и переходов
  7. 7. Киев 2016 Удалить сообщение 1. Написать 2. Отправить 3. Удалить 1 2 3 Продвинутое тестирование состояний и переходов
  8. 8. Киев 2016 Нет сообщения 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 1 2 3 4 Продвинутое тестирование состояний и переходов
  9. 9. Киев 2016 Черновик 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 1 2 3 4 5 Продвинутое тестирование состояний и переходов
  10. 10. Киев 2016 Черновик - Отправленное 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 1 2 3 4 5 2 Продвинутое тестирование состояний и переходов
  11. 11. Киев 2016 Новое - Входящее 1 2 3 4 5 2 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить Продвинутое тестирование состояний и переходов 2 [Отправить себе]
  12. 12. Киев 2016 Черновик - Входящее 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 1 2 3 4 5 2 2 [Отправить себе] 2[ОС] Продвинутое тестирование состояний и переходов
  13. 13. Киев 2016 Входящее - Удаленное 1 2 3 4 5 2 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 3 Продвинутое тестирование состояний и переходов 2 [ОС] 2[ОС]
  14. 14. Киев 2016 Удаленное - Входящее 1 2 3 5 2 2 [ОС] 3 4 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 6. Переслать 6 [Переслать себе] Продвинутое тестирование состояний и переходов 2[ОС]
  15. 15. Киев 2016 Входящее - Спам 1 2 3 5 2 3 4 6 [ПС] 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 6. Переслать 7. Переместить 7 Продвинутое тестирование состояний и переходов 2 [ОС] 2[ОС]
  16. 16. Киев 2016 Спам - Входящее 1 2 3 5 2 3 4 7 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 6. Переслать 7. Переместить 8. Не спам 8 Продвинутое тестирование состояний и переходов 6 [ПС] 2 [ОС] 2[ОС]
  17. 17. Киев 2016 1 2 3 5 2 3 4 7 8 4 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 6. Переслать 7. Переместить 8. Не спам Спам - Нет сообщения Продвинутое тестирование состояний и переходов 6 [ПС] 2 [ОС] 2[ОС]
  18. 18. Киев 2016 1. Состояния объекта 2. Действия над объектом 3. Переходы между состояниями 1. Написать … 4. Удалить навсегда 5 Сохранить … 7. Переместить в спам В результате, мы имеем: Продвинутое тестирование состояний и переходов
  19. 19. Киев 2016 Состояние: • В разных состояниях нам доступны разные действия • Одни и те же действия могут выполняться по разному из разных состояний • Есть риски разных ошибок на одних и тех же действиях, в зависимости от последовательности их выполнения. Продвинутое тестирование состояний и переходов
  20. 20. Киев 2016 Действие: • Мы что-то делаем над объектом (редактируем, сохраняем, удаляем, отправляем). • Мы ожидаем получить какой-то результат (при редактировании должно что то произойти, измениться тело объекта) • Действие не обязательно меняет состояние! (мы можем редактировать черновик, но это не поменяет его состояния) Продвинутое тестирование состояний и переходов
  21. 21. Киев 2016 Переход: • Действие над объектом меняет его состояние (примером, при удалении входящего сообщения, оно попадает в корзину и становиться удаленным) • Можно осуществить переход при помощи разных действий • Можно осуществить разные переходы при помощи одного действия Продвинутое тестирование состояний и переходов
  22. 22. Киев 2016 Анализ Действий по Состояниям Продвинутое тестирование состояний и переходов
  23. 23. Киев 2016 Анализ Действий по Состояниям Продвинутое тестирование состояний и переходов
  24. 24. Киев 2016 Анализ Действий по Состояниям Продвинутое тестирование состояний и переходов
  25. 25. Киев 2016 Анализ способов перехода Продвинутое тестирование состояний и переходов
  26. 26. Киев 2016 Анализ способов перехода Продвинутое тестирование состояний и переходов
  27. 27. Киев 2016 Анализ способов перехода Продвинутое тестирование состояний и переходов 1 2 2 2[ОС] 3 3 4 4 5 7 8 9 9[ПСп] 10 11 12 13[ОО] 6 6 7[ПВ] 7 7 11 12 12 6 7 6 14 6 6 6 1. Написать 2. Отправить 3. Удалить 4. Удалить навсегда 5. Сохранить 6. Переслать 7. Переместить 8. Не спам 9. Получить от кого то 10. Закрыть сообщение без внесения данных 11. Удалить черновик 12. Редактировать 13. Отправить сообщение и отменить отправку 14. Обозначить как Спам
  28. 28. Киев 2016 Анализ последовательностей Продвинутое тестирование состояний и переходов 1. Создать набор тест кейсов таким способом, чтобы все состояния были пройдены как минимум один раз.
  29. 29. Киев 2016 Анализ последовательностей Продвинутое тестирование состояний и переходов 2. Создать набор тест кейсов таким способом, чтобы все действия были проверены как минимум один раз. Тест кейсы которые покрывают все действия могут быть такими же как и тест кейсы покрывающие состояния.
  30. 30. Киев 2016 Анализ последовательностей Продвинутое тестирование состояний и переходов 3. Создать набор тест кейсов таким способом, чтобы все нестандартные цепочки переходов были проверены как минимум один раз. 9 Получить от кого то 1-2 Написать-Отправить себе ж 1-5-2 Написать-Сохранить в черновик-Отправить себе ж
  31. 31. Киев 2016 В результате анализа мы проверяем Продвинутое тестирование состояний и переходов ● Все действия из каждого состояния ● Все возможные переходы между состояниями ● Нестандартные цепочки переходов и последовательности
  32. 32. Киев 2016 Где почитать, посмотреть? Продвинутое тестирование состояний и переходов ● Lee Copeland "A Practitioner's Guide to Software Test Design". Chapter 7 - State-Transition Testing, p.93 ● Black Rex, Mitchell Jamie. Advanced Software Testing - Vol. 3. 4.2.4 State-Based Testing and State Transition Diagrams, p.154 ● Борис Бейзер, "Тестирование черного ящика". Глава 9 - Тестирование систем с конечным числом состояний, стр.237 ● Наталья Руколь "Школа Тест-Аналитика"

×