Как работать как «инженер QA» на проекте, в отличие от члена «команды по развитию тестов»?

StackOverflow https://stackoverflow.com/questions/3577009

Вопрос

Sincerest извинения, если я задаю этот вопрос в неправильном месте. (Возможно, один из переполнений мини-стека, специфичный для карьерных советов и QA), я потратил значительное количество времени недавно изучения и внедрения структур тестирования подразделений для наших проектов.

Перед введением структуры тестирования подразделения наш метод должен был кодировать, тестировать вручную, Commit, надеюсь, что все не сломаются или вверх по потоку. Очень реактивная система.

Теперь мы все понимаем, что нужно проверено, и это автоматическое тестирование эффективно и хорошо. Тем не менее, роль в настоящее время кажется «вы делаете тестирование» и «Написать автоматизированные тесты»

Выполнение ручного тестирования возможно, но чувствует себя подавляющим (так как все время есть ошибки) и во многом похоже на недостаток моих навыков.

У меня трудности в достижении второй части запроса. Письменные автоматизированные тесты трудно, если код не предназначен для тестирования.

У меня есть ответственность за QA - но - я могу найти только ресурсы по тестируемому развитию.

Какие методы я могу использовать, чтобы стать более эффективными в моей роли QA, где другие разработчики еще не пишут с обеспокоенностью создания тестируемого кода?

Это было полезно?

Решение

Я бы подумал, что заставить разработчиков до скорости с модулькой будет ваша главная проблема! Таким образом, каждый победитель.

До этого момента, как вы действуете работать с устаревшим кодом, книга Майкла Перо Эффективно работает с устаревшим кодом По-видимому, содержит много полезных советов по тестированию такого кода.

Вы, вероятно, знаете это уже, но и проверьте разработку поведения (BDD), который включает в себя много о создании автоматизированных тестов интеграции, которые, как я думаю, будет представлять для вас.

Другие советы

Проблема с именами Тестовое развитие а также Тестирование единиц, это то, что они подразумевают, что они о тестировании программного обеспечения. Они есть нет. Отказ TDD и единичное тестирование о дизайн И они, по сути, ответственность за разработчиками.

Роль аналитика QA по-прежнему имеет первостепенное значение для любой команды, практикующей TDD, и это будет долго долго Время, прежде чем вы окажетесь от работы в качестве добросовестного QA!

Взгляни на Приемное тестовое развитие и рассмотреть вопрос о том, чтобы привлечь участие в этапе требований, написав автоматические тесты принятия, возможно, используя такое инструмент, как Фитнес.

Руководство, исследовательское тестирование все еще имеет свое место, конечно. Но вы должны рассмотреть возможность повторения регрессионных тестирование как нарушение ваших основных прав человека!

Я думаю, что разработчики должны по крайней мере, писать модульные тесты (возможно, используя TDD). Это минимальный стандарт, чтобы гарантировать, что код, который они проверяют, потенциально работают.

Я понимаю роль QA как кто-то, обеспечивающий более высокое тестирование уровня, чтобы убедиться, что программное обеспечение соответствует требованиям клиентов, поэтому вы не будете тестировать отдельных классов, но модулей или всего приложения. Даже если разработчики не предоставляют тесты подразделения, вы все равно сможете автоматизировать сквозные тесты (это включает в себя обычно автоматизирующую настройку тестовой среды и т. Д.) - Ваша работа будет более разочарована, хотя :)

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

Вы можете погрузиться в писать тесты себя:

Учитывая, что около половины ошибок - «регрессии» предыдущих ошибок, в вашей ситуации я бы сосредоточился на написании регрессионных тестов для новых и критических ошибок. Это будет значительно помочь в вашей обычной работе QA, но также будет отличная сеть безопасности для будущих ошибок.

Даже если вы не можете убедить разработчиков писать тесты немедленно, у вас будут некоторые ценные тесты, которые они скоро увидят ценность. Эта работа может помочь в продаже идеи разработчиков, пишущих модульные тесты.

Я работал в подобной роли несколько лет назад, поэтому я могу понять ваши неприятности. Для получения разработчиков до скорости с модулькой, я предлагаю наставничеством и паре программировать сеансы. Написание первого теста на единицу для плохо разработанного класса может быть настоящей болью. Легче и веселее, если есть два из вас - не говоря уже о снижении шансов сделать глупые ошибки в первоначальных рефакторинах.

Книга перьев, как уже упоминалось @Grant, является бесценным ресурсом для этого. Будьте терпеливы и настойчивы с помощью первых месяцев до результатов (как в тестовом покрытии, так и в командном отношении) медленно начинают показывать.

Вы должны иметь сильную поддержку управления - без этого нет смысла пытаться. Руководство должно понимать, что тесты на строительные единицы являются инвестиции, который использует значительную часть вашего времени и энергии сейчас, И это будет возвращено только в будущие годы. Если они настаивают на том, чтобы держать один и тот же давление срока, так как всегда, вы неизбежно не пройдете. Разработчики не могут учиться и практиковать новые навыки и способы мышления, если они высоко подчеркивают и / или демотивированы.

(Другая сторона монеты, конечно, должна подумать, о том, принесет ли инвестиции, принесет прибыль. Строительные модульные тесты для наследие всего стоит только в том случае, если управление предусматривает, что продукт будет поддерживаться и использовать в течение многих лет приходить.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top