В WWW такое невозможно

PictureВ старые добрые времена - в пору мэйнфреймов и изолированных прикладных программ - тестирование было необходимым и, по крайней мере, осуществимым злом. Программу можно было испытать в том же контексте, в котором она подлежала исполнению в реальном мире. Ныне, в условиях распределенных сетевых систем на базе Internet, тестирование стало куда сложнее. Когда такие среды, как WWW, становятся частью инфраструктуры систем клиент-сервер, программы и данные физически могут оказаться в любом месте земного шара. Как же разработчикам прикладных программ приступать к тестированию в подобной "распределенной" обстановке?

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

Предположим, разработчики написали программу обслуживания клиентов, использующую WWW. Как им узнать, какие ресурсы локальные, а какие - удаленные? Часто ресурсы Internet, кажущиеся локальными, в действительности находятся на удаленном сервере. Данные могут оказаться информационной амальгамой, собранной из многих различных источников. Где искать узкое место, если, скажем, возникла трудность с вводом-выводом?

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

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

Где же выход?

  • Внимательно следите за новинками - разрабатываемыми специально для Internet средствами, исключающими участие человека в процессе тестирования, ведь совершенно бесполезно требовать от программистов-людей, чтобы они предвидели все мыслимые виды взаимодействия между компонентами Internet-приложений.
  • Поощряйте создание модульных программ. Программа должна быть построена так, чтобы допускались и непредвиденные способы взаимодействия с другими программами и данными.
  • Как можно раньше и чаще привлекайте пользователей к работе над новыми компонентами. Пусть они испытывают компоненты по мере их разработки. Интерактивное тестирование сбережет разработчикам много сил.
  • Не пренебрегайте тестированием. Сейчас "под" WWW модифицируются многие системы тестирования, созданные для систем клиент-сервер и распределенных систем. Эти средства вкупе с качественным управлением проектом и интерактивным тестированием обеспечат успех.


    Юдифь Гурвитц - президент Hurwitz Consulting Group. Ее адрес в Internet: jhurwitz@world.std.com.