Як організувати тестовий процес — чіткі вказівки Manual QA Engineer початківцю

Урррра!!! Перший оффер!!! Робота QA. Нарешті ціль #1 досягнута!!! Ага, і цілком природно коли тестувальники початківці вперше потрапляють на реальний проект вони губляться. У них немає розуміння з чого почати та як краще організувати свою роботу. А крім того, як правило, усі свої завдання новобранці намагаються виконувати традиційними методами: Copy Paste, Print Screen у Google Drive доках, табличках XLS, Блокнотику Windows або у Notepad++. Я не жартую, я бачила тест-кейси і метрики навіть набрані у Ворді, г-г-г! 

Йой!

Я не кажу, що вищеперелічені інструменти є поганими, що з ними не виконати поставлених задач. Хочеться просто розкрити очі новачкам у тестуванні, що існує ще багато корисних інструментів для тестувальника, які допоможуть бути дещо ефективнішими, саме ручним тестувальникам (Manual QA Engineer), бо зазвичай це і є перша робота і посада тестувальника початківця.

Тому, давайте цей допис ми зробимо таким… трохи збірником матеріалів з нашого блогу тестувальників #QAinfo, де спробуємо узагальнити разом матеріал із багатьох наших статей. Якщо деяких логічних частин не вистачає поки — очікуйте згодом допишемо, або ж будемо вдячні за допомогу Вам 🙂

Для повної ясності, давайте розпочнемо з визначення, що таке ручне тестування ПЗ?

Логічно із назви, ручне тестування (Manual Software Testing) проводиться вручну, тобто для проведення такого типу тестування програмного забезпечення не потрібно використовувати ніякі автоматизовані засоби (скажімо писати кодити скрипти на мовах програмування, використовувати фреймворки, спеціалізовані програми).

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

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

Звідси і походить назва посади Manual QA Engineer — людина, яка проводить ручне тестування.

Ручне тестування — це функціональне дослідницьке тестування. Black Box Testing. Ручне тестування також може проводитися у рамках інтеграційного тестування (взаємодія з іншими програмами і системами), регресійного тестування (тестування різних змін). Usability — тестування зручності використання системи майже завжди здійснюється у ручну.

Стосовно організації тестового процесу ключовий момент у ручному тестуванні, щоб не потонути у рутині  — це чітко розуміти, що за чим потрібно ефективно робити із позначкою правильного пріоритету !!! Й Не забувайте, Ви тестувальники не одні на проекті, є ще команда розробки, менеджерська ланка з ними потрібно звісно узгоджувати свої дії.

Отже, для організації тестового процесу, щоб усе пройшло, як по маслу, радимо в загальному тестування поділити на етапи:

Етапи тестування: що? коли? як?

Підготовчий етап тестування

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

Корисні посилання до теми:

Основний етап

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

Підсумковий етап

На завершальному етапі ручного тестування розробляються і узгоджуються звіти про проведення тестування. Звіти (Репорти) включають у себе список виявлених багів та відхилень у поведінці системи. Класно якщо на основі звітів сформовані метрики.

Передаємо Великий Привіт! Першому координатору нашого коворкінгу Галині, вона пропонувала студентам проводити тестування за наступним переліком того що за чим потрібно протестовувати:

  1. Test Analysis => на цьому етапі аналізуємо, як не має, то формуємо і пишемо Requirements, задаємо необхідні Clarification Questions.
  2. Test Planning => усе просто складаємо Test Plan
  3. Test Design => прописуємо свої Test Case, теж пишемо або підбираємо існуючі вже Check list
  4. Test Execution => наш основний етап виконання тестування.
  5. RTM => Збираємо статистику, будуємо Traceability Matrix, яка відображатиме покриття тестами нашої аплікації.
  6. Test Summary Report => це підсумковий етап тестування.

Корисні інструменти тестувальника

Для щоб етап виконання пройшов якомога швидше, ефективніше і вдався якісно, рекомендуємо використовувати різноманітні інструменти в поміч собі. Для ручного тестування ПЗ їх є безліч, тільки спробуй загугли. Ми їх погрупували наступним чином:

Планувальники завдань

Для того, щоб процес тестування не затягувався, був виконаний вчасно, важливо усі дії правильно розподілити між учасниками команди, а свої розпланувати. Ставити завдання, отримувати нагадування і викреслювати зі списку виконане можна навіть за допомогою корпоративної пошти в MS Outlook. Хоча набагато ефективніше, особливо, коли завдань більше, аніж здається використовувати для цього спеціальні інструменти, на зразок Evernote. Для планування командної роботи відмінно підходить Trello. Для спілкування, чатів класний #slack. Дошка Kanban у Jira має трішки обмежені можливості для повної координації дій.

TimeTracker допоможуть контролювати власні час і ефективність, щоб засікти скільки точно часу було витрачено на те чи інше завдання. Таймтрекерів можна використати розширення для браузера Chrome TrackingTime, досить не поганий додаток Clockify — його перевага, що він підійде для команд.

Майнд мапи (інтелект-карти, ментальні карти, карти розуму)

Оскільки наш мозок не завжди добре сприймає інформацію у вигляді текстів, списків і таблиць, її можна візуалізувати. Діаграма зв’язків або інтелект-карта — це відмінний спосіб структурування завдань (а також думок і планів). Якщо додати в Mind Map дані про тести, які потрібно провести, то відразу стане зрозуміло, скільки їх, які між ними взаємозв’язки, чи є серед них щось зайве або щось відсутнє, загубили? За допомогою інтелект-карт так само можна зобразити порядок своїх дій, етапи роботи та навіть план тестування можна представити у вигляді інтелект карти. Більш детальніше, що таке Mind Map пропонуємо ознайомитися у наступному дописі

Існує багато безкоштовних онлайн-інструментів для створення таких карт. Більшість ми перераховуємо у цьому дописі:

UML діаграми

Схоже поняття на ментальні карти для тестувальника є UML діаграми. UML — (англ. Unified Modeling Language) — уніфікована мова об’єктно-орієнтованого моделювання. Тестувальники переважно використовують UML для чеклістів для того щоб відображати дії, шлях користувача у end-to-end тестуванні.

Багтрекінгові системи

Наприклад, управління тестуванням може вестися в таких спеціалізованих системах, як Redmine, Jira, TestRail, TestLink, HP ALM, IBM Rational Quality Manager, MS Team Foundation Server, та інших.

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

Чек-листи

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

Можна використовувати вже готові списки чек-листи, складені і люб’язно вивантажені іншими тестувальниками в мережу, а можна підготувати свої власні чек-листи і звірятися з ними, наприклад, перед приймальним тестуванням.

Один з найбільш зручних інструментів для створення чек-листів — традиційно TestRail. Це  онлайн-сервіс, в якому легко завести свої тест-кейси, чек-листи, зберігати результати, ділитися ними з командою, переглядати звітність і статистику.

Якщо чек лист не великий і не складний згодиться і xls табличка.

Генератори тестових даних

Практика й досвід показує, багато тестувальників використовують у своїй роботі тестові файли з одними і тими ж тестовими даними. На жаль, це призводить до того, що баги «звикають» до тестів і з часом перестають працювати зовсім ( «ефект пестициду»). Щоб не ламати собі мізки перед кожним проектом, можна використовувати спеціальні інструменти, які вміють з легкістю генерувати тестові дані.

Браузерні плагіни розширення

Ще один відмінний безкоштовний інструмент для тестувальника, який завжди може бути під рукою і незамінний для дослідницького тестування. Наприклад, плагін Bug Magnet. Він підходить для браузерів Chrome і Firefox, і містить встановлені набори тестових даних, які, до того ж, завбачливо розбити на групи (мова, формат, довжина). Крім збережених даних, можна додавати і використовувати свої. Плагіном Grammarly можна контролювати свою грамотність і виправляти помилки в англійській при написанні документації або тест-кейсів.

З іншими плагінами для тестувальників пропонуємо ознайомитися у дописі:

Інструменти для роботи зі знімками з екранів і запису відео з вмістом

Для ручного тестування ПЗ скріншотери просто життєво необхідні. Мабуть, один з кращих GreenShot. Він безкоштовний, з відкритим вихідним кодом. Крім того, є Snagit, ScreenHunter, Snipping Tool, Monosnap і багато інших. Більшість теж мають плагіни у браузерах. Imgur — популярний сервіс поширювати скріншоти не забувайте.

Що стосується інструментів для запису відео з вмістом екрана, то одні з кращих — Free Screen Video Recorder і Ashampoo Snap. Серед цікавих рішень — CamStudio, Jing, які дозволяють робити скрінкасти (відеозахват екрану з мовним супроводом).

Іноді буває потрібна анімація (GIF-файли). У цих випадках допоможуть LICEcap і Recordit, які легко і швидко зберігають записане відео в GIF.

Тим, кому доводиться іноді порівнювати графічні файли, варто звернути увагу на ImageDupeless, ImageDiscerner і FastStone Image Viewer.

Текстові редактори і редактори коду

Для пошуку, конвертації і редагування файлів дуже зручно використовувати Notepad ++ . Це майже той самий Блокнот для Windows, тільки з відкритим вихідним кодом і підтримує синтаксис великого числа мов програмування (написаний на C ++).

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

Хороші XML-редактори: Altova XML Spy (робота з XML і XSD), а також XMLPad ( XSL).

Файлові менеджери

Серед файлових менеджерів можу виділити свій улюблений Total Commander (для Windows і Android, може з’єднуватися з FTP-серверами). Free Commander (безкоштовний, з можливістю групового перейменування і порівняння файлів), FileZilla — багато хто використовує, бо він має графічну оболонку, trolCommander (багатоплатформовий, написаний на Java) і Far Manager (консольний).

Спеціалізовані додатки

Що до цієї когорти слід віднести, мені складно все і одразу пригадати… Скажімо додаток зміни геолокації, VPN зміни ІР, емулятори, симулятори різні.

Підсумки:

Звичайно, це далеко не все. У кожного тест-інженера з тестування є свій «портфельчик інструментів», яким він активно користується (і який рекомендує), але я рекомендую не зупинятися в пошуках кращих засобів і рішень, а обов’язково пробувати нові і продовжувати вчитися… тестувати, імпровізувати, створюючи божевільні сценарії у тест-кейсах, які ніколи не прийдуть в голову користувачеві, але можуть бути здійснені ним випадково… Удачі!

Related posts

Leave a Comment

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