Чекліст – це список, який містить ряд необхідних перевірок під час тестування програмного продукту. Відмічаючи пункти списку, команда або тестувальник можуть дізнатися про поточний стан виконаної роботи та про якість продукту. Працюючи над проєктом за чеклістом, виключається ймовірність повторної перевірки за тими ж кейсами, а також підвищується якість тестування, так як ймовірність залишити без уваги якийсь функціонал суттєво знижується. Тому дуже важливо знати елементи чекліста та вміти ним ефективно користуватися. Як правило, чеклісти роблять в Google-таблицях для забезпечення загального доступу всім QA-фахівцям.
З чого складаються чеклісти
Чеклісти організовані дуже просто. Вони складаються з переліку блоків, секцій, сторінок, інших елементів, які слід протестувати, наприклад:
Пункти можуть містити як лінійну структуру, так і деревоподібну, з розділами/підрозділами або без них. Пункти повинні бути максимально короткими та в той же час зрозумілими тестувальникам, які ще не знайомі з додатком. Пункти повинні бути однозначними, щоб їх не можна було зрозуміти якось інакше. Всі пункти повинні бути оформлені однією мовою: українською чи англійською.
Як правило, кожен чекліст має кілька стовпців. Кожен стовпець призначений для тестування на окремій платформі. Слід завжди вказувати назву пристрою, назву браузера та його версію.
Тестувати сайт або додаток може декілька людей одночасно. У цьому випадку кожен тестувальник бере по одній-дві платформі та тестує тільки на них. В такому випадку біля кожної платформи необхідно вказати тестувальника, який виконує зазначений обсяг робіт.
При проходженні чекліста тестувальник зазначає статус навпроти кожного пункту, який протестовано. Можливі такі варіанти статусів:
- «Passed» – перевірка пройдена успішно, багів не знайдено;
- «Failed» – знайдений один або більше багів;
- «Blocked» – неможливо перевірити, тому що один з багів блокує поточну перевірку
- «In Progress» – поточний пункт, над яким працює тестувальник;
- «Not run» – ще не перевірено;
- «Skipped» – пункт перевірятися не буде з певної причини. Наприклад, поточний функціонал ще не реалізований.
Для більшої зручності, як правило, кожен статус має свій колір.
Після завершення тестування не повинно бути комірок, що позначені «Not run».
Всі посилання на баг-репорти, які були знайдені у процесі проходження чекліста, повинні бути додані в примітки до комірок зі статусом «Failed».
Цілком припустимо додавати примітки до деяких комірок з іншими статусами, якщо це необхідно.
Для комірок зі статусом «Blocked» примітки з посиланнями на баг-репорти також обов'язкові. Однак, як правило, примітка в комірці зі статусом «Blocked» посилається на раніше заведений баг-репорт, який в одному з попередніх пунктів вже відмічений як «Failed». Іншими словами: пункт, одного разу зазначений як «Failed» може бути блокером для декількох або всіх наступних пунктів чекліста. Розглянемо приклад:
Тут видно, що є два різних бага. Припустимо, перший баг в браузері Chrome – функціонал не працює. У цьому випадку ми заводимо баг-репорт та відмічаємо поточний пункт як «Failed». Всі інші пункти будуть позначені як «Blocked», тому що їх неможливо буде протестувати.
Приблизно те ж саме і з браузером Firefox. Баг-репорт оформлюється на те, що неможливо відправити лист, а усі інші пункти, які пов'язані з відправкою, немає можливості перевірити. Тому відзначаємо їх як «Blocked», вказуючи посилання на той самий баг-репорт.
Відзначимо кілька основних моментів, які варто враховувати при роботі з чеклістами:
- Після завершення проходження чекліста, у ньому не повинно залишитися комірок зі статусом «Not run».
- Всі комірки зі статусом «Failed» та «Blocked» обов'язково повинні мати примітки з посиланнями на баг-репорти.
- Статус «Passed» встановлюється тільки для пунктів, які перевірені та не містять помилок.
Правила складання чеклістів
Для складання ефективного чекліста сформулюємо декілька правил.
- Один пункт – одна операція. Пункти чекліста – це однозначні атомарні та повні операції. Наприклад, додавання товару до кошику на сайті та оплата замовлення – дві різні задачі. У списку перевірок подібні операції оформлюються окремими пунктами: додати товар до кошику, оплатити замовлення.
- Пункти починаються з іменника або дієслова невизначеної форми. Мета чекліста – врахувати всі дії для найбільш повного покриття тестами ПЗ, тому складаючи пункти слід дотримуватися уніфікованої форми. Для зрозумілого та однозначного уявлення, пункти краще починати з іменника – «Перевірка», «Додавання», «Відправлення» або дієслова невизначеної форми – «Перевірити», «Додати», «Відправити».
- Складання чекліста за рівнями деталізації. Для зручності проходження чекліста краще додавати тести в такому порядку, який буде послідовним, виходячи з логіки використання функціоналу. Наприклад, в рамках розділу «Реєстрація та Особистий профіль» спершу додати реєстрацію на сайті, а потім – редагування профілю. У розділ з формою зворотного зв'язку спочатку додати пункт перевірки валідації полів, а потім – перевірку відправки та доставки листа.
Переваги використання чеклістів
- Використання чеклістів сприяє структуруванню інформації у співробітника.
- При правильному записі необхідних дій у співробітника з'являється однозначне розуміння завдань. Це сприяє підвищенню швидкості навчання нових співробітників.
- Чеклісти допомагають уникнути невизначеності та помилок, що пов'язані з людським фактором. Збільшується покриття тестами програмного продукту.
- Підвищується ступінь взаємозамінності співробітників.
- Економія робочого часу. Написавши чекліст одного разу, його можна використовувати повторно, з огляду на актуальність інформації. Використання чеклістів – один із прийомів підвищення бас-фактора. У сфері розробки програмного забезпечення бас-фактор проєкту («bus factor» – фактор автобуса) – це міра зосередження інформації серед окремих членів проєкту.
Хороший чекліст – це документ, що описує те, що має бути протестовано. При цьому чекліст може бути абсолютно різного рівня деталізації. Наскільки детальним буде чекліст залежить від вимог до звітності, рівня знання продукту співробітниками та складності продукту.
Чекліст потрібен щоб:
- Не забути необхідні тести.
- Ділити завдання за рівнем кваліфікації.
- Зберігати звітність та результати тестування.
Чекліст містить:
- Список перевірок (з необхідним ступенем деталізації).
- Оточення перевірки:
- збірка, на якій проводилося тестування;
- тестове оточення (якщо є);
- інформація про тестувальників. - Результат перевірки.