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

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

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

Практичні навички тестування

Навички проектування тестових сценаріїв

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

Навички управління тестовими процесами

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

Використання автоматизованих інструментів тестування

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

Вміння аналізувати результати тестування

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

Навички відлагодження та репортингу дефектів

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

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

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

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

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

Анекдоти

Чоловік запитує дружину, яка працює базами даних: "Що було першим - курка або яйце?"
Дружина відповідає: "Звичайно, це залежить від типу сортування, яке ви використовуєте!"

Чому бази даних не хоче піти на вечірку? Там завжди дуже багато "NULL" - і ніхто не знає, як себе поводити!

Чоловік, що працює адміністратором баз даних, запитує свою дружину: "Чи я для тебе єдиний?"
Дружина відповідає: "Так, але тільки у моїй базі даних!"

Тестування API та взаємодії із зовнішніми системами

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

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

Кілька кодових сніпетів для реалізації тестів API з використанням Postman

				
					//Перевірка коду статусу запиту:
pm.test("Перевірка коду статусу", function () {
pm.response.to.have.status(200); // Перевірка, що код статусу є 200
});
				
			
				
					//Перевірка наявності поля в відповіді
pm.test("Перевірка наявності поля", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property('field'); // Перевірка, що поле 'field' є відповіді
});
				
			
				
					//Перевірка масиву відповіді:
pm.test("Перевірка масиву", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.array).to.be.an('array'); // Перевірка, що 'array' є масивом
pm.expect(jsonData.array).to.have.lengthOf(3); // Перевірка, що довжина масиву дорівнює 3
pm.expect(jsonData.array).to.include('value'); // Перевірка, що масив містить певне значення 'value'
});
				
			
				
					//Перевірка значення поля в відповіді:
pm.test("Перевірка значення поля", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.field).to.eql("value"); // Перевірка, що значення поля 'field' дорівнює 'value'
});
				
			

Анекдоти

Розробник API запитує другого розробника: "Як твоє API?"
Другий відповідає: "Воно працює, якщо ви знаєте всі його секрети."

Розробник API каже: "Моє API - це моя друга половинка. Воно завжди відповідає на мої запити і ніколи не скаржиться."

Розробник запитує: "Чому в нас є два API для однієї функціональності?"
Інший розробник відповідає: "Один API - це як перша любов. А другий API - це як забута парольна фраза."

Реальні історії

Twitter API та історія "Янків у Китаї": У 2010 році під час фіналу чемпіонату Національної бейсбольної ліги (MLB) між командами "Сан-Франциско Гіантс" та "Техас Рейнджерс", один вболівальник на ім'я James Buckhouse, який був у Китаї в цей час, хотів дізнатися про стан гри. Він написав Twitter API, щоб отримувати оновлення про кожну дію. Завдяки цьому він зміг дізнатися про гру в режимі реального часу, навіть перебуваючи на іншому кінці світу.

Google Maps API та Airbnb: Airbnb використовує Google Maps API для відображення мапи з точним розташуванням місць проживання на своєму веб-сайті. Це дозволяє користувачам Airbnb легко знайти та переглянути місця для проживання на мапі та оцінити їх розташування.

Spotify API та історія SpotiBot: У 2019 році розробник Марк Фрост створив SpotiBot - чат-бота, який використовує Spotify API для створення плейлистів на основі текстових повідомлень. SpotiBot аналізує повідомлення користувача та автоматично створює плейлист, що відповідає настрою або жанру, згаданому в повідомленні. Цей проект став віральним і отримав велику популярність серед користувачів Spotify.

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

GitHub API та інтеграція з CI/CD системами: Багато команд розробників використовують GitHub API для інтеграції своїх репозиторіїв з CI/CD системами, такими як Jenkins або Travis CI. Це дозволяє автоматизувати процеси збирання, тестування та розгортання програмного забезпечення, спрощує спільну роботу розробників та забезпечує швидке впровадження змін.

Налагодження та репортинг дефектів

Налагодження дефектів

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

Створення звітів про дефекти

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

Відстеження дефектів

      • Використовуйте систему керування дефектами (наприклад, Jira, Bugzilla), щоб документувати, стежити та відслідковувати дефекти.
      • Вказуйте стан дефектів (наприклад, новий, відкритий, в розробці, у перевірці, ухвалений, відхилений, усунено, закрито).
      • Встановлюйте терміни вирішення дефектів та забезпечуйте комунікацію між тестувальниками та розробниками.

Налагодження та репортинг дефектів

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

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

Приклад баг репорту

Заголовок: Помилка при надсиланні форми реєстрації

Ідентифікація бага: #1234567 Пріоритет: Високий Severity: Критичний

Опис проблеми: При спробі надіслати форму реєстрації на веб-сайті, спостерігається наступна помилка: “Internal Server Error”. Це перешкоджає користувачам успішно зареєструватися на сайті та використовувати його функціонал.

Відтворення проблеми:

  1. Відкрийте домашню сторінку веб-сайту.
  2. Натисніть на посилання “Зареєструватися” у верхньому меню.
  3. Заповніть всі необхідні поля у формі реєстрації.
  4. Натисніть кнопку “Надіслати”.
  5. Спостерігайте помилку “Internal Server Error”.

Очікувані результати:

  • Користувач успішно зареєстрований.
  • Система перенаправляє користувача на сторінку підтвердження реєстрації.

Фактичні результати:

  • Помилка “Internal Server Error”.
  • Реєстрація користувача не відбувається.

Інші важливі деталі:

  • Операційна система: Windows 10
  • Браузер: Google Chrome 91.0.4472.124
  • Версія програмного забезпечення: 1.2.3

Прикріплення файлів:

      • Скріншот помилки “Internal Server Error”

Надайте відповіді

Відповідайте своїми словами коротко. Відповіді надіслати в телеграм бот або в скайп групу

1.Які критерії ви використовуєте для визначення глобального приоритету бага?
2.Як ви дієте, якщо виявите блокирующий баг на фінальній стадії тестування?
3.Як ви описуєте очікуваний результат бага, якщо він не вказаний у специфікації?
4.Як ви зв’язуєте баг репорт з тест-кейсом, який його виявив?
5.Як ви додатково документуєте баг, якщо він має скріншоти, логи або відео?

Example bug report

Bug Report: Unable to Add Product to Cart

Bug ID: #1234567 Priority: High Severity: Critical

Description: When attempting to add a product to the cart on the website, the following issue occurs: the “Add to Cart” button does not respond when clicked. As a result, users are unable to add products to their shopping cart.

Steps to Reproduce:

  1. Visit the website: https://1ad97b.myshopify.com/
  2. Navigate to the product catalog page.
  3. Select a product and click on the “Add to Cart” button.
  4. Observe that nothing happens when the button is clicked and the product is not added to the cart.

Expected Results:

  • Clicking the “Add to Cart” button should add the selected product to the shopping cart.
  • The cart icon or counter should update to reflect the addition of the product.

Actual Results:

  • The “Add to Cart” button does not respond when clicked.
  • The product is not added to the shopping cart.
  • The cart icon or counter does not update.

Additional Details:

  • Operating System: Windows 10
  • Browser: Google Chrome 91.0.4472.124
  • Website Version: 2.1.0

Attachments:

  • Screenshot of the product page showing the unresponsive “Add to Cart” button.

Анекдоти

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

Користувач написав баг-репорт із таким описом: "Сталася фатальна помилка! Моя кава вилилася на клавіатуру, і тепер нічого не працює!". Технічна підтримка порадила йому замінити клавіатуру та утриматися від кави поблизу комп'ютера.

Ретельне тестування

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

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

У 2013 році, під час релізу гри SimCity, виявили серйозну помилку у веб-серверах, яка призводила до неможливості підключення багатьох гравців до гри та завантаження мапи. Це викликало обурення гравців, і розробники Electronic Arts (EA) були змушені відновлювати та вирішувати проблему протягом кількох тижнів.

У 2015 році, під час тестування мобільного додатку Facebook, виявили помилку, яка призводила до витоку конфіденційної інформації користувачів. Виявлення цієї помилки вело до широкого впливу на безпеку даних та викликало великий резонанс у ЗМІ та серед користувачів соціальної мережі.

Відгадай

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

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

Що я таке?

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

Хто я такий?

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

Хто я такий?

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

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

https://1ad97b.myshopify.com/

Завдання

1. Прочитати вимоги.
2. Написати тест-кейси як позитивні так і негативні.
3. Оформити баг репорти та імпрувменти.

Тестова документація повинна бути на англійській мові
Тестуємо в Chrome, Firefox, Edge

Requirements

  1. User Registration:
  • Users should be able to create an account to access personalized features.
  • Required information may include name, email, password, and optional fields like address and phone number.
  • Users should receive a confirmation email upon successful registration.
  1. Product Catalog:
  • The website should display a catalog of products with relevant information, such as name, description, price, and images.
  • Users should be able to search, filter, and sort products based on different criteria.
  • Each product should have its own details page, providing additional information and options for customization or selection of variants.
  1. Shopping Cart and Checkout:
  • Users should be able to add products to their shopping cart and view the cart summary.
  • The checkout process should include collecting shipping and billing information.
  • Users should have options to select shipping methods and apply discount codes if available.
  • The website should securely handle payment processing, integrating with appropriate payment gateways.
  1. Order Management:
  • Administrators should have a backend system to manage and fulfill orders.
  • Order status updates should be sent to users via email, including shipping/tracking information.
  • Users should be able to view their order history and track the progress of their orders.
  1. Customer Reviews and Ratings:
  • Users should be able to leave reviews and ratings for products they have purchased.
  • The website should display average ratings and reviews for each product.
  • Moderation tools should be available for administrators to manage and moderate customer reviews.
  1. User Account Management:
  • Users should be able to update their account information, including profile details and password changes.
  • Password reset functionality should be available for users who have forgotten their passwords.
  1. Responsive Design:
  • The website should be responsive and accessible across different devices and screen sizes.
  • It should provide an optimal user experience on desktops, laptops, tablets, and mobile devices.

День 1

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

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

День 2

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

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

День 7

Продолжение обучения и развитие карьеры в QA

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

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

Курсы

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