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
  • минуле/майбутнє (напр. купити квиток на минулу дату)

час

  • синхронізація з сервером (на сервері може бути виставлений час відмінний від таймзони клієнта)
  • часові пояси

E-mail

  • логін (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
  • фото/відео
  • розмір екрану, орієнтація (акселерометр)

переривання

  • вхідні/вихідні виклики
  • СМС (в т.ч. вставити код з СМС)
  • спливаючі вікна/сповіщення
  • переривання при розрядці/підзарядці
  • згортання/розгортання застосунку
  • вимкнення пристрою
  • нагадування про оновлення
  • установка, видалення, переустановка, оновлення застосунку
  • гайдлайни Android, iOS

інтернет

  • тип зʼєднання (wi-fi, 3g, 4g, 5g)
  • якість зʼєднання
  • втрата зʼєднання
  • зміна типу зʼєднання

продуктивність

  • швидкість, відгук застосунку
  • завантаження оперативної памʼяті
  • залежність від заряду батареї
  • запуск з внутрішнього/зовнішнього накопичувача

Функціонал