План тестирования определяется международным стандартом IEEE 829-1983. В нем должны быть предусмотрены как минимум три раздела содержащие, следующие описания:
что будет тестироваться (тестовые требования, тестовые варианты);
какими методами и насколько подробно будет тестироваться система;
план-график работ и требуемые ресурсы (персонал, техника).
Дополнительно описываются критерии удачного/неудачного завершения тестов, критерии окончания тестирования, риски, непредвиденные ситуации, приводятся ссылки на соответствующие разделы в основных документах проекта - план управления требованиями, план конфигурационного управления и т. п.
Как подготовиться к тестированию, что именно нужно для его проведения? Как мы уже выяснили, необходимы проверяемые требования, затем каждое из них связывается с одним или несколькими тестовыми требованиями. Далее логический набор тестовых требований группируется в тестовые сценарии, проверка которых позволит дать односложный ответ на вопрос, корректно ли осуществляется ввод, правильно ли работает та или иная бизнес-функция в системе. Этот результат понятен не только специалистам, но и конечному пользователю. Основные объекты автоматизации тестирования - системы, реализующие работу клиентской части. Ключевой особенностью тестирования клиент-серверных систем является возможность проверки корректности функционирования и удовлетворительного быстродействия системы через работу клиентской части. Таким образом, тщательно и всесторонне проверив эти возможности, мы получаем гарантию работоспособности системы для конечного пользователя. Еще один важный аспект организации работ -- хранение созданных тестов. Мы рекомендуем относиться к тестам так же, как и к исходному коду, т. е. нужно использовать версионные хранилища для возможности восстановления тестов предыдущих версий системы (MS SourceSafe, Rational ClearCase,...). Это пригодится на этапе сопровождения ПО и даст возможность повторного использования готовых тестов на нескольких версиях системы. Аналогично нужно относиться и к тестовым данным, создавая архивы, копии и версии содержимого БД.
Как проводить тестирование? Тестирование - это всегда эксперимент. Для его проведения нужна база. Как в любом эксперименте, при тестировании нужно где-то собирать накопленную информацию, обрабатывать результаты. Есть самое крупное разделение видов тестирования: статическое и динамическое. При статическом тестировании ПО не исполняется, а происходит анализ кода, структур данных. Динамическое тестирование, напротив, требует выполнения тестируемого ПО. Для этого нужны не только средства автоматизации тестирования, но и вспомогательные средства. Известно очень много средства построения и автоматической генерации тестов, средств мониторинга ресурсов во время выполнения тестов, средств измерения и визуализации результатов тестирования, средств статистической обработки результатов и т. п.
Ограниченный объем статьи не дает нам возможности подробно описать полный комплекс мероприятий для обеспечения уверенности заказчика в том, что ПО хорошо протестировано. Кроме того, всегда имеются особенности тестирования, специфичные для конкретного ПО. Не у всех разработчиков есть необходимые средства автоматизации тестирования. Многие заказчики используют для проведения тестирования независимые организации, поручая им аутсорсинг тестирования ПО. Они делают это ради большей уверенности в качестве создаваемого для них ПО, прежде всего в следующих ответственных областях:
биллинговые системы;
системы массового обслуживания клиентов;
CRM-решения;
ввод в действие новых ERP-систем для оценки качества их работы в условиях сети и инфраструктуры заказчика в целом;
тестирование ПО при его сопровождении и развитии, поставке новых версий и релизов;
выбор серверов, на которых работает ПО, и т. п.
Список литературы
1. Агапов А. С., Зенин С. В., Михайловский Н. Э., Мкртумян А. А. Оценка и аттестация зрелости процессов создания и сопровождения программных средств и информационных систем (ISO/IEC TR 15504-CMM), Пер. с англ. Москва, "Книга и бизнес", 2001.
2. Мартин Фаулер. Новые методологии программирования. www.maxkir.com/sd/newmethRUS.html.
3. Rational Unified Process, Rational Software Corp., 1987-2002.