IT-розслідування: як стати тестувальником програмного забезпечення

32

Від автора: кажуть, що простому обивателеві краще не знати, як робляться дві речі: ковбаса і політика. Але є ще дещо: це програмне забезпечення. Тільки тестувальники знають, з якою кількістю дефектів приїжджає в продакшн та чи інша програма, і ця інформація схоже державної таємниці. Як ви вже, напевно, здогадалися, сьогодні ми поговоримо про те, як стати тестувальником програмного забезпечення.

Дефекти є скрізь: в мікрохвильовці, фотоапарат, айфоне і, звичайно ж, комп’ютері, зокрема, у програмному забезпеченні. Ніж той або інший дефект може обернутися, вгадати важко. Найчастіше — сумом і болем.

Щоб це запобігти до виходу програмного продукту у світ, потрібні фахівці з тестування. У деяких великих компаніях на одного програміста може доводитися до трьох тестувальників.

Завдання, які ставляться перед тестувальником

Сама першочергове завдання — знайти в грі або додатку якомога більше проблем і помилок до релізу. Для того щоб полегшити собі завдання, фахівець з тестування може розробляти свої власні алгоритми.

Слово «тестувати» означає «перевіряти, верифікувати» — тобто, підтверджувати, що функціональність програми відповідає заявленій. Або не відповідає.

Тестувальник повинен вести себе так, як веде себе середньостатистичний користувач програми або гри, перевірити всі можливі варіанти використання програмного продукту — як цільових, так і нецільові.

Для тестування потрібно глибоко зануритися в предметну область. Якщо перевіряєш, наприклад, 1С:Бухгалтерія, то заглиблюєшся в бухгалтерську тему, якщо працюєш з графічним редактором, вивчаєш графіком, і т. д. Навчання тестувальника програмного забезпечення — це безперервний процес самовдосконалення.

Взагалі, робота тестувальника нагадує роботу детектива: він йде по гарячих слідах розробників і вишукує помилки, тобто помилки. У хід йде улюблений прийом Шерлока Холмса — дедукція.

Щоб відшукати проблему в надрах програми (її коді), іноді доводиться бути винахідливим, проводити розслідування, задавати потрібні питання програмістам. Професіонал ніколи не обмежиться стандартним чек-листом, він постійно придумує нові шляхи і комбінації, власні способи тестування продукту. Ось як проходять робочі дні тестувальника.

Трохи з історії тестування

Знаєте, коли тестувальники відзначають своє професійне свято? 9 вересня. Саме в цей день у 1945 році вчені з Гарварду тестували обчислювальну машину і знайшли в ній метелика, яка застрягла в електромеханічному реле.
Вони докладно документували виконану роботу і внесли в звіт слово «дебаггинг» («debugging»), що означає «звільнення від комахи». Тепер на мові тестувальників це слово використовується для позначення процесу пошуку і усунення багів — причин неправильної роботи обладнання, програми або гри.

Як і де вчитися на тестувальника?

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

Чомусь вважається, що ця сфера має досить низький поріг для входження. Мовляв, ласкаво просимо і вантажники, і домогосподарки, і будівельники. Зі свого досвіду можу сказати, що курси з тестування для новачків — це дорого, довго і неефективно.

Чому? По-перше, вчитель доводилося по пів-уроку пояснювати деяким індивідуумам, де знайти ту чи іншу кнопочку, що таке база даних і т. д. тобто, ті моменти, які я знаю. Потім по реально цікавим і значущим темами ми пробегались «галопом по європах», т. к. часу на їх докладне пояснення вже не залишалося.

По-друге, на курсах часто вчать речам, дуже віддаленим від реального життя. Більше теорії, ніж практики.

По-третє, навіщо ходити на курси, якщо є онлайн-уроки з тестування, форуми, книги, в кінці кінців. Найчастіше новачкам радять читати «Біблію тестувальника» Сема Канера, «Тестування DOT COM» і «Тестування веб-проектів» Романа Савіна. Все, що вам розкажуть на курсах, взято з Гугла і книг, тільки проаналізовано та структуровано.

Що потрібно знати тестировщику

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

Розберіться з поняттями: чек-лист, тест-кейс, баг репорт, методи і моделі тестування і т. п. Перегляньте різні сайти, присвячені тестування. Зверніть увагу на те, які прийняті для визначення яких позначень. Таким чином, на співбесіді ви вже зможете мати «у рукаві» кілька варіантів відповіді, що допоможе описати проблему та її вирішення.

Після того, як ви ознайомитеся з базовими поняттями, приступайте до практики. Спробуйте написати баг-репорт або тест-кейс. Розпишіть, як би ви тестували той чи інший предмет, наприклад, кавоварку або олівець.

Крім цього, вам знадобиться знання англійської мови. Це дозволить працювати з іноземними розробниками. А таких більшість, вже повірте. Англійська раджу вчити з самого початку, щоб його вивчення проходило паралельно іншим технологіям.

Попрактикуйтесь у написанні запитів до баз даних. Стандартні запитання SQL, які вам можуть задати на співбесіді: select, join (full, left, right), update, like, delete, where, functions, insert. І це мінімум — краще орієнтуватися і в інших поняттях.

Важливі знання принципів роботи мереж. Ви повинні вміти налаштувати локальну мережу, знати, що таке HTTP, TCP/IP, OSI, PING між комп’ютерами.

Для тих або інших проектів можуть знадобитися знання з JSON, XPath, Jira, TestComplete, GIT, HTML, CSS, SVN, RedMine, XML, Ranorex, Selenium RC/GRID, CssSelectors, TrackStudio і т. д. Більшість з цих програм і технологій навчаються за тиждень. Так що не переживайте, якщо бачите незнайомі слова.

Як знайти роботу тестувальником?

Весь отриманий каркас знань допоможе вам отримати першу роботу. Найважливіше для вас — це потрапити в сферу IT, напрацювати досвід. Тому не соромтеся невеликих зарплат на перших порах. Завдяки хорошій запису в резюме для вас надалі відкриється більше дверей.

Якщо у вас є знайомий програміст, можете запропонувати йому безкоштовно протестувати його програми;

багато компаній не розміщують свої вакансії на сайтах пошуку роботи. Тому краще вибрати вподобані вам компанії, а потім заходите на їх офіційні сайти в розділ «Вакансії» і відправляйте резюме безпосередньо у відділ кадрів;

ще один варіант — зареєструватися на біржі і попрацювати там в якості фрілансера. Знову ж таки, спочатку буде нелегко, замовники будуть дивитися на ваш досвід і відгуки, які ще потрібно заробити.

Якщо ця інформація була вам корисна, поділіться статтею з друзями — можливо у них теж є талант тестувальника. Підписуйтесь на оновлення, і ви дізнаєтеся багато цікавого про інших інтернет-професіях, технологіях сайтобудування, мови програмування і т. д. Удачі і до нових зустрічей!