Помітно, сучасна індустрія IT у цілому світі – вражаюче розвивається. Сфера тестування програмного забезпечення пропорційно переживає неабиякий прогрес. Водночас, потреба в постачанні якісних програмних рішень ніколи не була настільки насущною!
    Хоча кількість осіб, які пов’язують свою кар’єру з тестуванням програмного забезпечення – зростає у геометричній прогресії з кожним днем. Компаніям доводиться витрачати доволі багато часу й зусиль, щоб найняти підходящого кандидата QA, для досягнення своїх цілей проекту.
    Правильно, кожен має свій характер і особливості мислення. Звідси кожній компанії потрібно віднайти «свого» професіонала із забезпечення якості тестування, професіонала який ясно зрозуміє, що від нього хочуть, від чого залежить успіх проекту, і що саме потрібно для його досягнення. Іншими словами, як то кажуть дивився би «у корінь справи». Плюс його погляди на усі 99,9% співпадали з місією компанії.

Схема як стати хорошим тестером

Quality Assurance Group приєднується до думки: у загальному фахівець по QA, мусить володіти навичками, зазначених нижче критеріїв.

Аналітичне і логічне мислення:

     Аналітичні здібності та хороша здатність мислити – цінний природний людський актив, але для тестера в його роботі цей актив набуває вельми грандіозного значення. Тому виділяємо цей критерій на перше місце.
    Чому? Основна мета тестування – вчасно розпізнати помилки, а не просто доводити, що програмне забезпечення працює. І щоб тестер був ефективним у своїй ролі, він повинен бути здатним аналізувати й оцінювати всі можливі й неможливі ситуації та сценарії. А справжньому професіоналу узагалі на рівні чуття потрібно на око бачити незнайомі чи приховані помилки, якомога швидше вирішувати вкрай складні нестандартні проблеми – формулювати вірну стратегію їх представлення клієнту. Ось, лише людина обдарована сильними аналітичними здібностями, зможе найкраще згенерувати матрицю ймовірних ситуацій і майстерно перевірити усі її сценарії. Щоразу під час робочого процесу по театральному перевтілюватися – ставити себе на місце кінцевого споживача, влазити в чужу клієнтську шкіру.
    Працюючи зі складними системами, тестувальнику потрібно уміти з однієї сторони розглядати програму цілісно, пам’ятати її стратегію визначену керівництвом. А з іншої сторони розбивати програму на керовані фрагменти, аналізувати взаємозв’язки між функціональними фрагментами коду, при потребі налагоджувати їх за допомогою логічних підходів. Він також повинен вміти розпізнавати протиріччя, надмірність, наслідковість у коді, щоб допомогти розробникам зробити код гарним, послідовним і недвозначним.

Здатність уявити цілісність усієї бізнес-концепції:

    Спеціаліст по QA повинен не тільки представляти бізнес-сценарії в режимі реального часу, але й абстрагувати на майбутнє кінцевий проект згідно специфікацій наданих клієнтом. Тобто спеціалісту по QA потрібно бути здатним однаково добре розглядати проект під різними кутами зору на різних відрізках часового простору.
   Із цією метою бізнес-сценарії в режимі реального часу вартувало би візуалізовувати в щось матеріальне і завше бути приготовані до передачі на першу ж вимогу. Блок-схеми, презентації, моделі, деякі спеціалісти надають перевагу коментарям та спискам.
   Але в той же час роботу «сьогодні на зараз» слід пропрацьовувати планомірно, а не перестрибувати думками, якою окрема деталь повинна бути ідеальною по завершенню. Важливо! Найдені баги візуалізовувати та формулювати у міру надходження також.
    І вище окреслене моделювання системи не повинно бути проблемою, як для досвідченого тестувальника, так і новачкам щойно увійшовшим у тестування.
   У сьогоднішній практиці бізнес-сценарії якраз саме те що треба! Оскільки не завжди виходить виділити час на заплановані сеанси мозкового штурму (brainstorming – форма групової взаємодії). А тестувальник має знати, що він має робити?! Грамотні матеріали розбивають процес на елементарні кроки, які легко зрозуміти й контролювати. Візуалізовані концепції допомагають виконувати вимоги тасків без зволікань, причому самотужки «під ключ». Та вважайте, аби деталізація не виявилася перебільшеною до виникнення незрозумілостей.

Отже, підсумуємо трішечки для кращого розуміння: знання бізнесу – це бажана риса професіонала в галузі якості ІТ. І означає, що тестеру необхідно орієнтуватися у проекті на цілісному рівні, розуміти, як конкретний шматок коду вписується у загальну картину, а щоб це бачити потрібні картинки – дорожня карта, візуалізовані засоби.

Майстерність у забаві – «зламай мене якщо зможеш?!»

    В основі ця фраза означає, що тестувальник зобов’язаний тестувати, тримати програмний продукт у руках, випробовувати, мучити доки він не зламається, та не настане «Упс» «crash» «@#!» «Занавіс» – щось у цьому роді. Логічно такий тест у повній мірі надає інформацію для дослідження критичних  недоліків програмного продукту.
    Звідси значить, що окрім акуратності та послідовності у роботі, тестувальник повинен ще нестандартно мислити, працюючи з частинами коду, находити вдалі «больові точки» програмного забезпечення, точніше висловитися…найслабші місця. Демонструвати деякий креатив… Добре навіть коли тестувальник буде трохи авантюрним при проведенні цього тестування.  Бо цей вид тестування вкрай позитивний на наш погляд, адже жодним чином не перешкоджає своєчасній доставці програмного продукту клієнту по усіх специфікаціях.

Схема баг-репортінг
    Вичерпні відповіді на питання тестера – хороша допомога у виявленні «слабких точок» Але щоб отримати відповіді, які насправді допоможуть процесу тестування, відповідно слід правильно ставити ці питання. Додаємо тестувальнику, для вдалої командної взаємодії, необхідно ще володіти soft-skill, щоб взалежності від необхідної ситуації в момент зорієнтовуватися у між відносинах.

Glocal підхід:

    Термін Glocal точно описує вислів: «Найкраще мислити глобально але діяти локально»  Приклад: масштабні світові компанії з потужним брендом, стратегією, з великою мережею філіалів – глобальні, але локальні у прийнятті своїх рішень на місцях.
    Оскільки більшість програмних продуктів в наші дні мають кілька зацікавлених сторін і безліч вимог, яких слід дотримуватися на декількох рівнях.  Тестеру доцільно передбачити як система взаємодіятиме з яким завгодно суб’єктом: кінцевим користувачем, розробником, ін. учасниками команди, інколи безпосередньо з клієнтом. Але при потребі абстрагуватися від усіх суб’єктів з їх валідацією та тестувати систему цілісно.


Дедукція сер – неупередженість, критична думка і раціональний наслідок:

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

360 Degrees Quality Assurance Program

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

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

    Розібратися, то професійні знання тестувальника складаються із поєднання: однотипних наборів теоретичних правил, яких до прикладу навчили на курсах, досвіду, отриманого з проб та помилок, інтуіціїі, експертних порад, якщо такі є. Ці знання повинні час від часу проявлятися тестером, коли ситуація вимагає цього.
   Зверніть увагу! Специфіка тестування така, що той «чемодан знань» не завжди можна чітко застосувати. Знання тестувальника дуже залежні від контексту.

Продовжуйте вчитися:

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

Навички планування та управління часом:

    У тестувальника і фахівця QA повинна бути добре спланована стратегія або підхід до тестування компонентів коду, ввірених йому. І цей план пасувало би скласти ще до тестування коду. Плану слід охоплювати усі елементи та функції, які повинні бути протестовані на усіх рівнях. Такі речі, як pass/fail criteria, suspension/resumption criteria  та сам графік тестування, також важливі при тестуванні коду.
    Контролювати хід виконання плану, дотримуватися плану, з системою feedback – важливо. Так щоб у будь-який момент часу могли перевірити результат праці і дізнатися: хто, що, де, коли, навіщо і як.
Ефективні навички спілкування:
    Тестер завжди повинен повідомити про виникнення у ході роботи проблем, команді розробників і team-lead над тестерами. Тому кожному важливо працювати над комунікативними навичками – як усними, так і письмовими, для того, щоб найбільш ефективно й зрозуміло викладати суть проблем, з якими вони стикаються. На важливості володіння навичками soft-skill ми уже наголошували, тут повторюємо.

Експертність:

    Це означає, що тестувальник повинен бути експертом не лише у своїй області – «моя хата скраю, я нічого не знаю» але й добре розуміти програмний продукт над яким працює (як мінімум на рівні розробника). Тестеру добре знати всі входи і виходи програмного продукту з тим, як програмне забезпечення відрізняється від того, як воно задумане і працює. Тестер повинен добре розуміти, які точки зупинки додати.

Людська пам’ять ненадійна – документуйте по максимуму.

Висновок:

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

Related posts

Leave a Comment

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.