tестирование dot com
Шрифт:
шутки о пользователях (даже в курилке!), то это тлетворно
действует на всех сотрудников компании и в конечном счете
негативно скажется на пользователях, а следовательно, по
принципу бумеранга и на самой компании, включая
"юмористов".
Пользователи знают, уважают их или нет, уже после одного
сообщения об ошибке, одного е-мейла от компании или од-
ного
нии — это "тупые юзеры", то, поверьте, она проявится, на
радость конкурентам, во многих вещах.
Теперь поговорим о трех основных занятиях программиста:
1. Написание кода для данного релиза происходит во время
стадии "Кодирование".
2. Интеграция кода для данного релиза происходит по за-
вершении стадии "Кодирование".
3. Ремонт багов для данного релиза происходит во время
стадии "Кодирование" следующего витка цикла разработ-
ки ПО (соответственно в пункте 1 программист ремонти-
ровал баги для предыдущего релиза).
Цикл разработки ПО
97
Техническая версия
1. НАПИСАНИЕ КОДА
Один программист написал: parent_value = 1. Другой програм-
мист написал: child_value = parent_valu + 3.
2. ИНТЕГРАЦИЯ КОДА
а. Пытаемся два куска кода соединить в один:
parent_value = 1,
child_value = parent_valu + 3.
б. Код не компилируется (компайлер выдает ошибку о неоп
ределенной переменной), так как второй программист на
писал parent valu вместо parent value.
в. Код второго программиста фиксируется:
child_value —parent_value + 3.
г. Пытаемся два куска кода соединить в один:
parent_value = 1,
child_value = parent_value + 3.
д. Код компилируется, но первый программист выполняет
юнит-тест, по которому parent_yalue должно быть равно 7.
е. Код первого программиста фиксируется:
parent_value - 1.
ж. Пытаемся два куска кода соединить в один:
parent_value = 7,
child_value = parent_value + 3.
з. Вроде все в порядке, передаем тестировщикам —
они тра... маются.
3. РЕМОНТ БАГОВ
Согласно спецификации должно быть:
child_value - parent_yalue x 3.
Тестировщик рапортует баг, и на основании этого бага програм-
мист меняет код.
98
Тестирование Дот Ком. Часть 1
Лирическая версия
1. НАПИСАНИЕ КОДА
О написании кода мы уже говорили. Один момент:
Качество работы программиста не должно оцениваться по коли-
честву багов, которые он взрастил, так как помимо таких субъек-
тивных вещей, как профессионализм и добросовестность, на на-
личие багов влияет множество других объективных факторов, о
которых мы упоминали (нехватка времени, плохие спеки и т.д.).
2. ИНТЕГРАЦИЯ КОДА
Вариант 1. Неблагодарный
После того как код написан на игровой площадке каждого из
программистов, происходит интеграция кода, когда тысячи строк
кода разных авторов компилируются на одном компьютере, на-
езжают друг на друга, спотыкаются, огрызаются и дарят релиз-
инженерам, производящим интеграцию, сомнения в принципи-
альном наличии вселенской гармонии.
Пример
Собрали четырех отличных художников, причем каждый должен выпол-
нить заказ на куске прозрачной пленки 50x50 см:
• задание первому: нарисовать удрученного, стоящего на коленях
молодого человека;
• задание второму: нарисовать милостиво склонившегося старика;
• задание третьему: нарисовать фон, вызывающий сострадание;
• задание четвертому: нарисовать группу печальных людей.
"В общем, парни, генеральная идея... эта... типа как у этого... О! У Рем-
браНа: возвращение загулявшего сына".
Неудивительно, что мы прочувствуем всю боль релиз-инженеров, ко-
гда соединим четыре рисунка вместе и увидим
• удрученного великана, стоящего на коленях над
• стариком,
• гладящим промокшую болонку
• в окружении заспанных курсантов-суворовцев.
Остается только редактировать картинки каждого из художников и гру-