Test Plan
@yakymchuk_roma
Цілі тестування
Метою тестування є покриття та перевірка тестами усіх модулів системи:
Кожна фунціональність має працювати згідно специфікації та критеріям прийомки
- Виконувати тестування згідно плану та приоритетів
- Слідкувати за тестовим покриттям за допомогою матриці трасування
- Всі заведені баги потрібно приорітезувати та внести в таблицю прогресу роботи над багами Виконувати димове, санітарне та регрусійне тестування згідно плану та таблиці Імпакт Аналізу
Типи тестування
- Функціональне тестування
- Тестування користувацького інтерфейсу Тестування бізнес циклів
- Тестування продуктивності
- Тестування ролей та прав доступу Тестування конфігурацій
- Тестування безпеки
- Тестування на відмову та відновлення
- Установочне тестування
Функціональне тестування

Проводиться виключно згідно документації та користувацьким сценаріям, ціль перевірити імплементацію бізнес правил по критеріям прийомки.
Цей вид тестування базується на техніках чорного ящика та перевіряє взаємодію користувача з вашою системою через графічний інтерфейс та аналізуємо вихідні результати. Сюди входить перевірка навігації по додатку та взаємодтя з різними формами, дейт пікерами, випадаючими списками і т. д.
Техніка проведення:
- Перевіряти кожен користувацький випадок (use case) чи функціональність використовуючи валідні та невалідні дані:
- Очікуваний результат відбувається під час використання валідних даних
- Спеціальні помилки та повідомлення викликаються в разі використання невалідних даних Всі бізнес правила виконуються успішно
Критерії завершення:
- Всі заплановані тест кейси виконано
- Всі знайдені дефекти зареєстровано до системи трекінгу приорітезовано та призначено на відповідних виконавців
Тестування користувацького інтерфейсу
Проводиться для того щоб перевірити взаємодію користувачів з додатком. GUI тестування проводиться для того щоб пересвідчитись, що юзер має доступ та може взаємодіяти з системою та кожним її елементом згідно їх очікувань. Перевірка взаємодії з кожеим полем та кнопками, всі жести свпйпи, тап екранів та скроли працюють відповідно. Всі меню, форми та нотифікації відображаються згідно дизайну.
Техніка проведення:
- Створити або обновити тести для кожного попапу, кнопок та їх стейтів, перевірити навігацію між екранами та взаємодію з кнопками.
Критерії завершення:
- Все перевірено та працює згідно розробленому дизайну та стандартам взаєіодії з UI елементами.
Тестування бізнес циклів
Повинні емулювати сценарії використання системи впродовж тривалого часу. Перевірка тарифікації, білінгів згідно закладеним в бізнес правилах логікам.
Техніка проведення:
- Всі поля, які зв’язані з часовими або значеннями дат будуть перевірятися використовуючи валідні та невалідні тестові
- Всі поля, які зв’язані з часовими або значеннями дат будуть перевірятися використовуючи валідні та невалідні тестові дані (дати чи часові проміжки).
- Всі заплановані білінги будуть виконуватися вчасно відповідно до встановленого часу персонально для кожного користувача.
- При перевірці з валідними вхідними даними система має відпрацьовувати згідно прописаним бізнес правилам. Відповідні помилки та алерти відображаються при введені некоректних даних до системи.
Критерії завершення:
- Всі заплановані тест кейси виконано
- Всі знайдені дефекти зареєстровано до системи трекінгу приорітезовано та призначено на відповідних виконавців
Тестування продуктивності

Перфоманс тест робиться для того, щоб заміряти час відповіді, кількість втрачених пакетів, час відновлення після роз’єднання або зависання датчиків, сенсорів чи самого хаба. Задача перевірити нормальне навантаження на систему та навентаження яке виходить за рамки звичайного за допомогою спеціальних скриптів.
Техніка проведення:
- Використовуються тест кейси такі ж як у функціональному та тестуванні бізнес циклів.
- Модифікувати вхідні дані щоб збільшити кількість транзакцій
- Чи збільшити кількість повторбвань одних і тих же транзакцій
- Скрипт має виконуватися на одному девайсі Android або iOS або Web в результаті чого порівнюються показники продуктивності на різних операційних системах, з різними версіями прошивки девайсів та датчиків.
- Скрипт проганяється використовуючи одиночного юзера та моделюючи багато корисувачів одночасно взаємодіють з системою.
Критерії завершення:
- Успішне завершення всіх скриптів без збоїв в межах очікуваного або необхідного часу прописаним в критеріях до виконання транзакцій.
- Всі знайдені дефекти зареєстровано до системи трекінгу приорітезовано та призначено на відповідних виконавців.
Тестування ролей та прав доступу

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

Перевіряє конфігурації різних версій прошивок на девайсах та хабі. Перевірку на тестовому, девелопмент та продуктовому середовищі. Тестування різних з’єднань Wifi/Ethernet та швидкостях. Також потрібно враховувати версії фірмвару та збірок hardware та версій датчиків та сенсорів. Також в рамках цього тестування перевіряти версії Odoo та додатків встановлених на телефонах.
Техніка проведення:
- Зробити табличку з версіонуванням програмного забезпечення та всіх версій встановлених в продакшені Зробити табличку по різним версіям мобільних девайсів та версій додатуів OMO встановлених на телефонах користувачів
- Провести функціональне тестування з різними версіями і конфігураціями девайсів
Критерії завершення:
- Всі тести виконані згідно розробленим сценаріям та конфігураціям прав доступу
- Всі знайдені дефекти зареєстровано до системи трекінгу приорітезовано та призначено на відповідних виконавців.
- Всі знайдені дефекти зареєстровано до системи трекінгу приорітезовано та призначено на відповідних виконавців.
Тестування на відмову та відновлення

Тестування на відмову та відновлення гарантує, що об’єкт тестування може успішно перейти у стан відмови (непрацездатності) та відновитися після різноманітних збоїв обладнання, програмного забезпечення або мережі з надмірною втратою даних або цілісності даних. Тестування на відновлення потреує спеціальних суенаріїв які заставлясь систему вийти з ладу або порушити її звичайну роботу. Повині постійно моніторитись та аналізуватися показники системи. Та зроблені спеціальні бекапи для швидкого відновлення системи.
Техніка проведення:
- Повині бути продумані сценарії використання та земульовані ситуації виходу системи з ладу:
- Перебої з провідним живленням девайсів
- Батарейки на низькому заряді у датчиків та сенсорів
- Температура навколишнього середовища
- Перебої роботи серверів
- Пребой з мережею емуляція сповільнення швидкості мережі
- Перевірка фізичного дісконекта від мережі відключення ethernet з’єднання
Критерії завершення:
- Система повина відновитися після проведення тестування на відмову до стандартного стану.
- Всі логи з звітами про помилки, втраченні данні та звіти про припинення або переривання роьоти системи мають бути задокументовані або залоговані в системі для подальшого аналізу
- Всі знайдені дефекти зареєстровано до системи трекінгу приорітезовано та призначено на відповідних виконавців.
Установочне тестування
Тестування інсталяциї має дві цілі:
- Перевірити що софт може бути інстальований на різні девайси, а також обновлення версії прошивки. Також враховувати що на хабі достатньо пам’яті для завершення інсталювання програмного забезпечення
- Інша ціль перевірити що установлене ПЗ працює коректно згідно вимогам, це значить що для цього достатньо провести димове тестування, щоб бути впевненим що програмне забезпечення після установки/обновлення прошивок працює коректно.
Техніка проведення:
- Перевірити установку програмного забезпечення на систему де не було раніше встановлено прошивок Перевірити установку нової версії прошивки
- Перевірити встановлення такої ж самої версії, як була встановлена вже на девайсі
- Перевірити встановлення старішої версії програмного забезпечення на девайсах
- Провести функціональне тестування або запустити автоматизовані скрипти які перевірять установку прошивок Перевірити що всі доступи та привілегії доступні для встановлення чи створення нових директорій чи запису файлів.
Критерії завершення:
- Всі заплановані тест кейси виконано
- Всі знайдені дефекти зареєстровано до системи трекінгу приорітезовано та призначено на відповідних виконавців
Інструменти
Нижченаведені інструменти будуть використовуватись для тестування цього проекту:
- Test Management - TestRail
- Defect Tracking - Jira
- Mind Mapping - Miro
- Traceability Matrix - Google spreadsheets
- Impact Analysis - Google spreadsheets
- Bug progress tracking - Jira filter widget
- Documentation storage - Confluence
- Tables of Configurations Versioning - Google spreadsheets
Основні етапи проекту
- Тест план
- Декомпозиція кожної частини продукту
- Оцінка тестування
- Тест дизайн
- Виконання тестування
Результати

- Тест репорт
- Таблиця статусу багів Документ з ретроспективою