Must know база для тестувальника — канали, книжки, стек технологій, які має знати кожен
Всім привіт:) Я Марина Михальчук. Працюю Middle QA в ІТ-компанії Wetelo, маю близько 2 років досвіду в напрямках manual та automation (C#, Kotlin, JS).
Вирішила поділитись своєю історією, з чого можна почати свій шлях в ІТ на посаді Trainee/Junior QA та як прокачати свої навички до рівня Middle.
Як я стала QA
Близько двох років тому почався мій шлях від фінансиста до QA інженера. Таких, як я, називають світчерами. Але мені вдалося побороти сумніви, «скляну стелю», поставити чітку мету — стати QA, та досягти її. Я не шукала суперових курсів, не вибирала собі менторів, не вдягала рожевих окулярів, вважаючи, що місяць повчусь і стану крутою айтішницею. До того ж декілька моїх знайомих закінчили курси, але так і не знайшли роботу, тому було багато сумнівів з приводу того, чи варто мені теж спробувати, а якщо починати, то з чого саме і як не наступити на ті граблі, на які наступають інші.
Проаналізувавши всі «за» і «проти», вирішила податись на навчання в кілька ІТ-компаній з подальшим працевлаштуванням. Довелось проходити триетапний відбір та, до того ж поліграф. Здавалось, що я прохожу відбір не на посаду Trainee QA, а в СБУ агентом під прикриттям:))) І це був нелегкий початок мого шляху в ІТ.
Кожного дня я приходила в офіс на навчання, яке тривало не менше 4 годин на день впродовж 3 місяців. Окрім цього, було багато завдань на самостійне опрацювання, тому навчання могло займати від 6 до 10 годин на день. Але це був мій щасливий квиток, а реально круті колеги-ментори (Люда і Саша, дякую вам, ви суперові) допомагали мені краще зрозуміти матеріал.
Окрім навчання в компанії, я працювала на кількох роботах, щоб забезпечити себе, тому без хорошої дисципліни і тайм-менеджменту важко обійтись. Після кількох місяців навчання взяла участь в хакатоні, який дав мені можливість прокачати як hard, так і soft-скіли, попрацювати в крутій команді.
Тому, тим, хто починає свій шлях, рекомендую, крім вивчення теорії в конкретному ІТ-напрямі прокачувати свої навички, беручи участь в різних ІТ-заходах, конференціях та хакатонах. Все це можна знайти в Календарику на DOU. А також рекомендую набратись сміливості і подаватись на вакансії для Trainee QA — так у вас з’явиться можливість вчити теорію і застосовувати її на практиці.
Що по теорії
Однією з поширених проблем для початківців є структуризація теоретичного матеріалу для вивчення. В цьому випадку краще починати з вивчення базових понять і розбирати складніші категорії. Варто вивчати теорію з тестування як сайтів, так і мобільних застосунків, оскільки так у вас з’явиться розуміння, що більше подобається, в чому хотіли б надалі розвиватись, також ви будете універсальним кандидатом на ринку, а отже збільшите свої шанси отримати офер.
Теоретична база для Manual Trainee/Junior QA охоплює:
- сутність понять тестування, тестувальника та багу;
- принципи, рівні та види тестування;
- моделі розробки програмного забезпечення та SDLC (Software development lifecycle);
- життєвий цикл тестування;
- тестування вимог;
- розуміння різниці між валідацією та верифікацією;
- тестові артефакти (Test Plan, Check-list, Test-case & Test-suit, Bug report);
- поняття та суть використання mind-map;
- техніки тест-дизайну;
- клієнт-серверну архітектуру;
- ознайомлення з протоколом TCP/IP;
- базові знання REST API, SOAP;
- розуміння суті API;
- ознайомлення з форматами передачі даних;
- HTTP-методи;
- статус-коди та їх характеристику;
- UI/UX та GUI;
- розуміння Web elements;
- ознайомлення з HTML/CSS/JavaScript та структурою вебсторінки;
- базове розуміння SEO;
- бази даних та їх види (на базовому рівні вимагається володіння основними запитами на SQL);
- види мобільних додатків;
- розуміння та використання базових команд в Git;
- ознайомлення з СI/CD.
Практичні навички для QA
Якщо говорити про практичні навички, то зі свого досвіду скажу, що вам необхідно навчитись працювати з такими основними інструментами:
- баг-трекінговими системами: Jira, Trello;
- створення mind-map: Scrumlr, MindMeister;
- вебінструментом з управління тестуванням: TestRail;
- набір інструментів інтегрованих в браузер Google Chrome: Chrome DevTools;
- проксі-сервер для налагодження вебтрафіку: Charles Proxy;
- інструмент для проведення навантажувального тестування: JMeter;
- для тестування API: Postman, Swagger.
Для початківців рекомендую сайт, де можна знайти відповіді на багато питань не тільки з теорії, а також із встановлення та налаштування різних інструментів, які вам можуть пригодитись для тестування як сайтів, так і мобільних додатків. Він мене дуже виручав.
Що почитати
Рекомендую те, що читала сама, зокрема:
- Testing Computer Software, by Cem Kaner, Hung Q. Nguyen, Jack Falk. Ця книга допоможе краще зрозуміти базові аспекти написання тестової документації, забезпечення тестового покриття, ефективного створення та використання системи відстеження помилок. Приємним бонусом буде достатня кількість пояснень та прикладів від автора з приводу організації процесу тестування під час кожного етапу розробки програмного забезпечення. Надалі це дасть вам правильне розуміння відмінностей між такими категоріями як QA та QC. Лайфхак: цю книгу можна читати в міру вивчення вами тестової документації, і в тому порядку, в якому вам зручно, оскільки кожен параграф в книзі має більш незалежну структуру з сусідніми параграфами.
- A Practitioner’s Guide to Software Test Design, by Lee Copeland. Напевно, ви подумали, навіщо я рекомендую книгу, яка присвячена тільки технікам тест-дизайну, але без цього ніяк. Книга є добре структурованою та легкою для сприйняття, підійде не тільки новачкам, але і спеціалістам middle-рівня. Ви зможете зрозуміти, яку техніку тест-дизайну краще обрати для різних тестових кейсів, виявити дефекти програмного забезпечення, витративши на це мінімум ресурсів і зусиль. Ця книга раз і на завжди допоможе вам зрозуміти різницю між техніками тест-дизайну білого та чорного ящика на реальних прикладах. Також це одна з тем, яку обов’язково у вас спитають на співбесіді:)
- How Google Tests Software by James A. Whittaker, Jason A. Joseph, and Jeff Carollo. Кожного дня ми користуємось продуктами компанії Google, але не задумуємось над тим, що тим же Gmail або Chrome судилося жити в багатьох тестових версіях. Треба було, щоб сотня розробників попрацювала над ними, перш ніж вони потраплять до нас, користувачів. На мою думку, ця книга підійде не тільки для початкового рівня, а також для рівня Middle та Senior, оскільки ви зможете дізнатись підходи та особливості організації тестування в команді QA в Google, методи аналізу ризиків пов’язаних з тестуванням, тестування чорного та білого ящика, особливості проведення дослідницького тестування. Початківцям, які надалі планують обрати напрямок автоматизації, також буде корисно прочитати дану книгу, оскільки в ній є пояснення щодо використання різних інструментів для автоматизації (зокрема Selenium), також, можливо, ви вперше ознайомитесь з поняттями класів, інтерфейсів, бібліотек, вебхуками та End-to-end тестами. Книга читається доволі легко, бо містить цікаві інтерв’ю з експертами, багато ілюстрацій та професійний гумор.
- The Art of Software Testing 3rd Edition by Glenford J. Myers, Corey Sandler, Tom Badgett. Ця книга є невід’ємною частиною класичної літератури з тестування з врахуванням особливостей методологій, видів, дебагінгу, тестування сайтів та мобільних додатків. Підійде Junior та Middle QA. У книзі є багато практичних кейсів, діаграм та окремих блоків з цікавими фактами, роз’ясненнями (Sidebar).
- Foundations of Software Testing ISTQB Certification, 4th edition. Цей посібник з тестування програмного забезпечення та кваліфікації ISTQB Foundation рекомендується не тільки для спеціалістів, які планують здавати сертифікацію. Матеріал добре структурований і підійде навіть для Trainee/Junior QA. Хоча для Middle та Senior рівнів краще опрацьовувати саме 5 видання: Software Testing Foundations, 5th Edition, оскільки в новішій версії були оновлення: додали матеріали щодо аналізу ефективності використання інструментів тестування, переваг та ризиків впровадження автоматизації процесів тестування.
Що подивитися
Також рекомендую переглянути безкоштовний курс з тестування (українською мовою). Підійде для Trainee/Junior QA для закріплення теоретичного матеріалу, а також виконання реальних кейсів, наприклад складання тестової документації, роботи з різноманітними інструментами.
На жаль, ситуація для тих, хто розпочинає свій шлях в ІТ, нелегка, зокрема, з кожним днем відчутно підвищуються мінімальні вимоги до знань та володіння практичними навичками кандидатів на відкриті вакансії. Тому дедалі важче спеціалістам-початківцям будувати свою кар’єру з нуля, після курсів або починати свій старт через самоосвіту. Але це далеко не означає, що у вас менше можливостей для розвитку чи менше можливостей для того, щоб отримати свою першу роботу в напрямку QA. Це лише означає, що вам необхідно бути більш скіловішими, мати практичний досвід уже на початковому етапі.
Якщо потрібна порада чи підтримка, ви завжди можете написати мені в LinkedIn. Не соромтеся :)
22 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів