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

Тестирование и параразработка

Тестирование и параразработка

A reworked and modernized version of https://speakerdeck.com/p0deje/tiestirovaniie-kak-parazrabotka talk about software testing and paradevelopment for GDG DevFest 2018 in Bishkek, Kyrgyzstan (https://www.meetup.com/GDG-Bishkek/events/256593243)

D049f551aa71e6326c74002ac8e6788a?s=128

Alex Rodionov

December 15, 2018
Tweet

Transcript

  1. ТЕСТИРОВАНИЕ И ПАРАРАЗРАБОТКА

  2. Лёша Родионов

  3. Лёша Родионов @p0deje

  4. Лёша Родионов @p0deje

  5. Лёша Родионов @p0deje

  6. Лёша Родионов @p0deje

  7. ТЕСТИРОВАНИЕ И ПАРАРАЗРАБОТКА

  8. ДЛЯ КОГО?

  9. ДЛЯ КОГО? кто собирается заниматься тестированием

  10. ДЛЯ КОГО? кто собирается заниматься тестированием кто не понимает зачем

    нужно тестирование
  11. ТЕСТИРОВАНИЕ И ПАРАРАЗРАБОТКА

  12. ТЕСТИРОВАНИЕ получение информации о качестве

  13. КАЧЕСТВО

  14. КАЧЕСТВО соответствие реализации заданным характеристикам

  15. КАЧЕСТВО соответствие реализации заданным характеристикам (функциональная спека, дизайн, юзабилити, etc.)

  16. ТЕСТИРОВАНИЕ получение информации о качестве

  17. ЗАЧЕМ?

  18. ЗАЧЕМ? изменение текущих процессов разработки

  19. ЗАЧЕМ? качество повышается

  20. ЗАЧЕМ? выше конкурентоспособность

  21. ЗАЧЕМ? увеличение прибыли

  22. PROFIT!

  23. КАК? Верификация и Валидация

  24. ВЕРИФИКАЦИЯ мы сделали то, что требовалось

  25. ВАЛИДАЦИЯ то, что мы сделали, соответствует ожиданиям (клиента, пользователей)

  26. КАК?

  27. КАК? Требования, планы, кейсы, трэкер и т.д.

  28. КАК? Требования, планы, кейсы, трэкер и т.д. Требования, планы, кейсы,

    трэкер и т.д.
  29. КАК? Требования, планы, кейсы, трэкер и т.д. Требования, планы, кейсы,

    трэкер и т.д. Требования, планы, кейсы, трэкер и т.д.
  30. КАК? Требования, планы, трэкер и т.д. Требования, планы, трэкер и

    т.д. Требования, планы, трэкер и т.д.
  31. КАК? Требования, трэкер и т.д. Требования, трэкер и т.д. Требования,

    трэкер и т.д.
  32. КАК? Требования и т.д. Требования и т.д. Требования и т.д.

  33. КАК? Как-то так "

  34. “РЕГРЕССИОННАЯ СПИРАЛЬ СМЕРТИ”

  35. РУЧНОЕ ТЕСТИРОВАНИЕ НЕ МАСШТАБИРУЕТСЯ

  36. КОЛИЧЕСТВО КАЧЕСТВО

  37. АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ

  38. УРОВНИ Юнит тесты Системные тесты Интеграционные тесты

  39. ЮНИТ ТЕСТЫ • Методы и классы • В 90% случаев

    разработчики
  40. ИНТЕГРАЦИОННЫЕ ТЕСТЫ • Взаимодействие отдельных компонентов • Big bang, bottom-up,

    top-down
  41. СИСТЕМНЫЕ ТЕСТЫ • Полностью собранная система • GUI, Exploratory, Ad

    hoc, Security, Usability, etc.
  42. Входные данные Тестируемая система Оракул ТЕСТ

  43. Входные данные Тестируемая система Оракул ТЕСТ

  44. ВХОДНЫЕ ДАННЫЕ daysInMonthToString(days)

  45. ВХОДНЫЕ ДАННЫЕ daysInMonthToString(days) daysInMonthToString(10) #=> “10 days”

  46. ВХОДНЫЕ ДАННЫЕ daysInMonthToString(days) daysInMonthToString(10) #=> “10 days” daysInMonthToString(-5) #=> Error:

    “No less than 0 days”
  47. ВХОДНЫЕ ДАННЫЕ daysInMonthToString(days) daysInMonthToString(10) #=> “10 days” daysInMonthToString(-5) #=> Error:

    “No less than 0 days” daysInMonthToString(50) #=> Error: “No more than 31 days”
  48. АНАЛИЗ ГРАНИЧНЫХ ЗНАЧЕНИЙ … -1 0 31 32 …

  49. АНАЛИЗ ГРАНИЧНЫХ ЗНАЧЕНИЙ … -1 0 31 32 … Неверно

    Неверно Верно
  50. АНАЛИЗ ГРАНИЧНЫХ ЗНАЧЕНИЙ daysInMonthToString(-1) #=> Error: “No less than 0

    days” daysInMonthToString(0) #=> “0 days” daysInMonthToString(31) #=> “31 days” daysInMonthToString(32) #=> Error: “No more than 31 days”
  51. КЛАССЫ ЭКВИВАЛЕНТНОСТИ 1. Единственное число: day 2. Множественное число: days

  52. КЛАССЫ ЭКВИВАЛЕНТНОСТИ daysInMonthToString(-1) #=> Error: “No less than 0 days”

    daysInMonthToString(0) #=> “0 days” daysInMonthToString(1) #=> “1 day” daysInMonthToString(31) #=> “31 days” daysInMonthToString(32) #=> Error: “No more than 31 days”
  53. Входные данные Тестируемая система Оракул ТЕСТ

  54. Входные данные Тестируемая система Оракул ТЕСТ

  55. ОРАКУЛ • Предсказывает поведение системы
 
 


  56. ОРАКУЛ • Предсказывает поведение системы • Определяет результат теста (pass/fail)


  57. ОРАКУЛ • Предсказывает поведение системы • Определяет результат теста (pass/fail)

    • Джеймс Бах / Майкл Болтон: “FEW HICCUPPS” (руч.) • Дуг Хоффман: “Таксономия оракулов” (авт.)
  58. ЧТО ДАЛЬШЕ?

  59. ЧТО ДАЛЬШЕ? Непрерывная интеграция, деплоймент, ATDD, etc.

  60. ЧТО ДАЛЬШЕ? Непрерывная интеграция, деплоймент, ATDD, etc. Оптимизация тестов, инфраструктура,

    etc.
  61. ТЕСТИРОВАНИЕ И ПАРАРАЗРАБОТКА

  62. ПАРАРАЗРАБОТКА Процесс в команде разработки, который не является разработкой

  63. Разработчик со множеством скиллов, не ограниченный формальными рамками ПАРАРАЗРАБОТЧИК

  64. Цель тестирования - как можно меньше тестировать

  65. Лёша Родионов @p0deje