156 Часть II: Приемы и технологии тестирования
Против всех подобных попыток оценки производительности сотрудни-
ков по статистическим данным необходимо возражать самым решительным
образом, кто бы ни запросил соответствующие данные. Это могут сделать
как руководители, так и сами сотрудники, но в любом случае, какими бы
настойчивыми ни были требования, как бы ни давило на вас руководство,
сколько беспокойства ни причинял бы сотрудник, оказавшийся в центре
внимания, — не сдавайтесь. Система предназначена для отслеживания
проблем с тестируемым программным обеспечением, а не производитель-
ности персонала, которую хранящиеся в ней данные не отражают с доста-
точной объективностью. Если ее использовать для анализа
производительности сотрудников, это безнадежно подорвет их доверие к
системе (см. перечни литературы о компьютеризированном анализе произ-
водительности персонала в обзоре Ирвинга, Хиггинса и Сейфейни (Irving,
Higgins, Safayeni, 1986)). В результате сопротивления персонала нормаль-
ное функционирование системы отслеживания проблем будет нарушено, и
из полезного и эффективного средства организации работы она превратится
в ее тормоз и инструмент для выяснения отношений. Вам, как руководи-
телю группы тестирования, это дорого обойдется. Поэтому использование
базы данных для анализа производительности персонала — это одна из
самых серьезных тактических ошибок, какие только можно допустить.
Перечисленные выше проблемы в основном касались попыток отслежи-
вания производительности тестировщиков. Они будут еще серьезнее, если
дело коснется сотрудников, которые вам не подчиняются, — программис-
тов и руководителей проектов. Если и их работа будет отслеживаться по
статистическим данным, предоставляемым системой отслеживания про-
блем, то каждый раз, когда в базу данных будет вноситься информация, так
или иначе ухудшающая их показатели, эти сотрудники будут просить ее
удалить. Если вы откажетесь, программист или руководитель проекта об-
ратится за поддержкой к своему начальнику, руководителю отдела анали-
за человеческого фактора, и неизвестно, к кому еще. И это будет только
справедливо. Если система предоставляет руководству информацию о про-
изводительности сотрудников, затрагивая тем самым их жизненные инте-
ресы, им придется защищаться. Начнется самая настоящая война, и вот как
будут действовать в ней ваши противники.
• Вас будут просить удалять из базы данных все дублирующиеся
отчеты о проблемах. Если отчеты и в самом деле дублируют друг
друга, это еще ничего, хотя и будет стоить вам времени. Но как быть
с отчетами о похожих ситуациях, которые могут быть вызваны од-
ной и той же ошибкой, но могут и разными. Если удалить все по-
хожие отчеты, оставив только один из них, это может означать
потерю информации о связанных с ними ошибках.
Глава 6: Система отслеживания проблем 157
Вас будут просить удалять из базы данных все, пусть даже и не
похожие, отчеты о проблемах, вызванных одной и той же внутрен-
ней ошибкой программы. Нередко случается, что совершенно раз-
личные симптомы вызываются одной и той же ошибкой программы.
Следует ли в этом случае отозвать все связанные с ней отчеты,
кроме одного? Хорошо бы, но только как определить, что причина
всех описанных в них ситуаций одна и та же? Довериться програм-
мисту? Самостоятельно проанализировать программный код? Не
поверить программисту и положиться на собственное суждение?
(Имейте в виду, что подобное недоверие всегда воспринимается
крайне болезненно.)
Вас будут просить удалять из базы данных все вопросы, поскольку
они не являются отчетами об ошибках. Соответственно нечего и
ждать, что вы получите на них ответы.
Вас будут просить удалять из базы данных все предложения и боль-
шинство отчетов об ошибках проектирования. Конечно, если по-
ведение программы соответствует спецификации, оно не считается
ошибкой. Однако, по нашему опыту, около 15% всех предлагаемых
тестировщиками изменений воплощаются, если не в текущем, то, по
крайней мере, в следующем выпуске программного продукта. Они
очень помогают усовершенствовать программу, сделать ее более
удобной и полезной. Стоит ли удалять из базы данных такую цен-
ную информацию?
Приготовьтесь целые дни проводить в спорах о том, какая ошиб-
ка отражена в конкретном отчете — ошибка кодирования или
проектирования. Особенно горячими эти споры будут в случае, если
вы согласитесь включать в статистические отчеты о производитель-
ности программистов только ошибки кодирования.
Приготовьтесь к резким нападкам не ваших подчиненных каждый
раз, когда они сами будут допускать ошибки в отчетах или при
тестировании.
Вас будут просить удалять из базы данных все отчеты о невосп-
роизводимых ошибках. Бывает, что ни воспроизвести ситуацию, ни
найти ее причину и в самом деле не удается даже после самого доб-
росовестного анализа кода опытным программистом. У некоррект-
ного или неожиданного поведения программы могут быть самые
разные причины, и не всегда это ошибки в ее коде. Например,
ошибку может допустить сам пользователь, проблема может быть
вызвана аппаратным сбоем или скачком напряжения питания. И
если программист не находит ошибки, отчет ухудшает статистичес-
кие показатели качества его работы. Как долго он должен искать
описанную в отчете ошибку?