среда, 20 марта 2013 г.

Должны ли тестировщики самостоятельно исправлять найденные ошибки?

      После долгой работы в одном и том же проекте начинаешь замечать, что одни и те же тривиальные баги появляются снова и снова. И если ты знаешь, как их исправить, то почему бы не исправить? Ошибки в UI, простые проверки для полей ввода и банальные опечатки – все это не требует сверх-навыков в программировании.

      Преимущество подхода «сам нашел – сам исправил» в том, что ошибки правятся гораздо быстрее (практически сразу же после обнаружения!), и для этого не нужно привлекать программистов, которым для исправления бага нужно будет отвлекаться от выполнения текущих задач и вникать в суть ошибки. Замечательно, не так ли? Так почему же все-таки стоит отказаться от такого подхода?

      Если исправить баг слишком быстро, то программист, который допустил эту ошибку, может не заметить, что эта ошибка вообще была и будет делать ее снова и снова.
      Спустя какое-то время программисты привыкнут, что тестировщики сами исправляют ошибки, и станут менее серьезно относиться к качеству кода. «Зачем самостоятельно проверять? Можно отдать для тестирования и код с ошибками. Все равно тестировщики все исправят…».
      Еще одна проблема в самостоятельном исправлении багов в том, что со стороны может казаться, что тестировщики не находят ошибок в программе или же этих ошибок просто нет.
      Следующая проблема связана с тем, что у тестировщика может быть недостаточно квалификации для исправления бага.
      Или, неправильно разобравшись в причинах возникновения ошибки, тестировщик начнет исправлять не то, что нужно.
      Или при исправлении тестировщик может не учесть некоторые соглашения по разработке, принятые среди программистов, просто потому что он не в курсе этих соглашений. Он же не программист, а тестировщик.
      К тому же, когда тестировщики перестают сообщать о багах программистам, резко уменьшается количество коммуникаций в команде. Программистам необходимо получать фидбэк о своей работе, и положительный, и отрицательный!

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

1 комментарий: