App Testing Checklist 🇺🇦
GUI
API
верстка
- наявність всіх елементів
- їх розмір і колір
- розташування відносно один одного
- порівняння з макетом -- PerfectPixel
- перевірка розмірів елемента -- Page Ruler
- правильність шрифтів -- WhatFont
- кольори інтерфейсу -- ColorZilla
- контент (орфографічні, граматичні помилки) -- Spell Checker
- курсор (перевірити як виглядає та чи з'являється на сторінці, у полях вводу та на клікабельних елементах)
- тултіп (браузерний чи кастомний)
- favicon
- title сторінки
- позначення можливості drag-&-drop-нути елемент
- кодування (UTF...)
- валідація HTML/CSS -- w3
- усі заголовки мають бути одного стандарту
- Back button (в т.ч. збереження інпут даних у формах при навігації назад-вперед)
-zoom in / zoom out - масштабування -- Window Resizer
- режим адаптивного дизайну
- кросбраузерність, сторінка може виглядати по іншому в різних браузерах
локалізація
- (вибірковий) переклад тексту перекладачем
- довжина перекладених слів може бути більше, що може зламати верстку
- скорочення/абревіатури можуть перекладатися або ні
- валюта
- перевірка результатів пошуку у різних локалізаціях (може відрізнятись к-сть)
- мета дані веб сторінки
- right to left languages (арабський, іврит)
Functional
hotkeys
- enter має працювати як submit
- tab має переводити курсор на наступний елемент, space вибирає елемент під курсором
- esc, ctrl+c, ctrl+v, ctrl+a ...
поля вводу
- trimming пробілів на початку на в кінці
- пустота/пробіл у полі вводу
- всі способи редагування (Insert, Delete, Backspace, Ctrl+C/V/X/Z і т. д.)
- дроби ( 1.5 | 1,5 | ⅕)
- різні реєстри, ВЕРХНІЙ, нижній, ЗмішаниЙ
пошук
- wildcard symbols (* | ?)
- написання пошукового запиту разом/окремо/через дефіс має повертати той самий результат
- введення тексту в іншій розкладці
календар
- 31 червня
- 29 лютого + не високосний рік
- дата < 01.01.1970
- минуле/майбутнє (напр. купити квиток на минулу дату)
час
- синхронізація з сервером (на сервері може бути виставлений час відмінний від таймзони клієнта)
- часові пояси
- логін (63 символи) @ домен (253 символи (може бути ip))
спливаючі вікна / підказки
- пробуємо закрити різними способами (кнопка (якщо є), хрестик, esc, кліком за межами)
Usability
на що звернути увагу
- чи відповідає ПЗ очікуванням кінцевого користувача
- логічність інтерфейсу
- найпотрібніше "зверху"
- продумана навігація
- локалізація
- сумісність з іншим софтом (соцмережі) і залізом
- швидкість роботи ПЗ
- інформативність (повідомлення, обов'язкові поля)
- можливість відміни дій користувача
- help, має бути інструкція як працювати з ПЗ
- можливість друку, якщо потрібно
Security
- скласти матрицю Rights & Roles
- конфіденційність, ніхто не може отримати доступ до даних несанкціоновано
- OWASP Top-10
- цілісність даних:
а) можливість відновити дані при пошкодженні
б) доступ на зміну даних тільки для певної категорії користувачів
Performance
- імітуємо навантаження користувачами -- JMeter
- завантаження великих об'ємів даних, файли, медіа
- навантажуємо БД
- знижуємо швидкість інтернету NetLimiter
- знижуємо швидкість передачі даних (Throttling)
- тестуємо відновлення системи після падіння
Configuration
- беремо список підтримуваного софта, заліза
- думаємо з чим іще взаємодіє ПЗ (соцмережі, пошта, камера телефона)
- складаємо список девайсів, ОС, браузерів, розмірів екрану
- можна використати метод пар і налаштовуємо потрібні конфігурації
інше
- рефреш сторінки під час запиту на сервер
- дабл клік
- паралельна робота в кількох вкладках
- functionality, повертання правильних результатів для різних інпутів
- повертання правильних статус-кодів та помилок для невалідних інпутів
- CRUD операції
- reliability, надійний і дає стабільні (цілісні) результати з часом
- performance - висока кільк. реквестів та швидкий відгук
- security - cannot be accesses by unauthorized users
- compatibility з різними девайсами, ос та платформами
- документація точна та актуальна
Mobile
функції телефона
- GPS
- фото/відео
- розмір екрану, орієнтація (акселерометр)
переривання
- вхідні/вихідні виклики
- СМС (в т.ч. вставити код з СМС)
- спливаючі вікна/сповіщення
- переривання при розрядці/підзарядці
- згортання/розгортання застосунку
- вимкнення пристрою
- нагадування про оновлення
інтернет
- тип зʼєднання (wi-fi, 3g, 4g, 5g)
- якість зʼєднання
- втрата зʼєднання
- зміна типу зʼєднання
продуктивність
- швидкість, відгук застосунку
- завантаження оперативної памʼяті
- залежність від заряду батареї
- запуск з внутрішнього/зовнішнього накопичувача
Функціонал
- deeplinks
- accessibility
- жести