Нужно ли вам больше тестеров? |
05.10.2011 08:36 |
Автор: Майкл Болтон (Michael Bolton) Эта дискуссия о лучших практиках в отрасли началась недавно на comp.software.testing: Сколько тестировщиков на разработчика считается лучшей практикой при создании сложных веб-приложений с нуля? Я слышал о полутора тестировщиках на каждого разработчика. Что вы думаете по этому поводу? Мой (слегка отредактированный для этого блога) ответ был...
Мы еще не говорили о квалификации тестировщиков и программистов, вовлеченных в процесс. Мы ничего не сказали об области бизнеса и сопутствующих рисках. Мы еще не говорили о том, считаете ли вы тест менеджеров и админов тестерами, или можно ли считать ваших программистов тестировщиками, когда они тестируют. (Мы так же не поговорили о ситуации, возникающей, когда вы принимаете эти "1,5 тестера на программиста" как "лучшую практику" для команды из трех программистов буквально - какую половину от пятого тестировщика вы бы хотели сохранить? Подсказка: выбирайте ту, что с головой). С моей точки зрения, на этот вопрос невозможно ответить, не обладая большей информацией о контексте - опыт работы в компании, с командой разработчиков, в технических или бизнес-областях? бюджет? график? размещение программистов и тестировщиков? цель тестирования? Другая точка зрения: вне зависимости от ответов на вопросы, озвученные выше, "лучшая практика" - бессмысленный маркетинговый термин, как правило означающий "что-то, что наша большая и дорогая консалтинговая компания продвигает потому, что это сработало для нас (или мы слышали, что для кого-то работает) ноль или более раз". "Лучшие практики в индустрии" еще хуже. Какой индустрии? Если вы разрабатываете биллинговое веб-приложение для медицинской компании вы в "веб"-индустрии, в индустрии "программного обеспечения", в индустрии "медицинских услуг" или в "финансовой" индустрии? Я писал уже о "лучших практиках" для журнала Better Software; вы можете найти статью тут. Квалифицированные тестировщики могут помочь нам снизить риск незнания чего-то, что мы бы предпочли знать о системе. Так вот, вместо того чтобы смотреть на тестировщиков как на функцию от числа программистов, попробуйте задаться вопросом: "Что бы мы хотели знать из того, что мы не можем обнаружить иначе? Какие задачи могут возникнуть в процессе обнаружения этих вещей? Кого бы мы хотели назначить для выполнения этих задач?". И если вы все еще не понимаете - найдите тестировщика (просто одного квалифицированного тестировщика), чтобы он помог вам задавать правильные вопросы и отвечать на них. Один из ответов в той дискуссии был таким: ... в конце концов важно количество дефектов. Если магазин использует тестирование для повышения надежности, и текущее количество дефектов неприемлем, то вам нужно больше тестеров. Если магазин использует тестирование чтобы контролировать процесс разработки, и обнаруженные вашей командой дефекты в важных для вас областях статистически слишком малочисленны чтобы о чем-нибудь говорить, то вам нужно больше тестировщиков. Это выглядит вполне разумным. Тем не менее, есть одна вещь которую проделывают последователи контекстного подхода для того, чтобы точить свое ментальное оружие. Мы берем утверждения вроде этого, и применяем к ним Правило (Как Минимум) Трех
А вот еще несколько вариантов. Некоторые из них могут оказаться хорошими идеями, некоторые могут оказаться противоестественными, но это способы избавиться от "побега дефектов", которые мне встречался ранее.
Количество "пропущенных дефектов" это просто число. Ни одно число не скажет вам того что вам действительно нужно. Числа могут провоцировать вопросы, но мир очень сложное место. Если вы не придумали как минимум трех (или десяти, или семнадцати) возможных вариантов, то могут найтись важные варианты которые вы пропустили. |