184
работы в этой области. В то же время профессиональное тестирование
(выявление профессиональной компетенции) представляет собой
отдельную проблему кадрового менеджмента.
Существуют области деятельности, в которых методы
профессионального тестирования применяются давно и надежно
отработаны. Яркий пример – проверка водительских навыков при
выдаче прав на управление транспортным средством. В тестировании
такого рода создается ситуация
, в которой испытуемый помещается в
реальные условия работы. В то же время ситуация является учебной и
безопасность участников гарантируется. Заметим, что подобные тесты
продолжаются достаточно короткое время и стоят не очень дорого.
При тестировании профессиональных навыков программистов
затруднительно создать ситуацию, которая является реальной,
безопасной и недорогой одновременно.
Часто используемый для
этой цели тест «напишите программу
для данной задачи»
(обычно весьма искусственного характера) не
информативен. Умение написать за час программу в 100 строк для
учебной задачи никоим образом не гарантирует умения написать за 100
часов программу в 10 000 строк для решения реальной задачи.
Тест «сделайте вот этот кусок нашей общей работы» не
разрешит проводить руководство компании. Во-первых, «этот кусок»
является know-how и секретной собственностью компании, во-вторых,
проект уже задерживается, и кто будет отвечать, если тест не будет
пройден, в-третьих, это уже не тест, а работа в режиме испытательного
срока, за которую нужно платить зарплату.
Наконец, часто используемые
тесты, состоящие в решении
математических задач или построения алгоритмов
, скорее
проверяют наличие общей математической или алгоритмической
культуры, чем наличие специальных профессиональных навыков.
Проблема тестирования программистов (и не только
программистов, а представителей любых профессий, в которых
существенным является количественный аспект работы) состоит в том,
что невозможно проверить умение справляться с большими задачами,
предлагая решать маленькие задачи.
В этом случае можно
предложить один вид тестов, который
уместно назвать
«найди ошибку». Тест проводится следующим образом.
Нужно взять какой-нибудь фрагмент реального рабочего материала
(текста программы, архитектурной модели, формулировки требований),
причем достаточно небольшого фрагмента, 2-3 страницы, и по
возможности автономного. Исходный материал следует выбирать
самого лучшего качества (т.е. нужно брать текст отлаженной
программы). В этот материал искусственно вносится некоторое
количество «незаметных» ошибок
(опечаток, пропусков, неадекватных