Тестування мобільних додатків: приклади тестів і сценарії тестування

Часте запитання наших слухачів: «Як тестувати мобільні програми?» У цьому підручнику ми надаємо зразок тестового сценарію/тестових випадків для тестування мобільної програми.

Ви можете виконати деякі або всі тестові приклади на основі ваших вимог до мобільного тестування. Тестові випадки організовано на основі типів мобільного тестування.

Функціональне тестування мобільного додатку

Команда Функціональне тестування мобільного додатку це процес тестування функціональних можливостей мобільних програм, таких як взаємодія користувачів, а також тестування транзакцій, які користувачі можуть виконувати. Основною метою функціонального тестування мобільних додатків є забезпечення якості, відповідність заданим очікуванням, зниження ризику або помилок і задоволення клієнтів.

Різноманітні фактори, які мають значення для функціонального тестування, є

  1. Тип програми на основі використання бізнес-функцій (банківська, ігрова, соціальна чи бізнес)
  2. Target тип аудиторії (споживач, підприємство, освіта)
  3. Канал розповсюдження, який використовується для поширення програми (наприклад, Apple App Store, Google play, пряме розповсюдження)

Функціональне тестування мобільного додатку

Найбільш фундаментальними тестовими сценаріями у функціональному тестуванні можна вважати:

  1. Щоб перевірити, чи всі необхідні обов’язкові поля працюють належним чином.
  2. Щоб переконатися, що обов’язкові поля відображаються на екрані в інший спосіб, ніж необов’язкові поля.
  3. Щоб перевірити, чи програма працює відповідно до вимог кожного разу, коли програма запускається/зупиняється.
  4. Щоб перевірити, чи програма переходить у згорнутий режим щоразу, коли надходить вхідний телефонний дзвінок. Щоб підтвердити те саме, нам потрібно використати другий телефон, щоб зателефонувати на пристрій.
  5. Щоб перевірити, чи здатний телефон зберігати, обробляти та отримувати SMS, коли програма запущена. Щоб перевірити те саме, нам потрібно використовувати другий телефон, щоб надіслати SMS на пристрій, який тестується і на якому зараз запущена тестована програма.
  6. Щоб підтвердити, що пристрій здатний виконувати необхідні багатозадачні вимоги, коли це необхідно.
  7. Щоб підтвердити, що програма підтримує необхідні параметри соціальних мереж, такі як обмін, публікація та навігація тощо.
  8. Щоб підтвердити, що програма підтримує будь-які транзакції платіжного шлюзу, такі як Visa, Mastercard, Paypal тощо, як того вимагає програма.
  9. Щоб перевірити, чи сценарії прокручування сторінки ввімкнено в програмі за необхідності.
  10. Щоб підтвердити, що навігація між відповідними модулями в додатку відповідає вимогам.
  11. Щоб підтвердити, що помилки скорочення є абсолютно доступними.
  12. Щоб переконатися, що користувач отримує відповідне повідомлення про помилку, наприклад «Помилка мережі. Будь ласка, спробуйте через деякий час», коли виникає будь-яка помилка мережі.
  13. Щоб переконатися, що встановлена ​​програма забезпечує задовільну роботу інших програм і не поглинає пам’ять інших програм.
  14. Для підтвердження того, що програма відновлює роботу після останньої операції у разі жорсткого перезавантаження або збою системи.
  15. Щоб перевірити, чи можна встановити програму без проблем, за умови, що користувач має необхідні ресурси, і це не призводить до значних помилок.
  16. Щоб підтвердити, що програма виконує автоматичний запуск відповідно до вимог.
  17. Щоб перевірити, чи програма працює відповідно до вимог у всіх версіях Mobile, тобто 2g, 3g і 4g.
  18. Виконувати Регресійне тестування щоб виявити нові помилки програмного забезпечення в існуючих областях системи після внесення в них змін. Також повторно запустіть раніше виконані тести, щоб визначити, що поведінка програми не змінилася через зміни.
  19. Щоб перевірити, чи програма надає доступний посібник користувача для тих, хто не знайомий із програмою

Тестові приклади тестування продуктивності

Основна мета цього типу тестування полягає в тому, щоб забезпечити прийнятну роботу програми за певних вимог до продуктивності, таких як доступ великої кількості користувачів або видалення ключової частини інфраструктури, наприклад сервера бази даних.

Загальні сценарії тестування продуктивності в мобільній програмі:

  1. Щоб визначити, чи програма працює відповідно до вимог за різних умов навантаження.
  2. Щоб визначити, чи здатне поточне покриття мережі підтримувати програму на піковому, середньому та мінімальному рівнях користувачів.
  3. Щоб визначити, чи забезпечує існуюча конфігурація клієнт-сервер необхідний оптимальний рівень продуктивності.
  4. Для виявлення різних вузьких місць програми та інфраструктури, які перешкоджають роботі програми на необхідних рівнях прийнятності.
  5. Щоб перевірити, чи час відповіді заявки відповідає вимогам.
  6. Щоб оцінити продукт та/або апаратне забезпечення, щоб визначити, чи може воно витримувати прогнозовані обсяги навантаження.
  7. Щоб оцінити, чи може час роботи батареї підтримувати роботу програми за прогнозованих обсягів навантаження.
  8. Для перевірки продуктивності програми, коли мережу змінено на WIFI з 2G/3G або навпаки.
  9. Для перевірки кожного необхідного циклу ЦП проводиться оптимізація
  10. Щоб підтвердити, що споживання батареї, витоки пам’яті, такі ресурси, як GPS, продуктивність камери відповідають вимогам.
  11. Щоб перевірити довговічність програми, коли навантаження користувача є жорстким.
  12. Для перевірки продуктивності мережі під час переміщення з пристроєм.
  13. Для перевірки продуктивності програми, коли потрібні лише періодичні фази підключення.

Тестові випадки тестування безпеки

Тестові випадки тестування безпеки

Основна мета тестування безпеки полягає в тому, щоб переконатися, що вимоги безпеки даних і мереж до програми відповідають інструкціям.

Нижче наведено найважливіші області для перевірки безпеки мобільних додатків.

  1. Щоб підтвердити, що програма здатна протистояти будь-якій атаці грубої сили, яка є автоматизованим процесом проб і помилок, який використовується для вгадування імені користувача, пароля або номера кредитної картки.
  2. Щоб перевірити, чи програма не дозволяє зловмиснику отримати доступ до конфіденційного вмісту або функцій без належної автентифікації.
  3. Щоб підтвердити, що програма має надійну систему захисту паролем і не дозволяє зловмиснику отримати, змінити або відновити пароль іншого користувача.
  4. Щоб переконатися, що програма не страждає від недостатнього закінчення сеансу.
  5. Визначити динамічні залежності та вжити заходів, щоб запобігти доступу будь-якого зловмисника до цих вразливостей.
  6. Для запобігання від SQL атаки, пов'язані з ін'єкціями.
  7. Для виявлення та відновлення будь-яких сценаріїв некерованого коду.
  8. Щоб переконатися, що сертифікати перевірені, чи реалізовано програмою закріплення сертифіката чи ні.
  9. Для захисту програми та мережі від атак типу «відмова в обслуговуванні».
  10. Проаналізувати вимоги до зберігання та перевірки даних.
  11. Щоб увімкнути керування сеансом для запобігання доступу неавторизованих користувачів до небажаної інформації.
  12. Щоб перевірити, чи не зламано будь-який криптографічний код, і переконатися, що його відремонтовано.
  13. Щоб перевірити, чи реалізація бізнес-логіки захищена та чи не вразлива до будь-яких атак ззовні.
  14. Щоб проаналізувати взаємодію файлової системи, визначити будь-яку вразливість і виправити ці проблеми.
  15. Для перевірки обробників протоколів, наприклад, спроба змінити налаштування цільової сторінки за замовчуванням для програми за допомогою шкідливого iframe.
  16. Для захисту від зловмисних ін’єкцій на стороні клієнта.
  17. Для захисту від шкідливих ін’єкцій під час виконання.
  18. Щоб дослідити кешування файлів і запобігти будь-яким шкідливим можливостям з нього.
  19. Щоб запобігти незахищеному зберіганню даних у кеші клавіатури програм.
  20. Щоб перевірити файли cookie та запобігти будь-яким зловмисним діям із файлів cookie.
  21. Проводити регулярні аудити для аналізу захисту даних.
  22. Досліджуйте створені на замовлення файли та запобігайте будь-яким зловмисним діям із створених на замовлення файлів.
  23. Щоб запобігти випадкам переповнення буфера та пошкодження пам’яті.
  24. Для аналізу різних потоків даних і запобігання будь-якій уразливості в них.

Тестування юзабіліті

Тестування юзабіліті

Процес перевірки зручності використання мобільного додатка виконується, щоб отримати швидкий і простий додаток із меншою функціональністю, ніж повільний і складний додаток із багатьма функціями. Основна мета полягає в тому, щоб ми мали простий у використанні, інтуїтивно зрозумілий і схожий на загальноприйнятий у галузі інтерфейс, який широко використовується.

  1. Для цього гудзики повинні мати необхідний розмір і підходити для великих пальців.
  2. Переконайтеся, що кнопки розташовані в одній частині екрана, щоб уникнути плутанини для кінцевих користувачів.
  3. Щоб переконатися, що піктограми є природними та відповідають програмі.
  4. Щоб переконатися, що кнопки, які виконують однакові функції, також повинні мати однаковий колір.
  5. Щоб переконатися, що має бути ввімкнено перевірку функцій збільшення та зменшення масштабу.
  6. Щоб переконатися, що введення з клавіатури можна мінімізувати відповідним чином.
  7. Щоб переконатися, що програма надає метод для повернення або скасування дії, торкаючись неправильного елемента, протягом прийнятного періоду часу.
  8. Щоб переконатися, що контекстне меню не перевантажене, оскільки його потрібно використовувати швидко.
  9. Для того, щоб текст був простим і зрозумілим для видимості користувачам.
  10. Щоб переконатися, що короткі речення та абзаци читаються кінцевими користувачами.
  11. Переконайтеся, що розмір шрифту достатньо великий, щоб його можна було читати, а не надто великий чи надто малий.
  12. Щоразу, коли користувач починає завантажувати великий обсяг даних, що може не сприяти продуктивності програми, користувач запитує перевірку програми.
  13. Щоб підтвердити, що закриття програми виконується з різних станів, і перевірити, чи вона знову відкривається в тому самому стані.
  14. Щоб переконатися, що всі рядки перетворюються на відповідні мови, коли доступна функція перекладу мови.
  15. Забезпечити постійну синхронізацію елементів програми відповідно до дій користувача.
  16. Щоб переконатися, що кінцевому користувачеві надається посібник користувача, який допомагає кінцевому користувачеві зрозуміти та працювати з програмою, яка може бути не знайома з діями програми

Тестування зручності використання зазвичай виконується користувачами, оскільки лише люди можуть зрозуміти чутливість і комфорт інших користувачів.

Тестові випадки тестування сумісності

Тестування сумісності на мобільних пристроях виконується для того, щоб переконатися, що мобільні пристрої мають різні розміри, роздільну здатність, екран, версію та апаратне забезпечення, тому програму слід тестувати на всіх пристроях, щоб переконатися, що програма працює належним чином.

Нижче наведено найбільш важливі області для перевірки сумісності.

  1. Щоб підтвердити, що інтерфейс користувача програми відповідає розміру екрана пристрою, текст/елемент керування не є частково невидимим або недоступним.
  2. Щоб переконатися, що текст доступний для читання всім користувачам програми.
  3. Щоб переконатися, що функція виклику/будильника ввімкнена під час роботи програми. Програма згортається або призупиняється під час виклику, а потім, коли виклик припиняється, програма відновлюється.

Тестування відновлюваності

  1. Відновлення після збою та переривання транзакцій
  2. Перевірка ситуації ефективного відновлення програми після неочікуваних сценаріїв переривання/збою.
  3. Перевірка того, як програма обробляє транзакцію під час збою живлення (наприклад, батарея розряджається або раптове ручне вимкнення пристрою)
  4. Перевірку процесу, у якому з’єднання призупинено, системі необхідно відновити для відновлення даних, на які безпосередньо вплинуло призупинене з’єднання. Користуючись правом засоби мобільного тестування може допомогти забезпечити безперебійний процес відновлення.

Важливий контрольний список

  1. Тестування інсталяції (чи можна інсталювати програму за розумний проміжок часу та за необхідним критерієм)
  2. Перевірка деінсталяції (чи програму можна видалити за розумний проміжок часу та за необхідним критерієм)
  3. Випадки тестування мережі (перевірка того, чи працює мережа під необхідним навантаженням чи ні, чи здатна мережа підтримувати всі необхідні програми під час процедур тестування)
  4. Перевірте невідповідні ключі
  5. Перевірте заставку програми
  6. Продовження введення з клавіатури під час переривань та інших випадків, наприклад проблем з мережею
  7. Методи, які мають справу з виходом із програми
  8. Ефект зарядного пристрою, коли програма працює у фоновому режимі
  9. Низький заряд батареї та висока продуктивність
  10. Виймання батареї під час виконання програми
  11. Споживання батареї за програмою
  12. Перевірте побічні ефекти програми