|
Эта статья рассказывает о различиях между client-server и web-based приложениями и применимым к ним типам тестирования.
Все проекты условно можно поделить на 2 типа: - 2 – уровневые
- 3 – уровневые
Тестирование клиент-серверных приложений Это тестирование, как правило, выполняется для 2-уровневых приложений, разрабатываемых для LAN. В них мы имеем дело с интерфейсным (front-end) и серверным (back-end) уровнями. Приложения, запускаемые на интерфейсном уровне, имеют формы и отчеты, которые отображают и управляют данными. Пример: интерфейсный уровень приложений разрабатывается на VB, VC++, Core Java, C, C++, D2K, PowerBuilder, и т.д. Серверным уровнем для этих приложений может выступать MS Access, SQL Server, Oracle, Sybase, Mysql, Quadbase и т.д. Тестирование, которое выполняется для этого типа приложений: - Тестирование пользовательского интерфейса
- Функциональное тестирование
- Тестирование совместимости (Compatibility testing)
- Конфигурационное тестирование (Configuration testing)
- Интеграционное тестирование (Integration testing)
Тестирование веб-приложений Данное тестирование выполняется для 3-уровневых приложений, разрабатываемых для Internet / intranet / xtranet. Тут мы имеем дело с браузерами, веб-сервером, сервером БД. Для доступных посредством браузера приложений отображение данных реализуется с помощью HTML, DHTML, XML, JavaScript, и т.д. Веб-сервер отвечает за манипуляцию данными, которая реализуется с помощью языков программирования или скриптования, таких как Java, ASP, JSP, VBScript, JavaScript, Perl, Cold Fusion, PHP, т.д Сервер базы данных отвечает за хранение и выборку данных. В качестве БД может выступать Oracle, SQL Server, Sybase, Mysql и т.д. Тестирование, которое выполняется для этого типа приложений: - Тестирование пользовательского интерфейса
- Функциональное тестирование
- Тестирование безопасности
- Тестирование на совместимость с различными версиями браузеров
- Нагрузочное и стресс-тестирование
- Интеграционное тестирование
- Тестирование хранения данные и работы с большими обьемами данных
Несколько других отличий клиент-серверных, веб, и десктоп-приложений Десктоп-приложение: - выполняется в одной памяти – фронтенд и бэкенд в одном месте
- рассчитано на единственного пользователя
Клиент-серверное приложение: - выполняется на двух или более компьютерах
- управляется через меню
- работает через подключение, оно существует всегда до выхода из приложения
- рассчитано на ограниченное количество пользователей
- в меньшей степени зависимо от характеристик сети, чем веб-приложения
Веб-приложение: - выполняется на двух или более компьютерах
- управляется через URL
- работает без постоянного подключения (stateless mode)
- имеет потенциально неограниченное количество пользователей
- зависит от множества факторов, таких как:
- совместимость аппаратного обеспечения
- совместимость с различными версиями браузеров
- совместимость версий, безопасность, производительность
В последних двух приложениях также отличается принцип доступа к ресурсам. В клиент-серверных приложениях с момента соединения клиента с сервером клиент остается подключенным к серверу и сервер знает обо всем, что происходит на клиенте, до его отключения. В случае веб-приложений состояние клиента не хранится на сервере, при запросе URL клиент соединяется с сервером и, как только запрос отрабатываются сервером, от него отключается и сервер о клиенте «забывает»; для определения прав доступа клиента используются куки (cookies), которых нет в клиент-серверных приложениях. Для клиент-серверных приложений список пользователей заранее преопределен и сетевой периметр, с которого они могут войти в приложение, известен. В то время как веб-приложение может быть изпользовано любым зарегистрировавшимся пользователем. Таким образом, в веб-приложениях дополнительно нужно уделять внимание безопасности и совместимости. С какими приложениями приходится работать Вам? Что показывает Ваш опыт? (по материалам Software Testing Help) |