Тестирование навыков кандидата на собеседовании при приеме на работу похоже на тестирование функциональности приложения. Можно выделить несколько видов.
По знанию системы:
методом белого ящика - мы знаем о том, что кандидат точно умеет, исходя из его прошлых проектов в резюме
методом черного ящика - мы задаем вопросы кандидату, пытаясь понять, в чем он силен/слаб
По объекту тестирования:
стресс-тестирование - очевидно:) (аналогично внесению искусственных неисправностей в программу, задаются заведомо ложные вопросы и т.п.)
тестирование стабильности - можно ли на него положиться при работе в команде?
тестирование юзабилити - насколько удобно и комфортно с ним общаться, работать?
тестирование безопасности - не инсайдер ли?
тестирование производительности - как быстро решает задачи?
тестирование локализации - знание языков
По степени автоматизации:
ручное или автоматическое тестирование - устно или по анкете
По степени изолированности компонентов:
модульное тестирование - собеседование проводят разные специалисты узкого профиля
интеграционное - какие командные процессы как использовал
По времени проведения тестирования:
альфа-тестирование - “прощупывание” по телефону хед-хантером
смок-тестирование - предварительное собеседование
тестирование функциональности - обычное собеседование
регрессионное тестирование - спрашиваем, какие знания сохранились с прошлых проектов
приемочное тестирование - анализ работы после испытательного срока
бета-тестирование - ассессмент, периодическое пересмотрение позиции сотрудника
По признаку позитивности сценариев:
Позитивное тестирование - пытаемся понять, что кандидат умеет
Негативное тестирование - пытаемся понять, что кандидат не умеет
По степени подготовленности к тестированию:
Тестирование по документации - тестирование по шаблонной форме
Тестирование ad hoc или интуитивное тестирование - неформальное тестирование
По времени проведения тестирования:
статическое тестирование - анализируется только анкета сотрудника, отзывы, его написанный ранее код и т.п.
динамическое тестирование - в реальном времени
По наличию эталонной модели:
тестирование с использованием эталона - образца для подражания. Сравниваем скиллы кандидата с требуемыми для этой специальности или с другим специалистом, позицию которого требуется закрыть.
можно собеседовать сразу несколько кандидатов и сравивать, какой из них ближе к правильному решению
Продолжаем аналогии.
Качество тестирования:
для приложений: измеряется покрытие кода тестами
для кандидатов: оценивается покрытие вопросами навыков кандидата
Системы баг-трекинга:
для приложений: все найденные в приложении баги заносятся в систему баг-трекинга
для кандидатов: все найденные косяки заносятся в список, чтобы потом сравнить, какой из кандидатов лучше
Тестирование прототипов:
прототип - сырое приложение с базовым набором функций; тестируется только возможность реализации той или иной функции
в жизни прототипом специалиста можно считать студента;) посему оцениваем с оглядкой на то, как его можно доучить в будущем
«Тестирование программ может использоваться для демонстрации наличия ошибок, но оно никогда не покажет их отсутствие.» — Дейкстра, 1970 г.
Переформулируем:
“Собеседование кандидатов может использоваться для демонстрации наличия их недостатков, но оно никогда не покажет их отсутствие”.