Вимоги до тестувальників програмного забезпечення демонструють тенденцію до поступового зростання.
English
Знання англійської мови є вкрай важливим. Мінімальна вимога – це принаймні Intermediate, краще – Upper-Intermediate.
Основи теорії тестування
Ключові терміни, артефакти, типи та рівні тестування. ISTQB CTFL.
Основи програмування
Основи web та мобільної розробки (HTML, СSS, JavaScript). Обрання мови залежить від низки факторів. Якщо у вас є робота, то звісно орієнтуєтесь на мову, яку використовує роботодавець. Якщо ви ще в пошуку, то найбільш універсальною рекомендацією є – JavaScript. Популярними також є Python та Java.
Основи теорії баз даних
Базові знання включаючи вміння працювати з мовою SQL.
Основи адміністрування ОС
Вміння встановити, налаштувати під свої потреби певні ОС, наприклад з сімейства Windows чи Linux.
Метрики у тестуванні – це числові показники, які використовуються для вимірювання та оцінки якості процесу тестування та якості програмного забезпечення. Вони дозволяють об’єктивно оцінювати ефективність тестових процесів, покращувати стратегії тестування та приймати обґрунтовані рішення.
Покриття коду (Code Coverage)
Визначає ступінь того, наскільки велика частина програмного коду була покрита тестами. Це може бути виміряно у відсотках і включати різні види покриття, такі як покриття операторів, покриття рішень, функціональне покриття тощо.
Щільність дефектів (Defect Density)
Розраховується як кількість виявлених дефектів на одиницю вимірювання, наприклад, на кількість рядків коду. Це дає уявлення про якість коду та ефективність тестового процесу.
Ступінь виконання тестів (Test Execution Progress)
Визначається як відношення кількості виконаних тестів до загальної кількості запланованих тестів. Це дає уявлення про прогрес тестування та може бути корисним для планування та оцінки витрат на тестування.
Кількість неспівпадінь (Mismatch Count)
Кількість випадків, коли фактичні результати тестів відрізняються від очікуваних результатів. Це допомагає виявити невідповідності між функціональністю та вимогами.
Середній час виявлення дефектів (Average Defect Detection Time)
Середній час, який потрібен для виявлення дефектів в процесі тестування після введення коду. Ця метрика може допомагати в оцінці ефективності процесів тестування та розробки.
Інтенсивність виявлення дефектів (Defect Discovery Rate)
Кількість нових дефектів, виявлених протягом певного періоду, такого як тиждень чи місяць. Це дозволяє виявляти тенденції та зміни в якості продукту.
Співвідношення успішних тестів до загальної кількості тестів (Pass Rate)
Визначає, який відсоток тестів пройшов успішно. Це допомагає в оцінці стабільності та готовності продукту до випуску.
Час виконання тестів (Test Execution Time)
Кількість часу, який витрачається на виконання всіх тестів. Це може вказувати на ефективність тестового процесу та можливість оптимізації.
Визначає, наскільки ризики, визначені в аналізі ризиків, були охоплені тестами. Це допомагає в управлінні ризиками та забезпеченні високої якості продукту.
Вартість виявлення дефекту (Cost per Defect)
Визначає, скільки коштує виявлення одного дефекту. Це може допомагати в оцінці ефективності тестових процесів та ефективності виправлення дефектів.
Приклади метрик
Важливо відзначити, що вибір метрик залежить від конкретних цілей тестування та потреб проєкту. Також важливо регулярно переглядати та адаптувати метрики відповідно до змін у проєкті та стратегії розробки.
Метрики у тестуванні
В цьому відео поговоримо про метрики у тестуванні: 00:00 Покриття коду, Щільність дефектів, Ступінь виконання тестів 02:05 Кількість неспівпадінь, Середній час виявлення дефектів, Інтенсивність виявлення дефектів, Співвідношення успішних тестів до загальної кількості тестів 04:24 Час виконання тестів, Відсоток покриття ризиків, Вартість виявлення дефекту
Матриця покриття тестування (Test Coverage Matrix) – це артефакт у сфері тестування програмного забезпечення, який використовується для візуалізації ступеня покриття тестами функціональності програмного продукту або системи. Цей інструмент дозволяє визначити, які частини програми були протестовані, а які залишаються непротестованими.
Основні компоненти матриці покриття тестування можуть включати:
Функціональні області або модулі: Розділи програми або системи, які визначаються на основі їхньої функціональності.
Тести або тестові сценарії: Конкретні тести або сценарії, які використовуються для перевірки певної функціональності.
Стан тестування: Інформація про те, чи пройшов тест для конкретної області чи модуля.
Матриця покриття тестування може бути представлена у вигляді таблиці, де рядки відповідають функціональним областям чи модулям, стовпці – тестам, а комірки містять інформацію про те, чи пройшов тест для конкретної області. Зазвичай використовують маркери, такі як “пройдено,” “не пройдено” або “не протестовано.”
Переваги використання матриці покриття тестування включають:
Візуалізація покриття тестами: Зручний спосіб визначення того, які частини програми були протестовані, а які – ні.
Виявлення пробілів у тестуванні: Допомагає виявляти області, які не були враховані в тестових сценаріях, і можуть вимагати додаткового тестування.
Планування тестових зусиль: Дозволяє команді тестування зосередитися на тестуванні конкретних функціональних областей або модулів, які залишилися непротестованими.
Відстеження прогресу тестування: Допомагає визначити, наскільки вдало виконується тестування протягом розвитку проекту.
Одним з підтипів цих матриць є RTM (Requirement Traceability Matrix) – матриця відстеження вимог.
Бізнес вимога №
Технічна вимога №
ID Теси Кейса
BR1
TR1
TC-1
BR2
TR2
TC-2
BR3
TR3
TC-3
Матриця відстеження вимог
Звіти про виконання тестування
Звіти про виконання тестування (Test Execution Reports) представляють собою документацію, яка висвітлює результати тестового процесу. Ці звіти мають на меті надати стейкхолдерам (замовникам, керівникам проєкту, команді розробників і тестувальників) інформацію про те, як пройшло тестування, які проблеми виявлені, та які частини програми чи системи вдалося успішно перевірити.
Зазвичай, звіти про виконання тестування включають такі елементи:
Вступ
Огляд тестового циклу і короткий опис цілей тестування.
Загальна інформація
Інформація про версію продукту, номер тестового циклу, дату та інші ідентифікуючі дані.
Статус виконання тестів
Інформація про те, скільки тестів було заплановано виконати, скільки вже виконано та які їхні результати (пройдено, не пройдено, відкладено).
Виявлені дефекти
Інформація про всі виявлені дефекти, разом із інформацією про їх ступінь критичності та статус виправлення.
Покриття тестування
Вказівка на те, які частини програми або системи були покриті тестами, а які залишилися без тестування.
Проблеми та висновки
Звіт про будь-які проблеми, які виникли під час тестування, разом зі здобутими висновками та рекомендаціями для подальшої роботи.
Витрати і ресурси
Інформація про кількість витрачених ресурсів (час, людські ресурси, обладнання тощо) під час тестування.
Підписи та схвалення
Підписи відповідальних осіб, які підтверджують достовірність звіту та його затвердження.
Елементи звіту
Ці звіти допомагають стейкхолдерам отримати повний огляд стану тестування і прийняти інформовані рішення щодо подальших кроків у процесі розробки програмного продукту.
Документація з автоматизації тестування
Документація з автоматизації тестування – це набір документів, які описують стратегію, плани, сценарії, технічні рішення та інші аспекти автоматизації тестування програмного забезпечення. Ці документи призначені для забезпечення ясності, структурованості та ефективності процесу автоматизації тестування, а також для зручності обміну інформацією між членами команди розробки та тестування.
Основні елементи документації з автоматизації тестування можуть включати:
Стратегія автоматизації
Опис загальної стратегії автоматизації тестування, визначення областей застосування автоматизації та обґрунтування вибору автоматизованих тестових сценаріїв.
План автоматизації тестування
Розклад та ресурси для реалізації автоматизації тестування, визначення обсягу робіт та критеріїв успіху.
Вибір інструментів
Опис обраних інструментів для автоматизації тестування, включаючи їхні можливості, обмеження та переваги.
Архітектура автоматизованих тестів
Опис структури та організації автоматизованих тестових сценаріїв, включаючи ієрархію, бібліотеки, модулі та інші складові.
Сценарії автоматизованих тестів
Конкретні автоматизовані тестові сценарії, їх опис та очікувані результати.
Налаштування та конфігурація
Інструкції зі створення, налаштування та управління автоматизованими тестовими середовищами та конфігураційними параметрами.
Підтримка і обслуговування
Інструкції та рекомендації з обслуговування та підтримки автоматизованих тестів, включаючи процедури оновлення та виправлення помилок.
Результати виконання тестів
Документація, що стосується результатів виконання автоматизованих тестів, звітів про відомості про дефекти та відстеження прогресу.
Елементи документації з автоматизації тестування
Документація з автоматизації тестування є важливою для ефективного управління та підтримки автоматизованого тестування на протязі усього життєвого циклу розробки проєкту.
Декілька слів про інші тестові артефакти
В цьому відео поговоримо про: 00:00 Матриця покриття тестування 03:34 Звіти про виконання тестування 05:54 Документація з автоматизації тестування