Пропустити навігацію EPAM

QA/QC тестування: побудова та шляхи оптимізації

Огляд подій
  • Testing

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

Спікер вебінару Олексій Жилін, QA-менеджер та QA-архітектор в EPAM, розповів про важливість проведення QA/QC тестування, його побудову з нуля та поділилися порадами щодо його оптимізації. Процес Quality Assurance/QA (забезпечення якості) орієнтований на перевірку процесів розробки ПЗ, у той час як Quality Control/QC (контроль якості) фокусується на послідовному вимірюванні показників з метою контролю якості процесів, продукту та їх аналізу в процесі розробки. Спікер наголошує на важливості інвестувати час та кошти у побудову QA/QC процесів, оскільки налагоджені процеси тестування нових чи існуючих продуктів та здійснення контролю якості продукту допомагають задовольнити потреби замовника, збільшувати його прибуток і гарантують плідну співпрацю з ним у майбутньому. Вартість розробки ПЗ для замовника впливає на його подальше ціноутворення для кінцевого споживача.

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

Зазвичай трапляються ситуації, коли замовник не завжди розуміє цілі процесу контролю якості тестування ПЗ, вважає його зайвим і не готовий збільшувати бюджет. Для того, щоб краще пояснити важливість проведення етапу тестування QA-менеджеру  варто спочатку дізнатися про безпосередні цілі замовника, як і для чого буде примінятися ПЗ та донести, що тестування компонентів продукту допомагає його покращити. QA-менеджеру вдасться досягти позитивного результату під час комунікації із замовником, якщо у нього добре розвинені соціальні навички, як от уміння активно слухати, розуміти потреби та ефективно обмінюватися інформацією. У разі, якщо QA-менеджеру не вдається переконати клієнта, він може звернутися за підтримкою до делівері-менеджерів. Також варто зазначити, що ефективність процесу тестування можна збільшити шляхом активного залучення команди розробників за умови правильної комунікації і їх заохочення. Розробники так само зацікавлені в успішності проєкту і можуть допомогти під час побудови процесу тестування, здійснення інтеграцій CI/CD та проведення автоматизації на низьких рівнях. Саме тому частину завдань QA-менеджер може делегувати команді розробників, задавши для них необхідні шаблони, продемонструвавши, як і куди інтегруються ті чи інші тести та здійснюючи контроль виконаних завдань. 

Часто непросто підібрати і розрахувати правильну кількість тестувальників на той чи інший проєкт. Спікер вебінару радить орієнтуватися на розроблений план реалізації проєкту із вказаними термінами, який зазвичай передбачає необхідну кількість розробників. Після цього варто визначити обсяг завдань QA і розрахувати кількість тестувальників, необхідну для їх виконання. На різних рівнях передбачені різні вимоги, однак, найчастіше при виборі спеціалістів рівня junior та middle важливо враховувати їх досвід і мотивацію. При виборі QA-менеджера, який відповідає за побудову всіх процесів тестування, варто наймати фахівця із рівнем досвіду, який відповідає етапу проєкту, на якому він буде працювати. Окрім цього, кількість QA/QC спеціалістів залежить і від бюджету замовника.

Олексій радить ретельно підходити до питання застосування тих чи інших технологій під час тестування, зважаючи на перспективи розвитку проєкту у майбутньому. Так, у разі плануванні подальшої автоматизації процесів варто застосовувати фреймворки, які можна буде легко підтримувати, масштабувати та використовувати повторно. Для організації роботи команди, створення якісної документації та матеріалів, а також побудови необхідних процесів QA/QC спеціалісти можуть використовувати такі інструменти, як Jira, Confluence, інтеграцію з системою управління тестуванням та інші. Для звітування можна застосовувати Google-таблиці, а для організації тест-кейсів на Google Cloud краще використовувати систему, яка буде інтегруватися із Jira і автоматизовано формувати необхідні метрики та звіти.

Олексій Жилін виділяє наступні сім кроків для оптимізації процесу тестування на проєкті, зокрема:

  1. підібрати правильних людей із відповідним досвідом, рівнем мотивації, та необхідними соціальними навичками; або підібрати для себе гарний проєкт для того, щоб мати необхідну мотивацію;
  2. ретельно підбирати перевірені інструменти та технології з урахуванням особливостей проєкту;
  3. використовувати ресурси за принципом Парето, зокрема, визначати цілі та пріоритети в залежності від фази життєвого циклу проєкту та фокусуватися саме на них. Оптимізувати та автоматизувати процеси;
  4. зменшити кількість унікальних операцій на проєкті;
  5. максимально автоматизувати рутинні та конвеєрні операції, такі як інтеграції, підготовка звітів, метрик, розсилок, прогон тестів, отримання результатів;
  6. проводити постійний контроль якості процесів та роботи для розуміння того, чи ситуація покращується;
  7. мати план дій для реагування на кризові ситуації з урахуванням найбільш імовірних ризиків.

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

  • «Як тестують в Google» Джеймса Уіттакера, Джейсона Арбона, Джеффа Кароло;
  • «Як зламати програмне забезпечення: Практичний посібник з тестування»  Джеймса Уіттакера;
  • «Тестування програмного забезпечення» Сема Канера.

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

Щоб дізнатись більше та отримати порцію надзвичайно корисної інформації, подивіться запис вебінару на YouTube-каналі EPAM.

Підписатися на новини

Чудово! Ми вже готуємо добірку актуальних новин для вас :)

Вибачте, щось пішло не так. Будь ласка, спробуйте ще раз.

* Обов'язкові поля

*Будь ласка, заповніть обов’язкові поля

Вакансії EPAM Ukraine у Київ | Львів | Харків | Дніпро | Вінниця | Івано-Франківськ | Одеса | Чернівці | Хмельницький | Рівне | Ужгород | Тернопіль | Луцьк за напрямком Java | JavaScript | .NET | DevOps | Experience Design | Software Testing | Business Analysis | Python| Big Data | Mobile | Solution Architect | Ruby on Rails у містах за напрямком Java вакансії Київ | Java вакансії Харків | Java вакансії Львів | Java вакансії Вінниця | Java вакансії Одеса | Java вакансії Івано-Франківськ | Java вакансії Чернівці | Java вакансії Хмельницький | Java вакансії Рівне | Java вакансії Ужгород | Java вакансії Тернопіль | Java вакансії Луцьк | JavaScript вакансії Київ | JavaScript вакансії Харків | JavaScript вакансії Львів | JavaScript вакансії Вінниця | JavaScript вакансії Одеса | JavaScript вакансії Івано-Франківськ | JavaScript вакансії Чернівці | JavaScript вакансії Хмельницький | JavaScript вакансії Рівне | JavaScript вакансії Ужгород | JavaScript вакансії Тернопіль | JavaScript вакансії Луцьк | DevOps вакансії Київ | DevOps вакансії Харків | DevOps вакансії Львів | DevOps вакансії Вінниця | DevOps вакансії Одеса | DevOps вакансії Івано-Франківськ | DevOps вакансії Чернівці | DevOps вакансії Хмельницький | DevOps вакансії Рівне | DevOps вакансії Ужгород | DevOps вакансії Тернопіль | DevOps вакансії Луцьк