При виборі професії багато хто став віддавати перевагу вакансіям сфери IT-технологій. Це не дивно, оскільки вона показала себе досить стабільно в нинішніх умовах.
За даними аналітики, у сфері IT показник скорочень та закриття проектів не перевищив 20%, і серед загальної маси співробітників скороченню підлягали переважно інтерни, тільки прийняті на роботу. До травня 2022 року ситуація на ринку стабілізувалася, і ті, хто закінчив на той час навчання, не витратили багато часу на пошуки свого першого місця роботи.
Найбільш приваблива ніша сьогодні – тестування. Ще у 2018-2019 році на одне вакантне місце було по 4-5 претендентів. На сьогодні ситуація докорінно змінилася. Для одного претендента на вибір до п'яти вакансій. Ринок тестувальників у дефіциті хороших фахівців. Тому правильним вибором буде розглянути саме цю сферу для подальшої зайнятості.
Також, тестування асоціюється з легко засвоюваним і швидким навчанням. Курси тестування не перевищують за тривалістю трьох місяців, а також доступні до вивчення всієї структури та специфіки роботи. Ще є унікуми, які вивчають професію самостійно, але як показала практика, витрачають на це більше часу і сил. Тому всі роботодавці рекомендують проходити курси, де інформація надається структуровано, у правильній послідовності, оскільки це дуже важливо у правильній побудові бази знань майбутніх співробітників. Деякі компанії самостійно навчають свій персонал, хоча така освіта вважається дуже вузькопрофільною.
Багато людей цікавляться, що потрібно знати тестувальнику програмного забезпечення. Якщо говорити про навички, які будуть потрібні тестувальнику в роботі, то виділяють ряд важливих
hard skills і
soft skills. Почнемо з других, оскільки ними опанувати складніше, і бажано мати схильність до них.
Тестувальнику необхідно вміти: - брати відповідальність за свою роботу (оскільки недоробки або помилки ПЗ можуть зазнати не тільки грошових витрат для компанії, але й спричинити більш серйозні наслідки, такі як небезпека для людського життя або смерть, якщо це стосується ПЗ для життєдіяльності організму в медичному обладнанні);
- комунікувати (тестувальник пов'язаний тісним спілкуванням практично з усіма відділами на проєкті, тому необхідно вміти знаходити спільну мову з усіма співробітниками, навіть тими, хто має важкий характер);
- концентруватися на завданнях і мати критичне мислення (необхідно в кожному фрагменті ПЗ піддаватися сумнівам, якщо є ймовірність, що той чи інший функціонал може спрацювати некоректно за певних обставин і концентруватися на пошуку помилок до тих пір, поки не буде доведено їх наявність або відсутність);
- розставляти пріоритети та аналізувати важливість (помилки ПЗ бувають різними, якщо вони незначні і можна їх не усувати відразу, не варто наполягати на їх виправленні, краще витратити час на пошук більш глобальних, які можуть спричинити великі витрати на доробку продукту);
- планувати (на самому початку проекту у тестувальника найменше роботи, але перед релізом він завантажений 24/7, необхідно враховувати цей чинник і ставити завдання так, щоб правильно розподіляти час, завжди є ймовірність, що можна частково тестувати продукт на етапі розробки).
Щоб напрацювати
hard skills бажано спочатку бути впевненим користувачем ПК: розбиратися в обладнанні комп'ютера, знати що таке IP-адреса, робота Wi-fi, вміти встановлювати і видаляти програми, налаштовувати операційну систему.
Після важливо вивчити такі hard skills:
- Найпростіші теоретичні знання (процес тестування; теорія забезпечення якості; види та рівні тестування, їх застосування у певній ситуації; тестові артефакти; використання метрик; техніки тест-дизайну; SDLC, STLC, зони відповідальності інших працівників на проєкті);
- Англійська не нижче за рівень B2 (термінологія, складання тестової документації, комунікація із замовниками проводиться англійською мовою);
- Написання тестової документації (bug-reports, тестова стратегія, тест-план, аналіз тестування, користувач-сторі, чек-лист, тест-кейси);
- Управління тестовою документацією (Bug Tracking системи: Redmine та Jira - найбільш використовувані; системи з управління тест-кейсами (TestRail, TestLink);
- Тестування веб-додатків та API (все, що стосується HTTP-протоколу: запити, відповіді, методи; клієнт-серверна архітектура, робота з мережами (моделі, протоколи); коди статусів відповідей; кеш, кукі, веб-сокет; основи HTML, CSS, JS, особливості REST/SOAP протоколів, правила синтаксису для XML, аналізатори та перехоплювачі трафіку Charles/Fiddler, панелі інструментів веб-розробників Web Developer tools, робота з Postman, види авторизації, відмінності ідентифікації, аутентифікації;
- Бази даних (види баз даних, вимоги та зберігання, відмінності системи управління баз даних (СУБД), мова структурованих запитів SQL (запити SELECT, JOIN, агрегатні функції, вкладені підзапити, HAVING, UNION), NoSQL);
- Тестування мобільних додатків (типи додатків (нативні, гібридні, веб), типи пристроїв; тестова лабораторія; робота з симуляторами, емуляторами; особливості тестування мобільних додатків; спеціалізована документація – гайдлайни Apple та Google; мобільні жести та елементи);
- CI/CD - безперервна інтеграція та безперервна доставка (поняття, роль тестувальника в ньому; DevOps, TestOps; системи контролю версій, робота в Git; види оточень та системи роботи на кожному з них).
Інструменти для роботи наведені вище стосуються додатків мобільних і для робочого столу. Оскільки найпоширеніші програми, що зараз розробляються - це веб і мобайл. Для тестування ігор додатково підключатимуться специфічні перевірки, пов'язані з іншою механікою та бізнес-логікою.
Є низка додаткових навичок, які роботодавці не часто вказують у вакансіях, але можуть ставити запитання щодо них на співбесіді:
- вміння працювати з командним рядком Windows та unix-подібних системах;
- інструменти тестування навантаження (JMeter);
- тестування десктопних додатків та ігор;
- тестування заліза.
Розвивається також напрямок автоматизації тестування (Automation QA). Для цієї професії є низка додаткових знань:
- одна або кілька мов програмування (Java, Python, JS чи інші) для написання скриптів;
- інструмент для автоматизації дій веб-браузера, наприклад Selenium Webdriver;
- тестові фреймворки, наприклад, jUnit або TestNG;
- особливості тестування для різних програм (веб, мобільні, API та інші);
- робота з віртуальними машинами.
Щоб не лякав такий великий обсяг знань необхідних тестувальнику, слід враховувати, більшість понять, прописаних вище, вивчаються на курсах поверхово. Їх можуть уточнювати роботодавці тих чи інших компаній, залежно від напряму діяльності та специфіки наданих послуг чи продуктів. Тобто немає необхідності вникати в глибинні поняття кожного з них, достатньо мати уявлення про дані інструменти та їх сферу застосування. Якщо скласти всі необхідні навички в майнд-карту і розкласти все за пунктами, то буде видно, що обсяг необхідних знань загалом не такий і великий.
На курсах тестування QA та Automation QA ви отримаєте необхідні знання, зможете застосувати їх одразу на реальному проєкті замовника. Дуже важливо, що в нашій школі навчають практикуючі викладачі, оскільки вони створюють те інформаційне поле, де знання з робочих інструментів актуальні на момент навчання.
Ми допомагаємо з працевлаштуванням учнів, оскільки впевнені у знаннях, які їм надаємо. Співпрацюємо з багатьма IT-компаніями та даємо рекомендації щодо кращих учнів на потоці. У цій статті ми лише поверхово розповіли, що потрібно знати тестувальнику ПЗ. Якщо ви так само впевнені у своїх силах – записуйтесь на курси тестувальника з нуля.