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
Пример
а. После спецификации, пробормоченнои Харитонычем за рюмочкой