Файл: Тестирование производительности программ: подходы в зависимости от категорий приложений.pdf
Добавлен: 31.03.2023
Просмотров: 190
Скачиваний: 1
Стресс тестирование:
Используя указанные выше фреймворки мы так же можем эмулировать "стрессовое" состояние приложение, такие как:
1) Введение заведомо превышающих возможную точность стандартных типов dart чисел, в том числе с плавающей точкой.
2) Выполнение заведомо неверных операций, включая, но не ограничивающиеся, делением на 0, математические операции вызывающие исключения и операции, которые не могут быть выполнены используя текущую математическую библиотеку, используемую в приложении.
3) По желанию, эмуляция, допустим, тысячи операций в секунду, просто чтобы гарантировать что наше приложение способно справится с нагрузкой от самых быстрых наших пользователей.
Как следствие, с помощью этого тестирования мы стараемся отсечь граничные ситуации, которые могут привести к падению нашего приложения.
Тестирование на стабильность:
В случае подобного простого приложения достаточно лишь повторить тесты из нагрузочного тестирования в течении продолжительного времени, чтобы гарантировать отсутствие проблем при работе с памятью и корректной работе сборщика мусора.
В случае более сложных приложений - полностью зависит от типа этого приложения, однако подход остаётся неизменным.
Тестирование на проникновение:
Допустим, наш Калькулятор так же имеет возможность получения данных из некоего стороннего источника, например, из админки нашего сайта для подсчёта прибыли сайта.
В случае, если приложение реализовано некорректно, в случае попадания apk к злоумышленнику, он через деобфускацию получит доступ к токену для логина и как следствие получит доступ уже к админке сайта.
Разумеется, этот пример несколько выдуман, однако прекрасно иллюстрирует необходимость защиты чувствительных данных (токенов для логина, сохранённых паролей) даже в клиентском приложении для ограниченного круга лиц.
В этом случае автоматизированное тестирование может быть выполнено с помощью DeGuard (https://apk-deguard.com/) и написания самостоятельных тестов с помощью вашего любимого языка.
Вывод:
В данной работе были рассмотрены стандартные подходы для тестирования производительности приложений для двух категорий: клиент серверное на примере веб сервиса и клиентское приложение на примере мобильного калькулятора для Android,
Так же данные подходы к тестированию приложений подходят ко всем остальным подкатегориям (мобильные игры, тонкие клиенты, операционные системы, драйвера и т.п.) при смене некоторых утилит.