Чтение онлайн

на главную

Жанры

tестирование dot com
Шрифт:

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. При сохранении файла после редактирования нельзя про-

комментировать, что было изменено.

3. Самое главное: постоянно присутствует риск, что один из

программистов удалит свою работу или работу коллеги.

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

109

Пример

а. После спецификации, пробормоченнои Харитонычем за рюмочкой

Поделиться:
Популярные книги

Эйгор. В потёмках

Кронос Александр
1. Эйгор
Фантастика:
боевая фантастика
7.00
рейтинг книги
Эйгор. В потёмках

Темный Патриарх Светлого Рода 5

Лисицин Евгений
5. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 5

Всплеск в тишине

Распопов Дмитрий Викторович
5. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Всплеск в тишине

Дикая фиалка Юга

Шах Ольга
Фантастика:
фэнтези
5.00
рейтинг книги
Дикая фиалка Юга

Неудержимый. Книга IV

Боярский Андрей
4. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга IV

Великий перелом

Ланцов Михаил Алексеевич
2. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Великий перелом

Барон меняет правила

Ренгач Евгений
2. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон меняет правила

Титан империи 2

Артемов Александр Александрович
2. Титан Империи
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Титан империи 2

Я – Орк. Том 2

Лисицин Евгений
2. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 2

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота

Системный Нуб 2

Тактарин Ринат
2. Ловец душ
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Системный Нуб 2

Свадьба по приказу, или Моя непокорная княжна

Чернованова Валерия Михайловна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Свадьба по приказу, или Моя непокорная княжна

Лорд Системы 12

Токсик Саша
12. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 12

Воин

Бубела Олег Николаевич
2. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.25
рейтинг книги
Воин