QA-кухня у світі цифрових розробок: базові компоненти, технології і трохи фантазії
Усі статті, обговорення, новини про тестування — в одному місці. Підписуйтеся на DOU | QA!
Привіт! Мене звати Ірина Іванченко, я працюю в IT більш як 10 років. Зараз поєдную ролі QA-ліда на проєкті і Head of QMO в компанії Vector Software.
В цій статті хочу поділитися своїми порадами, на що звернути увагу, розвиваючись як тестувальник, а також якими базовими знаннями треба володіти, щоб мати міцний фундамент для подальшого розвитку. Хоч сьогодні, здавалося б, немає нестачі в інформації, але вважаю, що живий досвід фахівця з галузі може принести вам нові корисні інсайти про тестування. Тож, почнімо.
QA-кухня у світі цифрових розробок
QA-інженер подібний майстер-шефу — той планує і готує страву з дотриманням усіх технік, застосовує власні рецепти, слідкує за якістю продукту і вишукано подає готову страву. Аналогічну роль відіграє тестувальник протягом усього життєвого циклу розробки програмного забезпечення.
А оскільки ми живемо в часи стрімкого та динамічного розвитку ІТ-галузі, який формує і попит на ІТ-послуги, то все частіше чуємо про прискорену розробку і безперервну доставку продукту.
Не останню роль в цьому відіграли, звісно, ковідні обмеження та масовий перехід людей в онлайн-режим. Це зумовило потребу в нових рішеннях в тестуванні, що, своєю чергою, сприяє розвитку забезпечення якості.
Тобто робота на «кухні» має бути організована таким чином, щоб доставляти продукт швидко і якісно, в міру готовності, поки він «теплий» і актуальний для споживача.
Вже минули ті часи, коли контроль якості й тестування програмного забезпечення зводилися лише до пошуку помилок. Сьогодні це набагато більше. Тестування як дисципліна еволюціонує, здобуваючи нові практики, фреймворки, методології та інструменти.
Ручне тестування залишається фундаментальною частиною дисципліни тестування, в той час, як автоматизоване в поєднанні з практикою continuous integration та continuous delivery (CI/CD) розвивається і призводить до зростання цінності самого тестування. Сучасне тестування починається паралельно з розробкою і триває протягом усього циклу розробки, щоб отримувати швидкий зворотній зв’язок.
Тут ключовим моментом є тестування на ранніх стадіях циклу доставки, яка називається Shift Left, якого слід дотримуватись, щоб отримувати правильні результати.
Звісно, без автоматизації ці процеси не працюватимуть, тому все більше і більше акцент буде ставитись на Full stack тестуванні, яке поєднує в собі ручне, і автоматичне тестування.
З огляду на це, раджу почати вивчати якусь мову програмування. Популярними залишаються Java, Python, JS, C#. Можна починати з однієї, а оскільки мови схожі між собою, то переключитись на іншу буде не складно, достатньо вивчити новий синтаксис.
Попри те, що кількість технологій продовжує збільшуватись, є база знань, якою має володіти тестувальник незалежно від того, який напрямок він обере — адміністративний (QA Lead, QA Manager і т.д.) чи технічний.
Необхідний стек технологій і навичок
Отже, стек технологій і технічних навичок, якими повинен володіти тестувальник. Я підготувала цей розділ на основі власного досвіду та постійної залученості в роботу сучасних тестувальників.
Теорія тестування та методології:
— Загальні стандарти та принципи ISTQB.
— Процес розробки ПЗ та тестування. SDLC/STLC.
— Моделі SDLC: Waterfall, Agile (Scrum, Kanban, Scrumban, SAFe).
— DevOps.
— Shift Left. Full stack testing.
— Continuous testing.
— Business Analysis, Requirements Analysis, Functional and Non-Functional Requirements. INVEST Principle. Traceability and Dependency matrix.
— Test Documentation. Test Results.
— Testing Levels & Types.
— Test design techniques.
— Defect life cycle.
— Testing Estimation.
— Test cases.
Ілюстрація надана авторкою
Технології та інструменти:
— Web Testing.
— API testing. REST, SOAP.
— Mobile Testing.
— Desktop Testing.
— Databases, Data Models. SQL, NoSQL.
— Network.
— Postman.
— Jmeter.
— Git.
— Docker.
— Cloud service providers.
Ілюстрація надана авторкою
Що почитати з книжок
Далі наведу перелік з корисних, на мою думку, книжок, з коротким поясненням до кожної позиції: на чому фокусуватись в книжці та чим саме вона стане в пригоді.
- Foundations of Software Testing ISTQB Certification, 4th edition by Dorothy Graham, Erik van Veenendaal, Rex Black, 2020. Книга базується на ISTQB Foundation 2018 і детально розкриває теми силабуса. Буде корисною для тих, хто готується до іспиту. Ця книга є зручним довідником з тестування в цілому.
- Advanced Software Testing — Vol. 1: Guide to the ISTQB Advanced Certification as an Advanced Test Analyst (2008). Ця книга буде корисною для фахівців рівня middle+, вона про техніки тест-дизайну.
- Full Stack Testing by Gayathri Mohan. A Practical Guide for Delivering. High Quality Software, 2022. Книга 2022 року випуску з новим поглядом на тестування, новими тенденціями, з актуальними практичними порадами. Детально описано про Continuous testing та CI/CD процес, які все більше набирають обертів останнім часом.
- How Google Tests Software — WHITTAKER J., ARBON J., CAROLLO J., 2014. Книга описує процеси тестування в Google, при чому у вигляді інтерв’ю та з гумором.
- Critical Testing Processes. Plan, Prepare, Perform, Perfect. Rex Black, 2006. Тут описується процес тестування та контекст, в якому все відбувається. Процес розбитий на 3 частини — планування, підготовка, проведення.
- Automating and Testing a REST API. A Case Study in API testing using: Java, REST Assured, Postman, Tracks, cURL and HTTP Proxies, Automating and Testing a REST API, Alan Richardson, 2017. В цій книзі описаний працюючий приклад тестування REST API, тестування основних викликів API за допомогою PUT, GET, POST і DELETE. Крім того, докладно пояснюються перші кроки вивчення API для підтримки ручного технічного тестування.
Ілюстрація надана авторкою
Які ресурси варто переглядати
Останнім часом з’явилося дуже багато пропозицій і на кожному кроці рекламують
Я б рекомендувала ретельно підбирати такі курси, вивчати їхню програму до початку курсу, орієнтуватись на відгуки та результати реальних людей, які вже пройшли саме цю програму в цьому ж місці.
Однак, зауважу, що невід’ємною частиною здобуття знань є самонавчання. В інтернеті можна знайти інформацію на різних онлайн-платформах для навчання та саморозвитку, таких як:
Англомовного контенту більше, і це хороший спосіб зайвий раз прокачати рівень своєї англійської мови.
Дуже приємно, що з’являються україномовні канали, присвячені тестуванню, такі як QAMania, Світ тестування, Quality Assurance Group (це не реклама )))).
Що пройти з сертифікацій або курсів, на чому фокусуватись
На мою думку, сертифікації є корисними і до них потрібно готуватись. Можливо, багато хто зі мною не погодиться, бо на просторах інтернету можна регулярно спостерігати непримиримі дискусії на тему варто чи не варто здавати ISTQB-сертифікацію.
Втім, як на мене, користь у тому, що готуючись до іспиту, ми систематизуємо і впорядковуємо свої знання, розкладаємо їх по поличках. Тому, читаючи Силабус, Глосарій, Рекса Блека, чи переглядаючи тестові питання, ми або шліфуємо знання, які вже маємо, або здобуваємо нові. Лише одні плюси з цього)
Поради для трейні та джуніорів, що обирати для навчання — практика, менторство чи інше
Головне, що тут можна порадити — вчитись, і ще раз вчитись. Ставте перед собою ціль — короткострокову і довгострокову. Рухайтесь до своїх цілей, мотивуйте себе, щоб досягти їх.
1. Якщо ви ще на етапі пошуку роботи, читайте статті, блоги, шукайте ресурси з корисною інформацією, спробуйте підібрати собі навчальний курс чи знайти однодумців в якійсь QA-спільноті. Можливо, хтось там стане вашим ментором, спробуйте робити тестові завдання і т.д. З таким багажем знань і практичних навичок шанс пройти співбесіду та отримати офер значно зростає.
2. Якщо ви вже працюєте і потрапили на проєкт, на якому всі процеси налаштовані, команда працює, як злагоджений годинниковий механізм і у вас є досвідчений ментор, до якого ви можете звертатись — вам пощастило. Працюйте, вчіться і розвивайтесь, переймайте кращий досвід, ставте питання, проявляйте активність і ініціативу.
3. Якщо ви вже працюєте, але вам не вистачає менторства, озвучте свій запит, не бійтесь бути почутими. Люди можуть не здогадуватись, що вам чогось бракує. Ну, і тут знову ж таки, пункт 1 завжди залишається актуальним ;)
Поради для мідл, сеньйор та QA-лідів — як продовжувати розвиватись та бути у формі
Щоб досягти рівня Middle з позиції Trainee/Junior — треба розвивати hard skills, з Middle до Senior — робити акцент на soft skills, а для рівня Lead — вже опановувати people management.
Кожен з цих етапів різний і цікавий водночас, оскільки на кожній сходинці драбини професійного розвитку ставлення до продукту, процесів та людей змінюється.
Мене особисто в тонусі тримають люди, які прийшли в тестування за покликом душі, а не з меркантильних міркувань. Їхня жага до нових знань заряджає і мотивує. Оскільки я маю освіту викладача інформатики і викладацький досвід, і так чи інакше виконую роль ментора на робочих проєктах, я також долучилась до створення QA Basics Course в нашій компанії. Ми намагаємось уникнути сухої теорії, яку більшість можуть прочитати чи знайти самостійно, і, власне, показати, як застосувати знання та навички на реальних проєктах.
Висновок
У тестуванні є багато напрямків, це досить креативна сфера діяльності, яка не стоїть на місці, а йде в ногу з часом і робить свій внесок в цифрову трансформацію.
Кожен може знайти для себе щось цікаве і рухатись в тому напрямі, який йому до вподоби. На старті всі однакові, а далі в кожного свій темп і шлях: розвивати технічні навички чи освоювати автоматизацію, перекваліфіковуватись на бізнес-аналітика чи пробувати себе в ролі менеджера.
Тут важливим є визначити свої сильні сторони і впевнено крок за кроком досягати цілей.
10 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів