#Role-QA #topic_15-19
### 🌟 **Role (QA): основа якості програмного забезпечення**
_Роль QA (Quality Assurance) полягає у забезпеченні якості продукту, а також виявленні та запобіганні помилок і дефектів на всіх етапах розробки програмного забезпечення. Як водій на дорозі, QA перевіряє, чи правильно працює кожна частина системи, щоб забезпечити безпеку та ефективність на всіх етапах._
![[software-code-testing-concept-illustration_114360-8114.jpg]]
---
> [!question]- Коментар від Артура
> ![[e_huge_heart.webp]]
Коли я лише починав свій шлях як інженер у QA, я думав, що моя робота буде досить простою: мені дадуть програму, скажуть "перевір, якщо все працює без проблем — твоя робота виконана" ✅. Але з часом я зрозумів, що це зовсім не так ❌.
>
Роль інженера QA — це не просто тестування. Це, в першу чергу, відповідальність за якість продукту. Що таке якість? Це, наприклад, коли ми отримуємо посилку поштою 📦 і перед тим, як її забрати, ретельно перевіряємо, чи все в порядку 🔍. Нас цікавить, чи задовольняє нас той продукт, яким ми користуємося. І саме цю відповідальність я беру на себе, тому що те, чим користуються люди, вони оплачують. І мова йде не лише про кінцевих користувачів, а й про замовників, які довіряють нам створення продукту 🤝.
>
Тому я переконаний, що справжній QA інженер — це той, хто не лише тестує, а й бере на себе повну відповідальність за якість продукту в цілому. Це не тільки про саму програму, а й про всі аспекти, які з нею пов’язані: людей 👨💻, процеси 🔄, документацію 📚 і все, що може вплинути на кінцевий результат. Саме це робить вас справжнім професіоналом і виділяє серед інших, адже коли люди згадують ваше ім’я, вони скажуть: "Він не просто тестує, він відповідальний за якість!"
---
> [!tip] **[[Principles of Testing]]: принципи тестування**
> _Принципи тестування визначають основні засади та підходи, які QA повинен використовувати для досягнення найкращих результатів при тестуванні._
>
> - Тестування має бути всебічним і охоплювати всі аспекти програмного забезпечення.
> - Тести повинні бути чіткими, відтворюваними та результативними.
> - Раннє виявлення дефектів допомагає знижувати вартість виправлення.
---
> [!tip] **[[STLC]]: життєвий цикл тестування програмного забезпечення**
> _STLC охоплює етапи тестування від планування до завершення. Це важливий процес, через який проходять всі тести._
>
> - Планування
> - Аналіз вимог
> - Проектування тестів
> - Виконання тестів
> - Звітність і аналіз результатів
> - Завершення тестування
---
> [!tip] **[[Testing Documentation]]: вимоги до тестування**
> _Вимоги до тестування включають технічні та бізнес вимоги, які визначають, що має бути протестовано і як._
>
> - Визначення критеріїв прийнятності.
> - Розуміння вимог і функцій продукту.
> - Визначення плану тестування і ресурсів для тестування.
---
> [!tip] **[[Test Types]]: типи тестів**
> _Існує кілька різних типів тестування, кожен з яких має свою мету і виконання на різних етапах розробки._
>
> - **Функціональне тестування**: перевірка правильності функцій.
> - **Нефункціональне тестування**: перевірка якості, таких як продуктивність і безпека.
> - **Тестування сумісності**: перевірка роботи на різних пристроях чи браузерах.
> - **Регресійне тестування**: перевірка наявності нових помилок після змін у програмному коді.
---
> [!tip] **[[QA Tools]]: інструменти QA**
> _Інструменти QA використовуються для автоматизації тестування, відстеження дефектів та збирання статистики. Вони дозволяють ефективніше виконувати тестування та збільшують продуктивність._
>
> - **Selenium**: для автоматизації тестування веб-додатків.
> - **JIRA**: для відстеження дефектів і управління проектами.
> - **Postman**: для тестування API.
> - **Jenkins**: для інтеграції з CI/CD процесами.
---
🎯 **QA Role** — це не просто тестування, а інтеграція в процес створення продукту, з метою забезпечення високої якості на кожному етапі розробки. QA спеціалісти займаються забезпеченням стандартів якості і підтримують стабільність програмного забезпечення, щоб користувачі отримали надійний та функціональний продукт.