порядке. Мы заутра патч номер 7 кДорз присобачим".

Идем дальше.

Любой из трех релизов для пользователя означает, что наш

www.testshop.rs как-то изменился.

Возможные изменения:

1. Новые функциональности (основной и дополнительный

релизы);

2. Изменение/удаление старых функциональностей (основ-

ной и дополнительный релизы);

3. Починка багов, пропущенных в одном из релизов любого

типа (заплаточный релиз).

Организация упаковки кода в виртуальный мешок и его передача

пользователю осуществляются релиз-инженерами.

Давайте представим, что ЗАО "Тест-шоп", предназначенное,

кстати, для продажи книг, только начинает работу.

Цикл разработки ПО

107

У нас есть

• два программиста (Дима и Митя) и

• хозяин-барин (месье Кукушкин Илья Харитонович),

а также

• два компьютера с "Виндоуз" для программистов (здесь и

далее я не буду давать версий не нашего ПО),

• клевый лэптоп Харитоныча (ОС значения не имеет) и

• машина с Линуксом (далее называемая тест-машина) для

разработки и тестирования ПО.

Проект начинается:

1. Регистрируется домен www.testshop.rs.

2. У интернет-провайдера и по совместительству хостинг-про-

вайдера покупается доступ в Интернет и арендуется сервер,

чтобы весь мир мог зайти на огонек, увидеть и оценить.

3. Программистские компьютеры, лэптоп СЕО и тест-машина

объединяются в локальную сеть с выходом в Интернет.

4. Программисты начинают работать над проектом.

Мы уже говорили о том, что классическая архитектура веб-про-

екта — это

веб-сервер;

сервер с приложением;

база данных.

Так вот, так как мы — интернет-компания молодая, то у нас все

будет по-простому: на тест-машине будут все три компонента.

Архитектура www.testshop.rs

1. Веб-сервер Apache ("апачи", имя которого идет не от названия

американского племени индейцев, издревле промышлявших под-

работками на интернет-проектах, а от patchy (залатанный), как

память о неимоверном количестве заплаток, на него приклеен-

ных, в результате чего он приобрел белизну и пушистость).

В директориях Apache мы храним:

файлы, содержащие HTML-код С инкорпорированным

JavaScript-кодом. JavaScript-код, вставляется в HTML.-

файлы и может служить, например, для проверки е-мейла

при регистрации на наличие двух @. Достоинство

использования JavaScript-кода, заключается в том, что

проверка осуществ-

108

Тестирование Дот Ком. Часть 1

ляется на компьютере пользователя в отличие от варианта,

когда мы посылаем непроверенную форму с регистрацией

на сервер с приложением, нагружая этот сервер;

файлы-картинки (images).

2. Приложение на Python и C++. Наше приложение состоит из:

файлов с Python-скриптами, которые можно использовать,

например, для "перевода" регистрационной формы, от-

правленной пользователем, на язык, понятный базе дан-

ных, и для создания новой строки в таблице для новых

пользователей;

файлов с C++ кодом. Например, нам нужно вставить новое

значение в определенной колонке определенной таблицы

базы данных для всех пользователей, зарегистрированных

у нас более 1 года. Для этой цели мы можем написать про-

грамму на C++.

Кстати, C++ файлы это единственные файлы в нашем проекте,

которые мы компилируем перед использованием: каждый из наших

C++ файлов — это простой текстовый файл с кодом, написанным на C++,

и, чтобы он стал исполняемым, его нужно скормить C++ компайлеру,

который проверит код на наличие багов синтаксиса и, если все О'к,

переведет язык, понятный человеку (C++), на язык, понятный тест-ма-

шине (нули и единицы).

3. База данных MySQL ("майсиквел"). Здесь мы будем хранить

данные

• о пользователях (например, день регистрации в системе, е-

мейл, имя, фамилию и пароль);

• о транзакциях пользователя (например, когда и что купил);

• о наименованиях книг и их наличии.

Идем дальше.

Начинаются первые неудобства и проблемы, связанные с отсут-

ствием релиз-инженерных знаний:

1. При каждом сохранении файла в той же директории нужно

давать ему новое имя, чтобы не удалить старый вариант

редакции.

2. При сохранении файла после редактирования нельзя про-

Перейти на страницу:

Похожие книги