390 Часть III: Управление проектами и группами
Альтернативой проверки состояния программы перед официальным
объявлением готовности альфа-версии является ее проверка после этого
события. Однако в этом случае, хотя руководитель проекта искренне верит,
что с программой все в порядке, при дальнейшем тестировании, как пра-
вило, выявляется еще целый ряд серьезных ошибок.
Программирование накануне завершения
альфа-версии
На этом этапе продолжается постановка задач, проектирование, коди-
рование, исправление ошибок и тестирование "стеклянного ящика".
Документирование накануне завершения
альфа-версии
План документации, скорее всего, уже практически готов. В одних
компаниях тестировщиков привлекают к работе над этим планом, в других
— нет. Если вы будете работать на планом, то, скорее всего, от вас потре-
буется отдельный анализ руководства, интерактивной справочной системы,
учебника и других дополнительных материалов (например, библиотеки
файлов примеров). Уделите особое внимание календарному плану работ по
документированию продукта — если вам придется в них участвовать, ана-
лиз и редактирование документации не должны совпасть с самыми напря-
женными периодами тестирования.
Как правило, план документации включает ее оглавление и приблизи-
тельные оценки объема каждого раздела. Вы можете помочь техническим
писателям, указав, объемы каких разделов ими недооценены. Если речь
зайдет об особенно сложных функциях программы, их выявление может
помочь не только техническим писателям. Если руководитель проекта уви-
дит, что определенная функция настолько сложна, что ее трудно даже
описать в руководстве, он может принять решение о переработке проекта
программы и упрощении этой функции.
Структурой интерактивной справочной системы может определяться и
то, как пользователь будет переходить от одной темы к другой. В большин-
ство современных систем встраиваются перекрестные ссылки, упрощающие
работу пользователя, но сильно усложняющие задачу тестировщика. Как
протестировать все эти ссылки? Возможно, вы найдете инструментальные
средства, упрощающие эту работу.
Тестирование накануне завершения альфа-версии
Прежде всего позаботьтесь о необходимом для работы оборудовании.
Закажите то, что планируется купить, и поищите возможности взять напро-
кат остальное.
Глава 13: Объединяющая 391
Переговоры с компаниями, у которых можно одолжить необходимую
технику, следует начать как можно раньше. Учтите, что придется выпол-
нить ряд формальностей, заполнить бумаги. Могут возникать неожиданные
сложности и задержки, и, если времени до выпуска у вас не так уж мно-
го, например, месяца три-четыре, вы рискуете не получить того, что заду-
мано.
Если цели и ключевые задачи тестирования еще не определены, откла-
дывать дальше некуда. Оцените, сколько времени и людей потребуется для
решения поставленных задач.
Подготовьте первую версию плана тестирования. Начните с самого
очевидного, оставив детали "на потом". Во-первых, они еще не раз могут
поменяться, а во-вторых, многие подробности станут очевидны позднее, в
ходе освоения объекта тестирования. Прежде всего включите в план сле-
дующее.
•
Перечислите поддерживаемые устройства (такие, как принтеры).
• Составьте список основных функций программы, команд меню,
опций, т.е. составьте первый вариант списка тестируемых функций.
•
Подготовьте структуру плана тестирования, перечень его основ-
ных разделов. Например, подготовьте место для списка граничных
условий, который будет составлен позднее.
Стоит еще раз подчеркнуть, что документации не должно быть слиш-
ком много. Это ваш рабочий инструментарий, который должен отвечать
практическим задачам. Все, что не требуется для тестирования, не требу-
ется вообще. И не поддавайтесь искушению проводить целые дни, состав-
ляя документацию и вообще не занимаясь тестированием. Обязательно
проверяйте на деле все, о чем пишете. Так и документация будет точнее,
и основное дело — поиск ошибок — будет продвигаться вперед.
Проведите базовое тестирование программы. Выполните самые очевид-
ные тесты, не затрачивая слишком много времени на каждую из областей
или функций. На этом этапе больше внимания уделите полноте охвата
продукта, а не глубине анализа каждой детали. Если программа предлага-
ет пользователю выбор из нескольких вариантов, проверьте их все, одна-
ко если вариантов десяток, протестируйте два-три из них. Не следует также
тестировать все возможные комбинации входных значений — для этого
время еще не пришло. Введите информацию везде, где это возможно, но
не старайтесь нагрузить программу свыше ее возможностей. Если гранич-
ные значения данных известны, проверьте их, а если нет — оставьте это на
будущее. Посмотрите, как ведет себя программа в нормальном режиме
работы, не сбоит ли она даже в тех случаях, когда ее пользователь очень
аккуратен. И только если у вас после этого останется еще немного време-