QA Kickstart: 7-дневный тренинг для начинающих

  • Определение тестирования и его роли в разработке ПО
  • Основные виды тестирования: функциональное, нагрузочное, регрессионное и др.
  • Жизненный цикл разработки ПО и позиция тестирования в нём
  • Инструменты и технологии, используемые в тестировании

День 1: Вступ до тестування

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

Вступление до основ тестирования ПО

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

Тестирование программного обеспечения (англ. software testing)

– это процесс проверки и анализа программного продукта с целью выявления дефектов, ошибок и недостатков. Оно является неотъемлемой частью разработки ПО и играет важную роль в обеспечении качества и надежности конечного продукта.

Роль тестирования в разработке ПО заключается в следующем:

 

  1. Обеспечение качества: Тестирование помогает гарантировать, что программное обеспечение соответствует установленным требованиям и выполняет свои функции без ошибок. Оно помогает выявить и исправить проблемы, которые могут возникнуть в процессе разработки.

  2. Выявление ошибок и дефектов: Тестирование позволяет выявить ошибки и дефекты в ПО, которые могут привести к неправильной работе приложения или нарушению его функциональности. Это позволяет разработчикам исправить проблемы до выпуска продукта на рынок.

  3. Улучшение пользовательского опыта: Хорошо протестированное ПО обеспечивает лучший пользовательский опыт. Тестирование помогает обнаружить и исправить проблемы, которые могут повлиять на удобство использования, надежность и производительность приложения. Это позволяет создать продукт, который удовлетворяет потребности и ожидания пользователей.

  4. Экономия времени и ресурсов: Раннее выявление ошибок и дефектов в процессе тестирования помогает предотвратить их распространение на следующие стадии разработки. Это позволяет сэкономить время и ресурсы, которые могут быть затрачены на исправление проблем в более поздних этапах.

  5. Установление доверия пользователей: Хорошо протестированное ПО создает доверие у пользователей. Когда продукт работает без сбоев и соответствует их ожиданиям, пользователи больше доверяют ему и склонны использовать его на постоянной основе.

С помощью тестирования можно оценивать:

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

Цели тестирования

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

Основной целью процесса тестирования является доказательство того, что результат разработки соответствует предъявленным к нему требованиям.

Основная задача тестирования

Получение информации о статусе готовности заявленной функциональности системы или программы.

 

Тестування програмного забезпечення (англ. software testing)

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

Роль тестування в розробці програмного забезпечення полягає в наступному:

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

Виявлення помилок і дефектів: Тестування дозволяє виявити помилки і дефекти у ПЗ, які можуть призвести до неправильної роботи програми або порушення її функціональності. Це дозволяє розробникам виправити проблеми до випуску продукту на ринок.

Покращення користувацького досвіду: Добре протестоване ПЗ забезпечує кращий користувацький досвід. Тестування допомагає виявити і виправити проблеми, які можуть вплинути на зручність використання, надійність та продуктивність програми. Це дозволяє створити продукт, який задовольняє потреби та очікування користувачів.

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

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

За допомогою тестування можна оцінювати:

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

Цілі тестування

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

Мета тестування

Основною метою процесу тестування – є доказ того, що результат розробки відповідає пред’явленим до нього вимогам. 

Основне завдання тестування

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

Давайте переглянемо презентації

або відкрити у новій вкладці  Google Презентація

або відкрити у новій вкладці  Google Презентація

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

Анекдоти

Чому тестування називають "найбільшою помилкою" у розробці ПЗ? Тому що, якщо воно було проведено належним чином, то програмістам доведеться виправляти свої помилки.

Як кажуть тестувальники: "Я знаю, що цей код працює, але чи працює він насправді?"

Чому тестувальники називаються "майстрами знайдених помилок"? Тому що їхнє завдання - знайти всі помилки, які розробники намагалися приховати.

Як добитися того, щоб тестування було успішним? Знайти тестерів, які мислять, що кожен реліз - свято, а кожна помилка - подарунок.

Розробник програмного забезпечення запитує тестувальника: "Чому ти знайшов ще одну помилку?" Тестувальник відповідає: "Тому що я натиснув кнопку, яку ви ніколи не натискали".

Коли розробник і тестувальник обговорюють нову функцію, розробник каже: "Це повинно працювати". Тестувальник відповідає: "Але чи працює воно насправді?"

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

Як кажуть тестувальники: "Нам потрібні більше помилок!" - їхня мета - знайти всі можливі проблеми перед тим, як користувачі зроблять це.

Чому тестування ніколи не закінчується? Тому що немає такої речі, як програмне забезпечення без помилок - тільки програмне забезпечення, про яке ми ще не знаємо, що має помилки.

Мета і завдання тестування ПЗ

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

Якість тестування ПЗ

Якість програмного забезпечення

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

Якість тестування програмного забезпечення

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

Якість тестування програмного забезпечення залежить від декількох факторів, таких як:

  • Якість тестових сценаріїв і тестових даних;
    Компетентність тестувальників;
  • Відповідність тестової інфраструктури вимогам тестування;
  • Достатність покриття тестами;
  • Ефективність процесу виправлення дефектів.

Гарантія якості та контроль якості

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

Цікаві історії

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

  • “Загадковий зникнення коду”: Одна з найвідоміших історій у світі розробки програмного забезпечення стосується історії загадкового зникнення коду гри Half-Life 2. У 2003 році, під час розробки гри, комп’ютери в офісі розробників були вкрадені, і з них зникло майже весь вихідний код гри. Ця подія призвела до значних затримок у розробці та потребувала великих зусиль для відновлення втраченого коду.

  • “Кролик-тестувальник”: У світі тестування програмного забезпечення існує популярний жарт про кролика-тестувальника. Історія розповідає про тестувальника, який пішов на обід, залишивши випадкового кроля на клавіатурі комп’ютера. Повернувшись після обіду, він знайшов безліч помилок на екрані, які були викликані безглуздими натисканнями кролика на клавіші. Ця історія підкреслює важливість випадкового тестування та виявлення непередбачуваних помилок.

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

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

або відкрити у новій вкладці  Google Презентація

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

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

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

 

Основні аспекти функціонального тестування включають

  1. Валідація вхідних даних:
  2. Тестування функціональності
  3. Тестування взаємодії з користувачем
  4. Перевірка умов та границь:
  5. Тестування сумісності
  6. Перевірка відповідності вимогам

Нефункціональне тестування програмного забезпечення

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

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

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

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

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

 

Тестування на зручність використання

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

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

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

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

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

або відкрити у новій вкладці  Google Презентація

Етапи життєвого циклу розробки ПЗ

Аналіз і збір вимог

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

Проектування

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

Реалізація

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

Тестування

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

Реліз та підтримка

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

або відкрити у новій вкладці  Google Презентація

або відкрити у новій вкладці  Google Презентація

Більше інформації про життєвий цикл розробки ПЗ

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

Інструменти та технології, що використовуються в тестуванні

Використання інструментів для тестування допомагає забезпечити якість програмного забезпечення. У сучасному світі програмне забезпечення є необхідним елементом бізнес-стратегії будь-якої компанії. Якість програмного забезпечення є ключовим фактором для задоволення потреб користувачів та забезпечення успіху компанії на ринку.

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

Більше інформації про Інструменти

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

Тести для контролю знань

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

Введення у тестування ПЗ

– Картки
Тест 1
Тест 2

Види тестування ПЗ

Картки
Тест 1
– Тест 2

Інструменти

– Картки
Тест 1
Тест 2

Головоломки

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

  • Головоломка "Тестова лабіринт"

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

  • Головоломка "Пазли помилок"

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

  • Головоломка "Розбитий лабораторний стіл"

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

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

Відповідь відправити через Google форму.

Запронуйте покращення для сайту https://theconnectedshop.com/

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

День 2

Типы тестирования

Начать обучение

Мы также присутствуем в социальных сетях! Подписывайтесь на нас и получайте последние новости, акции, скидки, бесплатные тренинги и участие в марафонах.
Будем рады видеть вас в нашем сообществе!

Курсы

Авторское право © 2023 Школа подготовки тестировщиков