5.23. Группа тестирования

Хорошо зарекомендовал себя такой подход к тестированию,, когда создается специальная группа из опытных программистов,, в задачу которой входит испытание всех программ и систем, прежде чем-они будут окончательно переданы в постоянную эксплуатацию. Такой подход, однако, не освобождает программиста — автора программы — от обязанности ее первоначального тестирования. Группа тестирования обеспечивает только заключительную-проверку программы уже после того, как программист гарантировал ее правильность.

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

Такое название вошло в обиход потому, что люди, входящие-в группу тестирования, хорошо умеют формировать неверные входные данные, т. е. такие, которые только идиоту (теперь уже в буквальном смысле этого слова) могли бы прийти в голову задать на вход программы. Иначе говоря, работа профессиональных испытателей должна носить разрушительный характер. Их цель^ заключается в том, чтобы попытаться привести систему к отказу. Отказ системы считается для них благоприятным исходом. В противоположность этому программист хочет, чтобы его программа в процессе испытаний работала безотказно. Таким образом, программист и испытатель преследуют разные цели.

При создании постоянной группы тестирования у последней-имеется возможность накапливать практический опыт по тестированию программ. Кроме того, свежий взгляд на программу часто может выявить такие проблемы, о которых сам программист мог и не задумываться. Следовательно, всегда целесообразно привлекать к тестированию своей программы кого-нибудь посторон* него.

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

Испытатель должен полагаться на программные спецификации, и, если последние нечетки или непоследовательны, этот факт* выявляется при испытаниях программы. Специалист, проводящий" приемочный контроль, должен вынести свое суждение о том, соответствует ли программа целям и требованиям, сформулированным в программной спецификации. Если же группа тестирования не может уяснить этих целей и требований из спецификации, тони о каком тестировании не может быть и речи.

Испытатель должен также дать ответы на следующие вопросы:

1. Достаточно ли точны полученные результаты?

2. Обладает ли программная документация той полнотой, которая необходима для обеспечения удобства эксплуатации программы?

3.. Достаточно ли уделили внимание устранению ошибок? Преимущества создания специальной группы тестирования состоят в следующем:

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

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

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

5.22. Повторное тестирование || Оглавление || 5.24. Заключительные замечания


Услуги