А.Левинтов

 

 

Урок истории на рыбалке

 

- Женя, а откуда вообще взялась эта идея с тестерами?

Женя – администратор сети в какой-то крутой фирме в недрах Силиконовой долины и в свободное от этой сети время – преподаватель в SATI (Software Advanced Technology Institute), а в свободное и от этого время – такой же нормальный человек, как и я. Именно здесь готовят QA-тестеров, профессиональных интернет-разработчиков-сетевиков (Internet development/networking), мастеров вэб-дизайна и других специалистов компьютерной индустрии.

Мы сидим у океана и ловим рыбу. А рыба пребывает в глубоком раздумье, на что и как она сегодня будет хороша: будет ли она смотреться в супе или лучше быть горячего копчения? А, может, – в жареном виде? А если в жареном, то как? И какой лучше подать к себе соус – тартар или опять по-польски? И что лучше на гарнир – может, чтоб ничего особого не придумывать, просто артишоки на пару? И еще проблема – пино гри или шабли? А вдруг шабли окажутся слаще необходимого? Тогда уж лучше совиньон, он даже в такой туман не подведет.

И пока рыба размышляет над своим макияжем перед выходом в свет, мы скромно занимаемся морской рыбалкой: а что тут мудреного? -- наливай да пей, изгоняй холестерол из отравленного окружающей средой организма.

- Понимаешь, старик, когда все это начиналось, программирование развивалось на принципах натурального хозяйства. Флоппи-диски были на 360 килобайт (я помню еще более допотопные, огромные, как баранка в моей машине, емкостью в несколько десятков килобайт), а жесткие диски – 5 мегабайт. Программки были махонькие, программисты сами их писали, сами отлаживали, сами же искали ошибки.

Я вспомнил свою работу на морском транспорте. У нас тогда появились програмисты, сразу много. Народ едва успел освоить сложение на ЭКВМ (мой шеф перепроверял цифры, полученные на электронных клавишных машинах, которым не доверял, с помощью конторских счетов, хранившихся в сейфе). Я вспомнил тех ребят, загадочных и странных: только у них был спирт (простым смертным его не выдавали – море спиртом не протрешь) и только они могли писать, говорить и читать в двоичной системе "ноль-единица". Они были уверены, что мир вскоре станет подобным и производным от их программ и железяк. Им на это отпускали огромные деньги, а мы с покорностью ждали неотвратимого – замены себя быстродействующими и нехмелеющими шкафами.

Женя продолжал свой рассказ из курса «Введение в профессию тестирования».

- Гром грянул лет двадцать тому назад, когда американскую космическую ракету пришлось взорвать сразу после старта из-за сильного отклонения от курса: в программе обнаружилась ничтожная ошибка, забыли поставить где-то дефис.

После того случая стало понятным: необходимо тестирование программ. Если это делать в ходе разработки программы, то фирме-разработчику практически надо оплатить только работу тестера, если же делать это после продажи, то исправления и всякие там заплатки (патчи) ударят не только по карману, но и по престижу фирмы: "эти лохи не могут найти ошибки в собственных программах, поищем более сообразительных".

Так возникла потребность в тестировании программ и в тестерах.

- Если я тебя правильно понял, тестер представляет интересы потребителя в недрах производителя?

Ну, да, только это квалифицированный потребитель, разбирающийся и в самом производстве, знакомый с языками и технологией программирования. Лафа для недоучек и недомерков кончилась. Теперь, когда условия игры на рынке ужесточились, быть профаном за 60 тыщ в год не удастся.

Я понимаю – спад...

Сейчас, при низкой конъюнктуре – самое лучшее время для учебы. Волна спада пройдет, опять спрос подскочит, а тут ты: со свежими силами, с новыми знаниями.

Туман над океаном и в моих представлениях о предстоящей работе медленно поплыл куда-то вдаль, к Гавайям.

- Мне мой домашний паталого-анатом сказал, что если не перестану не закусывать, то до вскрытия могу не дотянуть, -- сказал я, нарезая на крышке гроба со снастями и другой снедью ливерную.

- Главное– умереть здоровым, чтоб не подавать окружающим повода для подозрений о неправильно прожитой жизни, -- ответил Женя, продолжая знакомство со стаканом.

"Интересно, а что эти ребята больше любят: крылышки, лапки или грудку?" – задумалась рыба и тут же всплеснула плавниками. – "Что это я? Я ж не курица, я ж рыба" – и она погрузилась в вычисления, какая она вся из себя рыба – палтус, лосось или просто налим?

- Для развития SQA, -- продолжал Женя, -- важную роль сыграли два обстоятельства: исправления и заплатки стали порождать новые ошибки в программах и потому работа тестеров приобрела процессуальную протяженность, перестала быть разовой операцией в программировании. А второе – программы стали громоздкими, непосильными для одиночек. Индивидуальное искусство сменилось поточной сборочной технологией. Теперь программы разрабатывают группы и коллективы, порой разобщенные и не знающие друг друга.

Представь себе, что слона делают сразу несколько коллективов: кто-то делает цвета: серость шкуры, бежевость бивней; кому-то достался подряд на формы – ушей, ног, хвоста; третья группа занимается проблемами воспроизводства: сроками беременности, воспитательными навыками и так далее. Все это должно оказаться в слоне совместимым и безконфликтным. Представляешь, что происходит, когда несчастного слона складывают?

Я представил. Так в свое время функционировала советская экономика. А ведь, оказывается, все дело в тестерах, которых вовремя не предусмотрели.

- Что-то не клюет, -- сказал я.

- Погода, -- ответил Женя.

- Я думаю, ты просто забыл, что надо забросить эту хреновину в море.

- А чего ее забрасывать? И так видно, что никакой рыбы там нет. Тебе что, плохо?

- Нет, мне хорошо. Рыбу жалко. Ждет ведь, поди.

- Это ничего. Пусть подождет. Мы и без нее пожарим. Невелика птица.

- И то верно.

Рыба услышала последнюю фразу, на всякий случай огляделась, не птица ли она, плюнула в сердцах и поплыла к другим рыбакам, уже достававшим охлажденные снасти марки "Абсолют".

А.Левинтов