Друкарня від WE.UA

Мої нотатки зі статті “Change-Driven Testing” за авторством Dr. Sven Amann and Dr. Elmar Jürgens

Примітка автора. Рекомендую ознайомитись із першоджерелом.

Проблема

  • тестування повільне, тому люди пишуть багато автотестів

  • автотестів стає дуже багато, на кожен PR не запустиш усі

  • нічні прогони тестів допомагають частково: бо треба знайти саме той коміт, що зламав master

  • автотести вирішують питання efficiency (продуктивності), але залишається питання effectiveness (результативності чи корисності)

Change-Drive Testing

Суть - концентрація на тестуванні змін. Підхід - заснований на даних, як і Business Intelligence. Тому й дістав назву Test Intelligence.

Дані збираються:

  • з системи контроля версій

  • з тікет системи (JIRA)

  • профайлерів для покриття коду

  • систем менеджменту тестів

Основна ідея Change-Driven testing - "Існуючі тести впадуть тільки, якщо виникнуть нові помилки. Нові помилки виникнуть, коли відбулися зміни в коді".

Пропонується тестувати в два етапи

  1. Для продуктивності тестуємо тільки те, чого торкнулись зміни. Застосовуємо для цього Test Impact Analysis

  2. Для результативності тестуємо усі можливі зміни. Для цього є Test-Gap Analysis.

Важливо! Під змінами розглядають саме зміни в поведінці чи функціональності, а не рефакторінг.

Test Impact Analysis (TIA)

Мета - знайти саме ті тести, що перевірять конкретні зміни в коді.

Test Impact Analysis проходить в два етапи

  1. Крок вибору тестів (Test Selection step): визначаємо тести, на які вплинули зміни. Це можуть бути модульні тести в самому PR, а також усі, що використовують конкретний змінений метод.

  2. Крок пріоретизації тестів (Test Prioritization step): використовуємо "жадібну" (greedy) еврістику - обираються тести, що покривають найбільше зміненого коду за одиницю часу.

Test Gap Analysis (TGA)

Мета - порівняти зміни в коді з сукупним тестовим покриттям та знайти таким чином зміни, що не покриті жодним тестом (test gaps).

Примітка автора. Test-Gap аналіз розкритий достатньо розмито. Треба напевне писати авторам з конкретними питаннями

Як результат, будується treemap

Обмеження, або чому підхід не "панацея"

  • обидва підходи TIA та TGA не враховують зміни в конфігурації та даних системи

  • TIA розраховує, що покриття стабільне - тобто кожне виконання тесту дає те ж саме покриття. Це працює для автотестів, але погано працює для ручного тестування

  • TGA не враховує наскільки ретельно була протестована зміна. Тільки - чи усі методи в конкретному PR були покриті.

Результати

  • До впровадження Test Impact аналізу - на кожен PR запускались тести на CI та фідбеку треба було чекати 45 хвилин.

  • Після впровадження Test Impact аналізу - 1.5 хвилини на перший тестовий запуск саме тих тестів, які потрібно плюс 45 секунд на ретест після фікса проблеми.

  • автори використовують Test-Gap аналіз для побудови treemap діаграм навіть при змінах на UI. Одразу позначено червоним місця, де потрібно додати тестів

Висновок

Виглядає доволі цікаво. До того ж - я точно знаю, що Test Impact аналіз працює й доволі успішно. Але треба докласти чимало зусиль, щоб додати його в проєкт. Деякі інструменти, типу Sealights “обіцяють” легку інтеграцію, але насправді не така вже вона й легка.

До того ж хочу зазначити, що Test Impact аналіз - може бути не тільки для автотестів. Це можна пробувати проводити вручну. Так само, як Test Gap аналіз.

Статті про вітчизняний бізнес та цікавих людей:

  • Шлейф сучасного смартфону та його призначення

    Шлейф - це тонка пластикова стрічка з ледь видимими доріжками і саме вона зʼєднує важливі компоненти мобільного, без яких він не запрацює. Власники пристроїв Xiaomi, які стикаються з потребою заміни цієї деталі, можуть підібрати відповідний варіант на сайті AKS.UA

    Теми цього довгочиту:

    Шлейф Для Мобільного
  • Чохли для iPhone 15: повний гід по кольорах, матеріалах і виробниках

    Перед тим як вибрати чохли для iPhone 15, варто визначитися, що саме ви хочете отримати від аксесуара. Комусь потрібен тонкий прозорий корпус, інший покупець шукає посилений захист, а для когось вирішальним стане колір або підтримка MagSafe

    Теми цього довгочиту:

    Чохли Для Iphone
  • Як побудована програма Meest China Academy

    Курс про товарний бізнес охоплює різні етапи роботи: від пошуку ідеї до перевірки товару, логістики та масштабування. Програма Meest China Academy містить 17 модулів, які послідовно розкривають ці теми без зведення всього навчання до однієї універсальної поради.

    Теми цього довгочиту:

    Meest
  • Які технології використані в Айфон 17

    Айфон 17 поєднує OLED-дисплей із частотою до 120 Гц, чип A19, дві камери Fusion 48 Мп і швидке заряджання через USB-C. У COMFY можна купити Айфон 17 з накопичувачем на 256 або 512 ГБ, вибравши конфігурацію відповідно до обсягу фото, відео та застосунків

    Теми цього довгочиту:

    Iphone 17
  • Як вибрати вживаний iPhone: коротке керівництво для розумної покупки

    Вторинний ринок смартфонів Apple активно зростає, і питання, як вибрати вживаний iPhone, стає актуальним для дедалі більшої кількості користувачів. Правильний підхід дозволяє отримати бу iPhone з актуальною iOS і доброю камерою за помітно нижчу ціну, ніж у нових пристроїв.

    Теми цього довгочиту:

    Iphone
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Test Engineering Notes
Test Engineering Notes@TestEngineering

Про складні речі в тестуванні

18Довгочити
1.5KПерегляди
14Підписники
На Друкарні з 27 червня 2023

Більше від автора

Це також може зацікавити:

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити: