Чи треба робити E2E тестування?

Привіт друзі! Перепрошую, що стали писати не так часто, трохи захворіли, ще й стрес потроху накопичується 🙀 Але все буде добре!

Нещодавно натрапив на відео на youtube каналі Continuous Delivery ▶️ з дуже клікбейтною назвою – Не робіть E2E тестування! Я не розумію, як можна на таке не клікнути? І я, і моя команда, і багато знайомих – всі постійно роблять E2E тестування! Це невід’ємна складова на шляху забезпечення якості складних розподілених систем. (https://qamania.org/wp-content/uploads/ppap.png)

В кого нема часу дивитись майже 20 хвилинне відео (https://youtu.be/QFCHSEHgqFE), коротко суть:
✅ E2E віднімає багато ресурсів на розгортання середовища, часу – на підготовку даних, конфігурацій, власне тестування. І все одно тестери пропускають баги
✅ Треба сфокусуватись на системному та контрактному тестуванні окремих систем / мікросервісів
✅ Замокати всі сторонні системи і ганяти тести, поки не забезпечимо якість, а потім просто інтегрувати всі системи разом. Без проблем і багів
✅ Моки гарантують простоту розгортання, повторюваність тестів, полегшують автоматизацію

Не ідея, а скарб! Одні плюси. Shut up and take my money. Чому ж так всі не роблять?

Скажу відверто, я був би тільки радий, якби знайшовся герой, що створить набори моків всіх систем на всі випадки життя. Але це довго і дорого. І потребує постійного керування мегабайтами додаткових даних.
Тільки уявіть, що значить створити мок на 1 мікросервіс, що містить нехай 10 АПІ ендпоінтів, кожен з яких може передавати/отримувати набори даних для 10 тестових сценаріїв. вже 💯
І жодного вам UI – моки, це зазвичай написання величезних json’ів, yml’ів, toml’ів, xml’ів і т.д.
А ще й самих мікросервісів у вас в продукті 10. і кількість моків вже прямує до 1000! А це ще ніхто в АПІ чи вимоги зміни навіть не почав вносити 😁

Тому і виходить, що самим народним мок’ом стають… самі мікросервіси / підсистеми. Так простіше і дешевше.
Звісно, є свої мінуси, складності. Але їх можна вирішити багатьма шляхами:
🌐 Відправити потрибний тестовий запит на конкретний ендпоінт через Postman
🌐 Створити конкретні дані в базі конкретного сервісу
🌐 Замокати 1 сервіс в ланцюжку викликів для конкретного сценарію, а не все підряд

І… привіт E2E, ми знову тут 😺

Напишіть вашу думку! Чи маємо ми робити E2E чи мокати все підряд і відмовитись від від нього? ❔

Позначки:
25 Жовтня 2022
Автор: 
  • JMeter test: Win10 vs WSL2 vs Ubuntu 20
  • Благословенна водяна лілія
  • CTFL 1. Fundamentals of Testing
  • Карго-культ

Залишити коментар

Залишити вiдгук