Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование программного обеспечения. Фундамен...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
935.81 Кб
Скачать

Глава 14: Управление группой тестирования 435

Поиск ошибок программистами сравнительно более дешев. Вспомните рисунок 3.1 из главы 3 — чем раньше проблема выявлена, тем дешевле обходится ее решение. Этому есть несколько причин.

• Программисту нет нужды повторять тесты, чтобы выяснить, что идет не так. Он сразу обращается к программному коду, где быстро на­ходит причину ошибки и немедленно ее исправляет.

• Программисту не приходится описывать проблему для кого-то еще.

• Программист не тратит времени на выяснение того, как должна работать программа. Ему не нужно составлять отчет о проблеме, отслеживать ответные действия и комментарии других сотрудников и печатать итоговые и сводные отчеты. Он не занимается никакой бумажной работой — просто быстро находит и исправляет ошибку.

Нередко в ходе проекта получается, что программисты тестируют свою работу все меньше и меньше. Часто это происходит под давлением не в меру амбициозного руководителя проекта, который таким образом пытает­ся ускорить разработку, невзирая на то, что в результате страдает качество продукта. Когда эта ситуация достигает своего предела, только что напи­санный программный код сбоит сразу же, как только попадает в руки те­стировщиков.

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

Альтернатива: независимые тестовые агентства

Вовсе не обязательно, чтобы компания тестировала разрабатываемые программные продукты исключительно своими силами. Можно обратить­ся к услугам фирмы, специализирующейся на этой работе. Получив про­грамму и черновики руководства, сотрудники этой фирмы проведут ряд циклов тестирования.

Традиционно считается, что продукт будет надежнее, если его протес­тирует абсолютно независимая компания.

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

436 Часть III: Управление проектами и группами

• Тестовые агентства не так независимы, как кажется. Они рабо­тают по контракту и заинтересованы в его продлении. Следователь­но, их главная цель — не протестировать продукт как следует, а удовлетворить заказчика, которым является руководство проекта. И если руководителю проекта хочется, чтобы продукт выглядел лучше или быстрее ушел в производство, независимое агентство будет пропускать проблемы, лишь бы быстрее объявить, что все в поряд­ке.

• Стандарты агентства могут быть недостаточно высоки. В час­тности, сотрудники агентства едва ли станут критиковать дизайн продукта. Если плохо спроектированная программа полностью соот­ветствует спецификации и руководству пользователя, тестовое аген­тство выдаст заключение о ее правильности и отсутствии каких бы то ни было проблем.

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

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

Нам приходилось читать огромное количество плохо составленных отчетов о проблемах, предоставленных тестовыми агентствами. В то же время собственные наши сотрудники проходят специальное обу­чение и выполняют такую работу всегда качественно.

• Агентства пропускают значительные участки программы. Напри­мер, нам никогда не приходилось встречать тестов для условий го­нок, разработанных независимыми агентствами. Зато мы видели катастрофические ошибки, которые были вызваны ситуациями го­нок и которые тестовые агентства пропустили или неверно докумен­тировали.