Тестування мобільних додатків: приклади тестів і сценарії тестування
⚡ Розумний підсумок
Тестування мобільних застосунків охоплює перевірки функціональності, продуктивності, безпеки, зручності використання, сумісності та можливості відновлення, і кожен тип пропонує окремий набір зразків тестових сценаріїв, які команди повторно використовують під час перевірки нової збірки.
Часте запитання від наших учнів — як тестувати мобільні додатки. Нижче наведено приклади тестові сценарії та тестові випадки для мобільного застосунку.
Ви можете виконати деякі або всі ці тестові випадки на основі ваших мобільне тестування вимоги. Випадки організовано за типом мобільного тестування.
Функціональне тестування мобільного додатку
Функціональне тестування мобільного застосунку – це процес тестування функціональності застосунку, включаючи взаємодію з користувачем та транзакції, які користувач може виконувати. Його мета – забезпечити якість, відповідати заданим очікуванням, зменшити ризик помилок та підтримувати задоволеність клієнтів.
Різні фактори, що впливають на функціональне тестування:
- Тип програми на основі використання бізнес-функцій (банківська, ігрова, соціальна чи бізнес)
- Target тип аудиторії (споживач, підприємство, освіта)
- Канал розповсюдження, який використовується для поширення програми (наприклад, Apple App Store, Google Гра, пряме розповсюдження)
Ці фактори визначають, наскільки глибоко залягає кожна область нижче, як показано на діаграмі.
Найбільш фундаментальними тестовими сценаріями у функціональному тестуванні можна вважати:
- Щоб перевірити, чи всі необхідні обов’язкові поля працюють належним чином.
- Переконатися, що обов'язкові поля відображаються на екрані окремо від необов'язкових полів.
- Щоб перевірити, чи працює програма відповідно до вимог, під час запуску або зупинки програми.
- Щоб перевірити, чи переходить програма в згорнутий режим щоразу, коли надходить вхідний телефонний дзвінок. Для цього скористайтеся другим телефоном для дзвінка на пристрій. Це основа тестування переривань.
- Щоб перевірити, чи може телефон зберігати, обробляти та отримувати SMS під час роботи програми. Для цього скористайтеся другим телефоном, щоб надіслати SMS на тестований пристрій, на якому наразі запущено тестовану програму.
- Щоб перевірити, чи здатний пристрій виконувати необхідну багатозадачність, коли це необхідно.
- Щоб переконатися, що програма дозволяє необхідні опції соціальних мереж, такі як обмін, публікації та навігація.
- Щоб перевірити, чи підтримує додаток будь-які транзакції через платіжні шлюзи, такі як Visa, Mastercard або PayPal, як того вимагає додаток.
- Щоб перевірити, чи ввімкнено сценарії прокручування сторінок у застосунку за потреби.
- Перевірити, чи відповідає навігація між відповідними модулями в застосунку вимогам.
- Щоб переконатися, що помилки усікання зведені до допустимого ліміту.
- Щоб переконатися, що користувач отримує відповідне повідомлення про помилку, таке як «Помилка мережі. Спробуйте пізніше», щоразу, коли виникає помилка мережі.
- Щоб перевірити, чи встановлена програма дозволяє іншим програмам працювати задовільно, і чи вона не займає пам’ять інших програм.
- Для підтвердження того, що програма відновлює роботу після останньої операції у разі жорсткого перезавантаження або збою системи.
- Перевірити, чи встановлення програми може бути виконане безперебійно за умови наявності у користувача необхідних ресурсів, і чи це не призводить до суттєвих помилок.
- Щоб перевірити, чи програма виконує автоматичний запуск відповідно до вимог.
- Щоб перевірити, чи працює застосунок відповідно до вимог у всіх поколіннях мобільних мереж, тобто 3G, 4G та 5G.
- Виконувати Регресійне тестування виявляти нові програмні помилки в існуючих розділах системи після внесення до них змін. Також повторно запускати раніше виконані тести, щоб визначити, що поведінка програми не змінилася внаслідок змін.
- Щоб перевірити, чи надає програма доступний посібник користувача для тих, хто не знайомий із програмою
Тестові приклади тестування продуктивності
Як тільки функції почнуть працювати належним чином, питання полягає в тому, чи витримають вони навантаження.
Фундаментальна мета цього типу тестування полягає в тому, щоб забезпечити прийнятну роботу програми за певних вимог до продуктивності, таких як доступ величезної кількості користувачів або видалення ключової частини інфраструктури, такої як сервер бази даних.
Загальні тестові сценарії для тестування працездатності у мобільному додатку є:
- Щоб визначити, чи програма працює відповідно до вимог за різних умов навантаження.
- Щоб визначити, чи здатне поточне покриття мережі підтримувати програму на піковому, середньому та мінімальному рівнях користувачів.
- Щоб визначити, чи забезпечує існуюча конфігурація клієнт-сервер необхідний оптимальний рівень продуктивності.
- Визначити різні вузькі місця в застосунках та інфраструктурі, які перешкоджають роботі застосунку на необхідному рівні прийнятності.
- Перевірити, чи відповідає час відповіді програми вимогам.
- Щоб оцінити продукт та/або апаратне забезпечення, щоб визначити, чи може воно витримувати прогнозовані обсяги навантаження.
- Оцінити, чи може час роботи від акумулятора підтримувати роботу програми за прогнозованих обсягів навантаження.
- Для перевірки продуктивності програми під час зміни мережі з 4G/5G на Wi-Fi або навпаки.
- Щоб перевірити, чи оптимізовано кожен із необхідних циклів процесора.
- Щоб підтвердити, що споживання батареї, витоки пам'яті та такі ресурси, як GPS і продуктивність камери, повністю відповідають необхідним нормам.
- Щоб перевірити довговічність програми, коли навантаження користувача є жорстким.
- Для перевірки продуктивності мережі під час переміщення з пристроєм.
- Для перевірки продуктивності застосунку, коли доступні лише періодичні фази підключення.
Тестові випадки тестування безпеки
Продуктивність та безпека перетинаються: локальне сховище, яке пришвидшує роботу програми, — це те, що зловмисник зчитує першим.
Основна мета тестування безпеки полягає в тому, щоб переконатися, що вимоги безпеки даних і мереж до програми відповідають інструкціям.
Нижче наведено найважливіші області для перевірки безпеки мобільних додатків.
- Щоб перевірити, чи здатна програма витримувати будь-яку атаку методом перебору, яка являє собою автоматизований процес спроб і помилок, що використовується для вгадування імені користувача, пароля або номера кредитної картки.
- Щоб переконатися, що програма не дозволяє зловмиснику отримати доступ до конфіденційного контенту або функціональності без належної автентифікації.
- Щоб переконатися, що програма має надійну систему захисту паролем і що вона не дозволяє зловмиснику отримати, змінити або відновити пароль іншого користувача.
- Щоб переконатися, що програма не страждає від недостатнього закінчення сеансу.
- Виявити динамічні залежності та вжити заходів, щоб запобігти доступу будь-якого зловмисника до цих вразливостей.
- Запобігати SQL атаки, пов'язані з ін'єкціями.
- Для виявлення та відновлення будь-яких сценаріїв некерованого коду.
- Щоб переконатися, що сертифікати перевірено, та перевірити, чи реалізує закріплення сертифікатів у застосунку.
- Для захисту програми та мережі від атак типу «відмова в обслуговуванні».
- Проаналізувати вимоги до зберігання та перевірки даних.
- Щоб увімкнути керування сеансами, щоб запобігти доступу неавторизованих користувачів до небажаної інформації.
- Щоб перевірити, чи не зламано будь-який криптографічний код, і переконатися, що його відремонтовано.
- Перевірити, чи реалізація бізнес-логіки захищена та не вразлива до будь-яких атак ззовні.
- Щоб проаналізувати взаємодію файлової системи, визначити будь-яку вразливість і виправити ці проблеми.
- Для перевірки обробників протоколів, наприклад, шляхом спроби переналаштувати цільову сторінку за замовчуванням для програми за допомогою шкідливого iframe.
- Для захисту від зловмисних ін’єкцій на стороні клієнта.
- Для захисту від шкідливих ін’єкцій під час виконання.
- Щоб дослідити кешування файлів і запобігти будь-яким шкідливим можливостям з нього.
- Щоб запобігти незахищеному зберіганню даних у кеші клавіатури програм.
- Для дослідження файлів cookie та запобігання будь-яким шкідливим діям, що виникають через файли cookie.
- Проводити регулярні аудити для аналізу захисту даних.
- Дослідити створені на замовлення файли та запобігти будь-яким шкідливим діям, пов'язаним з цими файлами.
- Щоб запобігти переповненню буфера та випадкам пошкодження пам'яті.
- Аналізувати різні потоки даних та запобігати будь-яким вразливостям, що виникають у них.
Тестування юзабіліті
Безпечний додаток, яким ніхто не може користуватися, все одно не працює, тому зручність використання залишається осторонь технічних перевірок.
Процес тестування зручності використання мобільного застосунку виконується для створення швидкого та простого застосунку з меншою кількістю функцій, а не повільного та складного застосунку з багатьма функціями. Головна мета — отримати простий у використанні, інтуїтивно зрозумілий інтерфейс, подібний до загальноприйнятих у галузі інтерфейсів, які широко використовуються.
- Щоб переконатися, що ґудзики мають потрібний розмір і підходять для великих пальців.
- Щоб переконатися, що кнопки розташовані в одній частині екрана, щоб уникнути плутанини для кінцевих користувачів.
- Щоб переконатися, що піктограми є природними та відповідають програмі.
- Щоб кнопки з однаковою функцією також мали однаковий колір.
- Щоб забезпечити перевірку кранаping увімкнено функції збільшення та зменшення масштабу.
- Щоб переконатися, що введення з клавіатури можна мінімізувати відповідним чином.
- Щоб переконатися, що програма надає метод для повернення або скасування дії, торкаючись неправильного елемента, протягом прийнятного періоду часу.
- Щоб контекстні меню не були перевантажені, оскільки ними потрібно швидко користуватися.
- Щоб текст був простим і зрозумілим, щоб його було видно користувачам.
- Щоб забезпечити читабельність коротких речень та абзаців для кінцевих користувачів.
- Переконайтеся, що розмір шрифту достатньо великий, щоб його можна було читати, а не надто великий чи надто малий.
- Щоб переконатися, що програма запитує користувача щоразу, коли він починає завантажувати великий обсяг даних, що може не сприяти продуктивності програми.
- Перевірити, чи закриття програми виконується з різних станів, і чи вона повторно відкривається в тому самому стані.
- Щоб забезпечити перетворення всіх рядків на відповідні мови, коли доступна функція перекладу.
- Забезпечити постійну синхронізацію елементів програми відповідно до дій користувача.
- Забезпечити надання кінцевому користувачеві посібника користувача, який допоможе йому зрозуміти та використовувати програму, якщо він не знайомий з тим, як вона працює
Тестування зручності використання зазвичай виконується користувачами-ручними користувачами, оскільки тільки люди можуть зрозуміти чутливість та комфорт інших користувачів.
Тестові випадки тестування сумісності
Та сама збірка повинна поводитися ідентично на обладнанні, якого команда, можливо, ніколи не мала.
Тестування на сумісність на мобільних пристроях виконується, оскільки мобільні пристрої мають різні розміри, роздільну здатність, екрани, версії та апаратне забезпечення, тому застосунок слід протестувати на всіх пристроях, щоб переконатися, що він працює належним чином.
Нижче наведено найбільш важливі області для перевірки сумісності.
- Щоб перевірити, чи відповідає інтерфейс користувача програми розміру екрана пристрою, а також чи жоден текст чи елемент керування не є частково невидимим або недоступним.
- Щоб забезпечити читабельність тексту для всіх користувачів програми.
- Щоб забезпечити увімкнення функцій дзвінків та будильника під час роботи програми. Програма згортається або призупиняється у разі дзвінка, а після завершення дзвінка її робота відновлюється.
Тестування відновлюваності
Тестування відновлюваності охоплює відновлення після збоїв та переривання транзакцій — що робить програма, коли пристрій, акумулятор або з’єднання виходять з ладу під час транзакції.
- Перевірка ефективної ситуації відновлення застосунку після неочікуваних перебоїв або сценаріїв збоїв.
- Перевірка того, як програма обробляє транзакцію під час збою живлення (тобто, розряджається батарея або пристрій вимикається вручну).
- Перевірка процесу, коли з’єднання призупинено, і системі потрібно його відновити, щоб відновити дані, на які безпосередньо вплинуло призупинене з’єднання. Використання правильних засоби мобільного тестування допомагає забезпечити безперебійний процес відновлення.
Важливий контрольний список для тестування мобільних додатків
Кілька перевірок охоплюють кожну з перерахованих вище категорій і їх легко забути.
- Тестування встановлення (чи можна встановити застосунок за розумний проміжок часу та з урахуванням необхідних критеріїв)
- Тестування видалення (чи можна видалити програму за розумний проміжок часу та з дотриманням необхідних критеріїв)
- Тестові випадки мережі (перевірка того, чи працює мережа під необхідним навантаженням, і чи здатна мережа підтримувати всі необхідні програми під час процедур тестування)
- Перевірте невідображені ключі
- Перевірте заставку програми
- Безперервне введення даних з клавіатури під час перерв та в інші моменти, такі як проблеми з мережею
- Методи, які мають справу з виходом із програми
- Ефект зарядного пристрою, коли програма працює у фоновому режимі
- Низький заряд батареї та висока продуктивність
- Виймання акумулятора під час роботи програми
- Споживання заряду батареї програмою
- Перевірте побічні ефекти застосування



