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

на главную - закладки

Жанры

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

Пример

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

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

Болотник 2

Панченко Андрей Алексеевич
2. Болотник
Фантастика:
попаданцы
альтернативная история
6.25
рейтинг книги
Болотник 2

Барон диктует правила

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

Часограмма

Щерба Наталья Васильевна
5. Часодеи
Детские:
детская фантастика
9.43
рейтинг книги
Часограмма

На границе империй. Том 7. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 7. Часть 4

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I

Возмездие

Злобин Михаил
4. О чем молчат могилы
Фантастика:
фэнтези
7.47
рейтинг книги
Возмездие

Сотник

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

Локки 4 Потомок бога

Решетов Евгений Валерьевич
4. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 4 Потомок бога

Мама из другого мира. Дела семейные и не только

Рыжая Ехидна
4. Королевский приют имени графа Тадеуса Оберона
Любовные романы:
любовно-фантастические романы
9.34
рейтинг книги
Мама из другого мира. Дела семейные и не только

Охотник за головами

Вайс Александр
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Охотник за головами

Бракованная невеста. Академия драконов

Милославская Анастасия
Фантастика:
фэнтези
сказочная фантастика
5.00
рейтинг книги
Бракованная невеста. Академия драконов

Ротмистр Гордеев 2

Дашко Дмитрий
2. Ротмистр Гордеев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ротмистр Гордеев 2

Последняя Арена 2

Греков Сергей
2. Последняя Арена
Фантастика:
рпг
постапокалипсис
6.00
рейтинг книги
Последняя Арена 2

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2