#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 спеціалісти займаються забезпеченням стандартів якості і підтримують стабільність програмного забезпечення, щоб користувачі отримали надійний та функціональний продукт.