Я подошёл к окну, чтобы успокоиться. Снаружи двое рабочих в оранжевых жилетах закидывали в мусоровоз чёрные пакеты из огромного контейнера. Я слышал, как позади меня аудитория постепенно заполнялась, кто-то здоровался, но я всё ещё стоял спиной к ним.
Потом, наконец, когда мусоровоз тронулся и поехал, я набрался смелости и повернулся к классу.
– Кажется, все, – сказал Андрей. – Вот сейчас список пустим, проверим.
Он подал высокому седому человеку, сидящему на передней парте, листочек бумаги.
– Расписывайтесь, пожалуйста, напротив фамилии. А мы начнём…
Андрей с некоторым сомнением посмотрел на меня. Видимо, моё волнение было очевидно.
У меня кружилась голова. Лица сидящих передо мной учеников я видел нечётко, словно снял очки. Но нужно было начинать.
– Кхм, – сказал я. – Здравствуйте. Сегодня у нас будет занятие теоретическое. Чтобы ввести вас в курс дела. Да и класс компьютерный пока в стадии зачатия… То есть, формирования.
Я на всякий случай вцепился рукой в край стола и уставился взглядом в пол. Это помогло.
– Итак. Что такое вообще тестирование и для чего оно нужно? В наше время программное обеспечение распространилось практически везде. Программы работают не только в персональных компьютерах и серверах, но и во множестве других устройств. Попробуйте представить, сколько программ нас окружает. Понятно, что программы есть в телефонах, планшетах и электронных книгах. Но, кроме того, ещё в микроволновках, холодильниках, автомобилях, заводском оборудовании, кардиостимуляторах, турникетах, спутниках, электронных часах, автоматах по продаже еды, домофонах… Да сложно даже перечислить. И все эти программы надо тестировать. Более того, тестировать надо не только программы. Тестируют оборудование. Тестируют людей, в конце концов. Вот, к примеру, есть тест Роршаха. Он проверяет человека на соответствие определённым критериям, разве не так?
Я поднял глаза. Меня слушали. Это было удивительно. Я провёл взглядом по лицам. Все были серьёзны, внимательны. А на задней парте возле окна сидел монстр.
Сбросив секундное оцепенение, я понял, что это просто человек. Видимо, чем-то больной. Но выглядел он настолько уродливо и непривычно, что я не мог на него смотреть. Даже отведя глаза в сторону, я не мог избавиться от этого образа. Глаза навыкате, узкий выпуклый лоб, длинные узкие ноздри на плоском кривом носу, губы, которые не смыкались до конца и обнажали длинные корявые зубы.
– Так вот, – сказал я уже менее уверенно. – Программ очень много. Казалось бы, тестирование – это занятие вторичное. Написал программист код, и он заработает. Машина поедет, банкомат выдаст деньги. Но цена ошибки часто слишком высока.
Я вновь наткнулся взглядом на уродливого слушателя. Я понимал, что это всего-навсего внешность. И он, скорее всего, такой же человек, как и все остальные. Но от него исходило ощущение полной нереальности. Такого человека не могло быть в нашем мире. Я бы скорее поверил, что он пришёл из страшной сказки прямо сквозь стену или переместился из параллельного пространства при помощи специального батута.
– История знает много случаев, когда компании теряли огромные средства из-за недостаточного тестирования программ…
Я хотел привести примеры с датами и деталями, но распечатки под рукой не было, а память подводила.
– К примеру, были случаи, – продолжил я, – когда из-за простой ошибки на несколько месяцев останавливался конвейер завода. Терялись дорогостоящие спутники, потому что не могли навестись на передающую станцию. Падали самолёты. Целые штаты оставались без света. Но это громкие события, о которых становится известно всем. А ведь есть много фирм, которые пишут программное обеспечение и разоряются только потому, что их программы не устраивают пользователей своим качеством… Надеюсь, я смог вас убедить, что тестирование необходимо. Но что же это такое? Есть много разных определений. Мне кажется наиболее правильным следующее. Тестирование – это любая деятельность, направленная на проверку соответствия продукта предъявляемым к нему требованиям. Таким образом…
Вверх взлетела рука. Седой, хотя и не старый, мужчина прямо передо мной подал неуверенный голос:
– Можно вопрос?
– Да, конечно, – сказал я. Я немного напрягся, ожидая вопроса, на который не смогу ответить.
– Кто выдаёт требования?