QA Kickstart: 7-денний тренінг для початківців

  • Функціональне тестування: тестування чорної скриньки, тестування білої скриньки та ін.
  • Навантажувальне та продуктивне тестування
  • Регресійне тестування та тестування відновлення
  • Тестування сумісності та інтерфейсу користувача

Типи тестування ПЗ

Функціональне тестування

Цей тип тестування перевіряє, чи працюють функції програми відповідно до очікуваних специфікацій. Функціональне тестування переконується, що ПЗ виконує свої функції згідно з бізнес-логікою та вимогами користувачів.

Навантажувальне тестування

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

Юзабіліті тестування

Цей тип тестування оцінює, наскільки легко користувачі можуть взаємодіяти з програмою та наскільки задоволені вони відповідністю програми їхнім потребам. Юзабіліті тестування допомагає виявити проблеми, пов’язані з інтерфейсом користувача, навігацією та зручністю використання.

Тестування безпеки

Цей тип тестування перевіряє, наскільки добре програмне забезпечення захищене від зловмисників і атак. Він включає в себе пошук потенційних слабкісних місць у системі та вразливостей, таких як недостатні контролі доступу, недостатня шифрування тощо.

Автоматизоване тестування

Цей тип тестування використовує спеціальні інструменти та скрипти для виконання тестових сценаріїв та перевірки результатів автоматично. Автоматизоване тестування полегшує та прискорює процес тестування, особливо для повторюваних тестів.

Регресійне тестування

Цей тип тестування перевіряє, чи впливають зміни або виправлення на вже наявний функціонал програми. Регресійне тестування допомагає впевнитися, що внесені зміни не порушують раніше робочі функції програми.

Більше інформації про типи ПЗ

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive
Google Drive

Вивчити картки
Пройти тести

Головоломки

  1. Головоломка «Чорний ящик»: Уявіть, що у вас є електронний пристрій з двома кнопками — A та B. Якщо натиснути кнопку A, пристрій видає звуковий сигнал, а якщо натиснути кнопку B, пристрій розпочинає миготіти червоним світлом. Ваша мета — з’ясувати, які дії виконуються відповідно до кожної кнопки, не маючи доступу до внутрішніх механізмів пристрою. Використовуйте лише спостереження, щоб визначити, яку функцію виконує кожна кнопка.

  2. Головоломка «Білий ящик»: Уявіть, що ви розробляєте просту програму для обчислення суми двох чисел. У вас є доступ до вихідного коду програми. Ваша мета — знайти та виправити помилку в логіці програми, яка призводить до неправильного обчислення суми. За допомогою вихідного коду програми ви можете ідентифікувати та виправити проблему.

  3. Головоломка «Тестування граничних значень»: Припустимо, що у вас є програма для обчислення квадратного кореня числа. Ваше завдання — визначити набір тестових вхідних даних, які покривають граничні значення, такі як найменше допустиме число, найбільше допустиме число, нуль і від’ємні числа. Запишіть ці тестові дані та очікувані результати, щоб переконатися, що програма правильно обробляє граничні значення.

  4. Головоломка «Параметризовані тести»: Уявіть, що ви тестуєте веб-додаток, який має реагувати на параметри URL. Ваша мета — створити набір тестів з різними комбінаціями параметрів URL, щоб переконатися, що додаток правильно обробляє ці параметри і повертає очікувані результати. Наприклад, ви можете використовувати тести з різними значеннями параметрів, включаючи недопустимі значення та різні поєднання.

  5. Головоломка : «Навантаження на сервер»
    Уявіть, що ви тестувальник, який проводить навантажувальне тестування сервера. Ви отримали завдання перевірити, як сервер впорається з великою кількістю запитів. У вас є 100 запитів, які потрібно виконати одночасно. Кожен запит займає 2 секунди для обробки. Яким буде час виконання всіх запитів?

  6. Головоломка : «Продуктивність програмного забезпечення»
    Ви тестувальник, який перевіряє продуктивність програмного забезпечення, яке обробляє великі обсяги даних. Ви проводите тест, виконуючи певну операцію на масиві, що містить 1000 елементів. Кожна операція займає 0.1 секунди для обробки. Скільки часу знадобиться для виконання операції на всьому масиві?

  7. Головоломка : «Ресурси сервера»
    Ви тестувальник, який перевіряє, як сервер споживає ресурси при навантаженні. У вас є сервер з 8 процесорами, кожен з яких має 4 ядра. Кожне ядро може обробляти 500 запитів на секунду. Скільки запитів може обробляти сервер за 1 секунду?

  8. Головоломка : «Збільшення навантаження»
    Ви тестувальник, який перевіряє, як програмне забезпечення впорається зі збільшенням навантаження. У вас є тестовий сценарій, який виконується за 10 секунд з поточним навантаженням. Ви вирішили збільшити навантаження в 2 рази. Скільки часу займе виконання тестового сценарію за нових умов?

    Відповіді відправити в телеграм бот.

Анекдоти

Якими мають бути функції програмного забезпечення? Якими їх замовляли в специфікації.

Чому тестувальник ставив на стіл важкий ящик з камінням? Він проводив навантажувальне тестування на межі своїх можливостей.

Чому користувач вирішив не використовувати новий соціальний додаток? Він провів юзабіліті тестування, але не знайшов, де на ньому зареєструватися.

Як виглядає робочий день тестувальника безпеки? Він спробував зламати власну кавоварку, щоб перевірити, чи надійна її захист.

Чому програміст вирішив автоматизувати тестування? Він втомився виконувати одні й ті ж тести вручну тисячі разів і вирішив покластися на комп'ютер.

Регресійне тестування та тестування відновлення

Якщо коротко:

  • Регресійне тестування перевіряє, чи не виникли нові проблеми після внесення змін у програмне забезпечення.
  • Тестування відновлення перевіряє, як програма впорається зі ситуаціями відмови, аварій та відновлює свою роботу після них.

 

Регресійне тестування

це тип тестування, спрямований на перевірку того, чи не виникли нові помилки або проблеми після внесення змін в програмне забезпечення. Воно виконується з метою забезпечення стабільності та незмінності функцій, що вже були протестовані і працюють правильно.

Тестування відновлення (recovery testing)

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

Більше інформації

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

Вивчити картки
Пройти тести

Головоломки

Головоломка регресійного тестування: Збереження функціональності

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

  • Відкрийте новий текстовий файл.
  • Напишіть кілька рядків тексту.
  • Натисніть кнопку «Зберегти» та вкажіть шлях і ім’я файлу.
  • Закрийте програму.
  • Відкрийте програму знову та спробуйте відкрити збережений файл.

Питання: Яка може бути причина проблеми зі збереженням файлів, і що ви побачите при спробі відкрити збережений файл?

Головоломка тестування відновлення: Відновлення системи

Ситуація: У вас є програма для резервного копіювання даних, яка автоматично створює резервні копії важливих файлів на комп’ютері користувача. Під час тестування ви помітили, що після відновлення системи з резервної копії, деякі файли не відновлюються належним чином. Ви вирішили перевірити цю проблему і знайшли наступну послідовність дій:

  • Створіть деякі тестові файли у певній папці.
  • Запустіть програму для резервного копіювання та зробіть резервну копію цієї папки.
  • Відновіть систему з резервної копії.
  • Перевірте, чи всі файли повернулися після відновлення системи.

Питання: Які можуть бути причини проблеми з відновленням деяких файлів після відновлення системи, і що ви можете зробити, щоб вирішити цю проблему?

Відповіді відправити в телеграм бот.

Анекдоти

Користувач запитує тестувальника: "Чому ви знову тестуєте цю функцію? Вона ж вже була випробувана!" Тестувальник відповідає: "Але на цьому етапі розробки можуть випливати нові помилки. Це як із винарством - ви перевіряєте кожен рік, хоча знаєте, що вино завжди виходить смачним!"

Клієнт питає розробника: "Чи ви тестували відновлення системи після аварії?" Розробник відповідає: "Так, ми видалили всі файли з сервера, а потім спостерігали, як швидко він знову працює. І все пройшло відмінно - за 5 хвилин сервер відновився. Але тепер ми маємо проблему, що файли були важливі."

Клієнт питає розробника: "Які тести ви проводили для відновлення системи?" Розробник відповідає: "Ми відключили електроживлення на цілу годину і подивилися, як система повертається до робочого стану. Але потім зрозуміли, що витримка батареї UPS - лише 15 хвилин."

Тестування сумісності та інтерфейсу користувача

Тестування сумісності

Тестування сумісності перевіряє, як програмне забезпечення працює на різних платформах, операційних системах, браузерах або залежностях. Мета цього типу тестування — переконатися, що програма буде працювати на різних середовищах без проблем. В процесі тестування сумісності перевіряється, чи може програма встановлюватися, запускатися та працювати на різних конфігураціях апаратного та програмного забезпечення. Також перевіряються взаємодія з іншими програмами та залежностями, такими як бази даних, бібліотеки тощо.

Тестування інтерфейсу користувача (UI testing)

перевіряє, наскільки користувач може ефективно взаємодіяти з програмою через графічний інтерфейс. Його мета — переконатися, що інтерфейс програми є зручним, інтуїтивно зрозумілим та відповідає вимогам користувачів. Під час тестування інтерфейсу перевіряється коректність відображення елементів інтерфейсу, функціональність кнопок, форм, меню та інших елементів. Також перевіряється відповідність інтерфейсу дизайну, стандартам, бренду тощо.

Більше інформації про тестування сумісності та інтерфейсу користувача

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

Вивчити картки
Пройти тести

Головоломки

  1. Головоломка з сумісністю браузера: Перевірте, як програмне забезпечення працює на різних веб-браузерах (наприклад, Google Chrome, Mozilla Firefox, Microsoft Edge, Safari). Виконайте тестові сценарії та переконайтеся, що всі функції та елементи інтерфейсу працюють належним чином на кожному з браузерів.

  2. Головоломка з сумісністю операційних систем: Перевірте, як програмне забезпечення працює на різних операційних системах, таких як Windows, macOS, Linux або мобільні платформи, наприклад, Android та iOS. Впевніться, що програма запускається, працює із зазначеними операційними системами і взаємодіє з ними належним чином.

  3. Головоломка з різними роздільними здатностями екрану: Перевірте, як програмне забезпечення відображається на екранах з різними роздільними здатностями. Змініть роздільну здатність екрану на найбільш поширені значення, наприклад, 1920×1080, 1280×720, 1024×768 тощо. Переконайтеся, що всі елементи інтерфейсу відображаються належним чином та не змінюють своєї форми або розміру.

  4. Головоломка з різними пристроями вводу: Використовуйте різні пристрої вводу, такі як миша, клавіатура, сенсорний екран або геймпад, і перевірте, як програмне забезпечення взаємодіє з кожним з цих пристроїв. Впевніться, що всі функції, дії та взаємодія користувача з програмою працюють належним чином з усіма типами пристроїв вводу.

  5. Головоломка з локалізацією: Використовуйте різні мови або регіональні налаштування і перевірте, як програмне забезпечення відображає текст, формати дати та часу, валюту та інші елементи, що залежать від локалізації. Впевніться, що програма правильно адаптується до різних мовних налаштувань та відображає всю інформацію відповідно до вимог локалізації.

Відповіді відправити в телеграм бот.

Виконайте завдання

Створіть google doc та надайте доступ на перегляд ваших завдань. Відправити посилання в телеграм бот або в скайп.

  • Завдання: Функціональне тестування чорної скриньки

    Опис завдання: Ви отримали завдання протестувати програму для онлайн-магазину. Ваше завдання полягає в тестуванні зовнішнього інтерфейсу, не знаючи деталей про внутрішню реалізацію програми. Вам потрібно розробити тестові сценарії, які включають додавання товару в кошик, оформлення замовлення, оплату тощо. Потрібно перевірити, чи всі функції магазину працюють належним чином.

  • Завдання: Тестування інтерфейсу користувача.

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

День 1

Вступ до тестування

Розпочати навчання

День 3

Тестова документація і процеси

Розпочати навчання