Шрифт:
(были пропущены скобки):
19. average = (first_number+second_number)/2.0.
Кстати, в приведенном пункте спека есть баг, так как непонятно, какое
максимально допустимое целое число: 11 или 12? Программист, увидев
этот баг, должен был сделать уточнение у продюсера и обязать того
исправить спек. Если максимальное число = 12, то точная формулировка
должна быть следующей: "7.2. Пользователь должен ввести два целых
числа от 1 до 12 включительно, после чего программа выведет на экран
их среднее арифметическое".
Кстати, программист заложил в коде еще один логический баг, так как
согласно спеку код должен принять только действительный ввод, кото-
рым являются целые числа 1 — 1 1 (или 1 — 12).
Кстати, спек имеет еще один баг: не сказано, как должна отреагировать
программа, если пользователь введет недействительный ввод, например
0, 13, "А", "#" или пустое место...
Цикл разработки ПО
103
Две последние вещи в разговоре о стадии кодирования.
Первая вещь
Как мы помним, на этой стадии тестировщики пишут тест-кейсы.
Так вот тест-комплекты необходимо, как и спеки, хранить в CVS
и публиковать линки к ним на интранете для предоставления
возможности свободного ознакомления с ними любому заинтере-
сованному лицу внутри компании. Главные преимущества хране-
ния тест-кейсов в CVS:
• отсутствие возможности случайного удаления файла;
• присутствие возможности возвратиться к предыдущим вер-
сиям файла;
• файл хранится на сервере, и каждый, кому нужно (и кто
имеет право), может взять его для исполнения тестирова-
ния, изменения и удаления существующих или включения
дополнительных тест-кейсов.
Вторая вещь
Хорошая идея для компании в целом и для интересов самого
тестировщика — это провести рассмотрение тест-кейсов (Test-
case Review), когда за несколько дней до начала тестирования со-
бираются
• продюсер, написавший спек,
• программист, написавший по спеку код и
• тестировщик, написавший по спеку тест-кейсы.
Тестировщик раздает присутствующим распечатки этих тест-кей-
сов и подробно рассказывает, как он будет проверять функцио-
нальности, описанные в спеке.
Полезность рассмотрения тест-кейсов заключается в том, что
во многих случаях продюсеры и программисты дают новые
идеи для тестирования и/или корректируют допущенные не-
точности.
Политический момент
Если участники митинга
• не предложили внести в тест-кейсы ничего нового либо
• предложили и вы внесли,
то это формально означает, что они одобрили то, как будет протести-
рован код. А так как все протестировать невозможно и всегда есть веро-
ятность, что мы не проверим какой-либо багосодержащий сценарий,
104
Тестирование Дот Ком. Часть 1
то даже в случае пропущенного бага все будут знать, что вы сделали
все возможное для качественной подготовки к тестированию, т.е. соз-
дали тест-кейсы и получили одобрение их эффективности.
Кстати, после рассмотрения тест-кейсов пошлите е-мейл всем
присутствовавшим на совещании. Перечислите в этом е-мейле все