Особенности тестирования web-приложений
Web-приложения — динамично развивающаяся сфера. Не все подходы и методы, применяемые для тестирования классических приложений могут быть применимы для тестирования web-приложений.
Web-приложение — это клиент-серверное приложение, в котором клиентом выступает браузер, а сервером web-сервер, что уже является по сути двумя разнополыми программами, которые необходимо тестировать как отдельно, так и в связке.
Почти все современные программы ориентированы на работу с сетью. Хранение данных web-приложений осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Когда мы видим ошибку в сетевой среде, то зачастую сложно точно указать, где именно она произошла, и потому режим работы, или сообщение об ошибке которое мы получаем, может быть результатом ошибок, случившихся в разных частях сетевой системы.
Имея много общего с тестированием классических приложений, тестирование web-ориентированных приложений имеет свои особенности, связанные прежде всего со средой функционирования. Имея компонентные, структурные и технологические особенности, web-приложениям присущи особенности режимов работы, инсталляции, запуска, остановки и удаления, а также формирования интерфейсов. Работая всегда с сетью и с большим количеством пользователей, web-приложения подразумевают под собой разные права доступа для разных пользователей.
Логика web-приложения распределена между сервером и клиентом, хранение данных осуществляется на сервере, обмен информацией происходит по сети.
Одним из преимуществ подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому web-приложения являются межплатформенными сервисами.
Особенности тестирования web-приложений:
- Технологические отличия.
Классическое приложение работает с использованием одной или семейства родственных технологий.
Web-приложение работает с использованием принципиально различных технологий.
- Структурные отличия.
Классическое приложение “монолитное”. Состоит из одного или небольшого количества модулей. Не использует серверы БД, web-серверы и т.д.
Web-приложение — “многокомпонентное”. Состоит из большого числа модулей. Обязательно использует серверы БД, web-серверы, серверы приложений.
- Отличия режимов работы.
Классическое приложение работает в режиме реального времени, т.е. известно о действиях пользователя сразу же, как только оно выполнено.
Web-приложение работает в режиме “запрос-ответ”, т.е. известно о некотором наборе действий только после запроса на сервер.
- Отличия формирования интерфейса.
Классическое приложение использует для формирования интерфейса пользователя относительно устоявшиеся и стандартизированные технологии.
Web-приложение использует для формирования пользовательского интерфейса стремительно развивающиеся технологии, множество которых конкурирует между собой.
- Отличия работы с сетью.
Классическое приложение практически не использует сетевые каналы передачи данных.
Web-приложение активно использует сетевые каналы передачи данных.
- Отличия запуска и остановки.
Классическое приложение запускается и останавливается редко.
Web-приложение запускается и останавливается по факту поступления каждого запроса, т.е. очень часто.
- Разница в количестве пользователей.
Классическое приложение: количество пользователей, одновременно использующих приложение, подвержено контролю, ограничено и легко прогнозируемо.
Web-приложение: количество пользователей, одновременно использующих приложение, сложнопрогнозируемо и может скачкообразно меняться в широких диапазонах.
- Особенности сбоев и отказов.
Классическое приложение: выход из строя тех или иных компонентов сразу становится очевидным.
Web-приложение: выход из строя некоторых компонентов оказывает непредсказуемое влияние на работоспособность приложения в целом.
- Отличия в инсталляции.
Классическое приложение — процесс инсталляции стандартизирован и максимально ориентирован на широкую аудиторию пользователей. Не требует специфических знаний. Добавление компонентов приложения выполняется стандартным способом с использованием одного и того же инсталлятора.
Web-приложение — процесс инсталляции часто недоступен конечному пользователю. Инсталляция требует специфических знаний. Процесс изменения компонент приложения не предусматривается или требует квалификации пользователей. инсталлятор отсутствует.
- Отличия в деинсталляции.
Классическое приложение: процесс деинсталляции стандартизирован и выполняется автоматически или полуавтоматически.
Web-приложение: процесс деинсталляции требует специфических знаний для вмешательства администратора и часто сопряжен с изменением кода среды функционирования приложения, БД, настройки системного ОС.
- Особенности среды функционирования.
Классическое приложение: среда функционирования стандартизирована и не сильно влияет на функционирование приложения.
Web-приложение: среда функционирования очень разнообразна и может оказать серьезное влияние на работоспособность и серверной, и клиентской части.