Облачное тестирование - Cloud testing

Облачное тестирование это форма тестирование программного обеспечения в котором веб-приложения использовать облачные вычисления среды («облако») для моделирования реального пользовательского трафика.

Обзор

Облачное тестирование использует облачную инфраструктуру для тестирование программного обеспечения.[1] Организации, проводящие тестирование в целом и нагрузку, тестирование производительности и, в частности, мониторинг производственных услуг сталкивается с рядом проблем, таких как ограниченный бюджет на тестирование, соблюдение сроков, высокая стоимость теста, большое количество тестовых примеров, а также небольшое повторное использование тестов или их отсутствие и географическое распределение пользователей. Кроме того, для обеспечения высокого качества предоставления услуг и предотвращения простоев требуется тестирование на собственном предприятии. Дата центр, за пределами дата-центра, или и то, и другое. Облачное тестирование - это решение всех этих проблем. Эффективное неограниченное хранилище, быстрая доступность инфраструктуры с масштабируемостью, гибкость и доступность распределенной среды тестирования сокращают время выполнения тестирования больших приложений и приводят к экономичным решениям.

Необходимость облачного тестирования

Традиционные подходы к тестированию программного обеспечения требуют больших затрат на имитацию активности пользователей из разных географических мест.[2] Тестирование брандмауэры и балансировщики нагрузки включает расходы на оборудование, программное обеспечение и его обслуживание.[3]В случае приложений, в которых скорость увеличения числа пользователей непредсказуема или среда развертывания изменяется в зависимости от требований клиента, облачное тестирование более эффективно.[4]

Типы поддерживаемых тестов

Виды тестирования

Стресс

Стресс-тест используется для определения способности приложения поддерживать определенный уровень эффективности за пределами критического уровня. Важно, чтобы любое приложение работало даже в условиях чрезмерной нагрузки и сохраняло стабильность.[5] Стресс-тестирование обеспечивает это путем создания пиковых нагрузок с помощью симуляторов. Но стоимость создания таких сценариев огромна. Вместо инвестирования капитала в создание локальных сред тестирования облачное тестирование предлагает доступную и масштабируемую альтернативу.

Нагрузка

Нагрузочное тестирование приложения включает создание большого пользовательского трафика и измерение его отклика. Также необходимо настроить производительность любого приложения в соответствии с определенными стандартами. Однако для этой цели доступен ряд инструментов.

Спектакль

Выявление пороговых значений, узких мест и ограничений является частью тестирование производительности.[6] Для этого необходимо тестирование производительности при определенной нагрузке.[7] Используя облачное тестирование, легко создать такую ​​среду и изменить характер трафика по запросу. Это эффективно снижает затраты и время, моделируя работу тысяч пользователей с географической ориентацией.

Функциональный

Функциональное тестирование как интернет-приложений, так и не-интернет-приложений можно выполнить с помощью облачного тестирования. Процесс проверки соответствия спецификациям или системным требованиям выполняется в облаке вместо тестирования программного обеспечения на месте.

Совместимость

Используя облачную среду, можно создавать экземпляры различных операционных систем по запросу, что упрощает тестирование совместимости.

Производительность браузера

Проверить, поддерживает ли приложение различные типы браузеров и производительность в каждом из них, легко. Различные инструменты позволяют автоматизировать тестирование веб-сайтов из облака.

Задержка

Облачное тестирование используется для измерения задержки между действием и соответствующим ответом для любого приложения после его развертывания в облаке.

Шаги

Компании моделируют реальных пользователей Интернета с помощью служб облачного тестирования, предоставляемых поставщиками облачных услуг, такими как Advaltis, Compuware, HP, Системы Keynote, Neotys, RadView и СОАСТА. После разработки пользовательских сценариев и тестирования эти поставщики услуг используют облачные серверы (предоставляемые поставщиками облачных платформ, такими как Amazon.com, Google, Rackspace, Microsoft и т. д.) для создания веб-трафик который происходит со всего мира. После завершения теста поставщики облачных услуг передают результаты и аналитику корпоративным ИТ-специалистам с помощью панелей мониторинга в реальном времени для полного анализа того, как их приложения и Интернет будут работать во время пиковых нагрузок.

Шаги для облачного тестирования

Ключи к успешному тестированию

  1. Понимание модели эластичности / метода динамической конфигурации поставщика платформы
  2. Быть в курсе развивающихся сервисов мониторинга и Соглашения об уровне обслуживания (SLA)
  3. Потенциально привлечение поставщика услуг в качестве постоянного операционного партнера при производстве коммерческая готовая продукция (COTS) программное обеспечение
  4. Готовность быть использована поставщиком облачных услуг в качестве примера. Последнее может привести к снижению затрат.

Приложения

Облачное тестирование часто рассматривается только как тестирование производительности или нагрузки, однако, как обсуждалось ранее, оно охватывает многие другие типы тестирования. Сами по себе облачные вычисления часто называют браком программное обеспечение как сервис (SaaS) и служебные вычисления. Что касается выполнения теста, программное обеспечение, предлагаемое в качестве услуги, может быть генератором транзакций и программным обеспечением инфраструктуры поставщика облачных услуг или может быть только последним. Распределенные системы и Параллельные системы в основном используют этот подход для тестирования из-за присущей им сложной природы. D-Cloud[8] является примером такой среды тестирования программного обеспечения.

Для тестирования приложений, не относящихся к Интернету, можно быстро настроить виртуальные экземпляры среды тестирования для автоматического тестирования приложения. Поставщики услуг облачного тестирования предоставляют необходимую среду тестирования в соответствии с требованиями тестируемого приложения. Фактическое тестирование приложений выполняется группой тестирования организации, которой принадлежит приложение, или сторонними поставщиками тестирования.

Инструменты

Ведущие поставщики услуг облачных вычислений включают, среди прочего, Amazon, Advaltis, 3-terra, Microsoft, Skytap, HP и СОАСТА.[9]

Преимущества

Возможность и стоимость имитации веб-трафика для целей тестирования программного обеспечения были препятствием для общей надежности сети. Низкая стоимость и доступность чрезвычайно больших вычислительных ресурсов облака обеспечивает возможность имитировать реальное использование этих систем географически распределенными пользователями, выполняя самые разные пользовательские сценарии в масштабах, ранее недостижимых в традиционных средах тестирования. Минимальное время запуска и гарантия качества могут быть достигнуты с помощью облачного тестирования.

Ниже приведены некоторые из основных преимуществ:

вопросы

Стоимость первоначальной настройки для переноса тестирования в облако очень высока, поскольку он включает в себя изменение некоторых тестовых примеров для соответствия облачной среде. Это делает решение о миграции решающим.[12] Следовательно, облачное тестирование не обязательно является лучшим решением всех проблем тестирования.[13]

Для тестирования в облаке необходимо изменить устаревшие системы и сервисы. Использование надежных интерфейсов с этими устаревшими системами может решить эту проблему.[14] Как и любые другие облачные сервисы, облачное тестирование уязвимо для проблем безопасности.

Результаты тестирования могут быть неточными из-за разницы в производительности сети и Интернета поставщиков услуг.[15] Во многих случаях, виртуализация услуг может применяться для моделирования конкретной производительности и поведения, необходимых для точного и тщательного тестирования.

Рекомендации

  1. ^ Тилли, Скотт; Парвин, Таухида (2010). «Перенос тестирования программного обеспечения в облако». 2010 Международная конференция IEEE по сопровождению программного обеспечения. п. 1. Дои:10.1109 / ICSM.2010.5610422. ISBN  978-1-4244-8630-4.
  2. ^ Гирмонский, Алон. «Облачное тестирование в сравнении с традиционным тестированием в корпоративной локальной сети». Архивировано из оригинал 25 апреля 2012 г.. Получено 12 октября 2011.
  3. ^ Ариола, Уэйн. «Новое поколение управления тестовой средой». Получено 12 октября 2011.
  4. ^ Дуби, Дениз (2008-08-06). «Низкая производительность приложений приводит к потере дохода, как показывают исследования». Получено 12 октября 2011.
  5. ^ «Использование облака для стресс-тестирования ваших веб-приложений». Архивировано из оригинал 19 декабря 2011 г.. Получено 12 октября 2011.
  6. ^ «Услуги по тестированию производительности и нагрузке с использованием облачных вычислений». Архивировано из оригинал 2 ноября 2011 г.. Получено 12 октября 2011.
  7. ^ Ганон, Зоар; Зильберштейн, Итай Э. (2009). «Облачное тестирование производительности систем управления сетью». 2009 14-й международный семинар IEEE по компьютерному моделированию и проектированию коммуникационных каналов и сетей. С. 1–6. Дои:10.1109 / CAMAD.2009.5161466. ISBN  978-1-4244-3532-6.
  8. ^ Банзай, Такаяки; Коидзуми, Хитоши; Канбаяси, Ре; Имада, Такаяки; Ханава, Тошихиро; Сато, Мицухиса (2010). «D-Cloud: разработка среды тестирования программного обеспечения для надежных распределенных систем с использованием технологии облачных вычислений». 2010 10-я Международная конференция IEEE / ACM по кластерам, облачным и сетевым вычислениям. С. 631–636. Дои:10.1109 / CCGRID.2010.72. ISBN  978-1-4244-6987-1.
  9. ^ «Топ-10 компаний по нагрузочному тестированию и мониторингу производительности облачных вычислений».[постоянная мертвая ссылка ]
  10. ^ «Тестирование инфраструктуры в облачной среде; снижение затрат или нет?». Получено 12 октября 2011.
  11. ^ Джайдип. «Пять преимуществ тестирования программного обеспечения в облаке». Архивировано из оригинал 18 сентября 2011 г.. Получено 12 октября 2011.
  12. ^ Парвин, Таухида; Тилли, Скотт (2010). «Когда переносить тестирование программного обеспечения в облако?». 2010 Третья международная конференция по тестированию, верификации и валидации программного обеспечения, семинары. С. 424–427. Дои:10.1109 / ICSTW.2010.77. ISBN  978-1-4244-6773-0.
  13. ^ Тилли, Скотт; Парвин, Таухида (2010). «Перенос тестирования программного обеспечения в облако». 2010 Международная конференция IEEE по сопровождению программного обеспечения. п. 1. Дои:10.1109 / ICSM.2010.5610422. ISBN  978-1-4244-8630-4.
  14. ^ Роденрийс, Эвальд (1 ноября 2010 г.). «Тестирование в облаке» (PDF). Архивировано из оригинал (PDF) 21 октября 2012 г.. Получено 20 октября 2011. Цитировать журнал требует | журнал = (помощь)
  15. ^ МакВитти, Лори. «Облачное тестирование: новое поколение». Архивировано из оригинал 3 сентября 2012 г.. Получено 12 октября 2011.