Як стати тестувальником або якихось знань ми чекаємо від джуніора

image
Пара вступних слів
Всім доброго часу доби, мене звуть Туманів Діма. Зараз я працюю в компанії Rambler&Co і відповідаю за тестування на проектах Афіші. В рамках даної статті я розвію кілька міфів про IT і тестуванні зокрема. Крім того, наведу приклади з життя як «не знаючи нічого» стати Junior QA Engineer в крупній компанії.
Початок шляху
Пропрацювавши майже два роки в одній «мирної» держкорпорації в посаді «несправжнього інженера», я усвідомив, що розвиток зупинився. Я міг сидіти на одному місці і майже нічого не робити. У кінцевому підсумку мої знання б зовсім відстали від реальної дійсності і я б став незатребуваним на ринку. В цей момент я прийняв рішення про зміну місця і суті своєї роботи.
Питання №1 — «Яку область для роботи вибрати»
Мій вибір ґрунтувався на декількох фактах. По-перше, я хотів працювати у швидко розвивається. У цьому я бачив і бачу зараз можливість постійно рости в професії, розвиваючи себе в різних напрямках. По-друге, я хотів піти від бюрократії, жорстких регламентів та обов'язкового носіння костюмів жарким літом. Ну і останнє, але не за значенням, я хотів робити дійсно важливу справу, відчувати близькість кінцевого користувача, розуміти, що моя робота дійсно потрібна. Всі три цих пункту я зміг побачити в IT-галузі.
Питання №2 — «Яку професію обрати»
Для мене важливим було якесь поєднання гуманітарних і технічних наук, тобто комунікацій та інженерії. З одного боку, я не хотів бути лише технічним спеціалістом і наприклад писати кращий код на Java. З іншого я хотів розуміти, як все влаштовано зсередини. З цих причин мій вибір припав на тестування. Додатково до суміжності професії, описаної вище, тестування досить просто потрапити. Поріг входу справді невеликий.
Питання №3 — «Яку вибрати компанію»
По суті всі компанії можна класифікувати за кількома способами. По-перше по відношенню замовник-розробник. Є принципова різниця між компаніями аутсорсерами і продуктовими компаніями. Для перших найважливішим є продаж продукту. Так, є ім'я компанії, відгуки клієнтів, але так чи інакше заробіток йде від прямих продажів. Для других важливим є мати якісний і популярний продукт. На такому продукті можна розмістити дорогу рекламу і заробити багато грошей. Тому з точки зору тестування сильна команда буде сформована саме в продуктовій компанії. По-друге компанії варто розділяти на російські та імпортні. На поточний момент тестування залишається слабо розвинутим напрямком в Росії. Це дає свої плюси і залишає можливість зайняти своє місце під сонцем без сильних проблем. Але, з іншого боку, звужує вибір гідних місць для роботи. Благо у великих інтернет компаніях рунета вже «пройдений етап варварства і створені перші держави». Для мене було важливо працювати саме в російській компанії. Це щось на кшталт «дивного» патріотизму, якщо хочете. Виходячи з усього цього, мій вибір припав на великі продуктові інтернет компанії Росії. Таких, до речі, зовсім трохи і ви легко можете знайти їх рейтинг Forbes (2014 2015 2016).
Питання №4 — «Як вирішити проблему відсутності досвіду»
Парадокс переважної числа компаній полягає в необхідності досвіду навіть для початкових пропозицій. Відповідь на питання як вони взагалі собі таке представляють я не знайшов до сих пір. Благо в плутанині народжується все нове і багато побудували бізнеси на цій історії. Мережа зараз кишить різними навчаннями з практикою, серед яких є справді вартісні. З іншими знаннями, які потрібно придбати, начебто без ексцесів, тому давайте про все по порядку.
Питання №5 — «Які знання треба отримати і як це зробити»
  • Занурення в теорію тестування. У першу чергу потрібно навчитися говорити мовою IT і тестування зокрема. Для цього необхідно розібратися з тим, що таке забезпечення якості і з основними поняттями з тестування ПЗ. Дані матеріали можна розкопати майже в будь-якій книзі з тестування, але я затятий противник «технічних» талмудів і вважаю їх повільним джерелом інформації. Набагато простіше і швидше це зробити з окремих статей:
  • Вивчення Bug Tracking систем. Ключовим навиком інженера з тестування є пошук, локалізація і якісне заклад дефекту. Баг не існує у вакуумі, він чітко пов'язаний з розділом програми, відтворюється на списку конфігурацій (операційна система, її версія, браузер і його версія), має свій пріоритет. Більше того, роботу над виправленням дефекту проводять кілька різних фахівців. Для того щоб зробити процес управління лагодження дефекту керованим використовують спеціальні системи. Тут є ілюзія вибору. Є широко поширений Redmine. Але якщо ви націлені на роботу в компанії, зазначеного вище класу, то вам варто вивчати Jira. Для цього рекомендую зробити наступне:
    • Поставити собі пробну версію продукту і пройти ці ролики
    • Поставити собі і вивчити базові гаджети: 1, 2, 3
  • Вивчення Test Management систем. Будь софт — це по суті набір можливостей, тобто так чи інакше кінцеве безліч. При цьому логіка роботи кожної з них не є ідеальною моделлю, а значить кількість багів в системі завжди нескінченно. Питання в тому, що ми вважаємо багом, а що ні. Тут на допомогу нам приходять вимоги від замовника, описують те яким повинен бути наш продукт. В якості вимог не обов'язково має бути технічне завдання на тисячу сторінок. Це також може бути прототип або постійне живе обговорення, якщо ваш продукт це просто нова доопрацювання. Для перекладу вимог набір перевірок існують методи з теорії тестування, які ви вже повинні були вивчити вище. Але тести, як і дефекти не існують у вакуумі і над одним функціоналом може одночасно працювати кілька фахівців з тестування. За аналогією для управління процесом написання та застосування тестів використовують спеціальні системи. Лихі 90-е пішли і робота в «эксельках», «блокнотиках» і «тестлинках» вже не є нормальним явищем. Нещодавно я проводив аудит щодо пошуку підходящої системи. В основному вони або нічого не роблять, або стоять як космоліт. Золотою серединою є TestRail. Для його вивчення потрібно зробити наступне:
    • Поставити собі пробну версію і пройти ці ролики
  • Підняття технічного бекграунду. Ми займаємося web і mobile додатками, тому міркування піде в цьому ключі. Справжній тестувальник зобов'язаний розуміти «начинку» того, що він перевіряє. Це економить час команди, так як фахівець з тестування сам може визначити справжню причину дефекту і описати її правильно. Так і тестувати те, про що ти нічого не знаєш як мінімум дивно. Плюс глибоке розуміння покращує ваші комунікації з іншими технічними фахівцями. Для старту вистачить цих загальних знань:
  • Вивчення програмування. Одвічне питання потрібно вміти програмувати тестировщику має дуже проста відповідь. Потрібно. Пов'язано це з тим самим технічним бекграундом по-перше і з розвитком аналітичності вашого мислення по-друге. На початковому етапі достатньо мати базові уявлення про програмування, в майбутньому для якісного росту, вам потрібно вивчити один з популярних мов. Наприклад, Python або Java. На старті варто вивчити наступне:
  • Подолання перешкоди відсутності досвіду. В IT-галузі зараз сильна нестача кадрів, зокрема тестувальників, тому часто беруть перспективних кандидатів без досвіду. Дійсно, простіше навчити з нуля, ніж переучувати. Для того, щоб стати більш затребуваним в порівнянні з іншими варто пройти спеціалізовані курси з тестування. На них можна отримати структуровані знання і найголовніше досвід реального тестування. Я рекомендую пройти курс «Школа успішних тестувальників, v 2.0)» цієї порталу
  • Пошук роботи. Далі залишається лише скласти резюме, враховуючи оновлені знання і навички, та навчитися грамотно використовувати hh
Перспективи розвитку
Робота займає третину нашого життя. Якщо відкинути сон, то це взагалі половина нашого часу. Єдино правильним вважаю працювати там і робити те, що дійсно подобається. Крім морального задоволення є і матеріальні блага. Рівень зарплат офіційними джерелами навіть на старті перевищує середню температуру по лікарні. Наявність ДМС, знижки на фітнес або наявність залу всередині компанії, безкоштовні квитки на різні заходи і інші бонуси, звичайно ж, присутні. До того ж робота оцінюється по кількості зробленої роботи, а ніяк не за проведеним на ній часу. В IT завжди гнучкий графік і «запізнення на 15 хвилин» ніяк не буде каратися. Більше того, на це навіть ніхто не зверне увагу, тому що це дійсно нормально. Роль тестувальника — це не закінчення вашого руху, це лише точка входу. Після пари років гарної практики в тестуванні ви зможете вибрати будь-який шлях розвитку в компанії.
Чому я впевнений у вашому успіху
Як колись сказав Стів Джобс: “не Можна з'єднати точки життєвого шляху, дивлячись вперед. Їх можна поєднати, тільки озираючись у минуле". Саме цей принцип і дає мені впевненість у тому, що стати тестувальником і почати отримувати задоволення від роботи може абсолютно кожен. Є й інші приклади за останні кілька років, які тільки підтверджують доступність даної професії. У мене був якийсь Challenge Accepted. У якийсь момент до мене майже одночасно звернулися двоє людей, яких я дуже добре знав. Один з них на той момент працював в правоохоронних органах, інший був професійний військовим. Схожість ситуації була на обличчя. Вони великі молодці і з великою наполегливістю проходили приблизно описаний вище план. Таке самонавчання і пошук самої роботи у них зайняло близько трьох-чотирьох місяців. Зараз вони працюють тестерами, мають перспективи для розвитку, гнучкий графік і думаю багато чого в їхньому житті ще змінилося.
Post Scriptum
Ще раз підкреслю. Увійти в дану професію не складно. Це зможе кожен. Подальший розвиток в IT залежить вже тільки від вас.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.