Всем привет, я безумный мастер!
некоторое время назад,Получил сообщение в фоновом режиме:"Позвольте мне спросить вас: как вы думаете, технология разработки или технология тестирования лучше? Если технология тестирования лучше, почему бы не разрабатывать напрямую и почему не проводить тестирование??"
Это очень интересная и распространенная путаница среди большинства новичков в технологиях. Сегодня я дам вам единый ответ на этот вопрос и поделюсь своим мнением.
И технология разработки, и технология тестирования являются незаменимыми техническими возможностями в разработке программного обеспечения, и каждая из них имеет уникальную ценность и важность. Невозможно просто сказать, какая технология лучше, поскольку их достоинства зависят от конкретного контекста и потребностей.
Технология разработки фокусируется на реализации функций и характеристик программного обеспечения и включает в себя множество аспектов, таких как языки программирования, алгоритмы, структуры данных и шаблоны проектирования. Превосходная технология разработки может гарантировать, что программное обеспечение будет работать эффективно, стабильно и безопасно и будет отвечать потребностям пользователей.
Технология тестирования направлена на обеспечение качества и надежности программного обеспечения. Она включает в себя разработку тестовых примеров, автоматическое тестирование, тестирование производительности, тестирование безопасности и другие аспекты. Превосходная технология тестирования позволяет оперативно обнаруживать дефекты и ошибки в программном обеспечении и обеспечивать контроль качества разработки программного обеспечения.
Инженер-разработчик — это более широкое понятие, включающее ряд должностей, таких как дизайнеры программного обеспечения, архитекторы программного обеспечения, менеджеры по разработке программного обеспечения и программисты. Их основная работа — разработка и производство программного обеспечения, а их технические требования относительно обширны, включая, помимо прочего, языки программирования, технологии баз данных, технологии платформ и другие аспекты.
Что касается инженеров по тестированию, то с учетом тенденции развития отрасли в последние годы их обычно делят на две категории: инженеры по бизнес-тестированию и инженеры по разработке тестов.
В целом инженеры по разработке тестов, инженеры-разработчики и инженеры по бизнес-тестированию имеют разные задачи с точки зрения обязанностей и требований к навыкам, но их общая цель — гарантировать, что программные продукты могут удовлетворять потребности клиентов и пользователей, одновременно отвечая требованиям качества и надежности. Инженеры по разработке тестирования больше сосредотачиваются на разработке и автоматизированном тестировании, инженеры по разработке больше сосредотачиваются на разработке и производстве программного обеспечения, а инженеры по тестированию больше сосредотачиваются на разработке и выполнении планов тестирования и тестовых примеров. Сотрудничество между ними имеет решающее значение для успеха проектов по разработке программного обеспечения.
Это также соответствует философии тестирования Google, согласно которой каждый инженер должен сосредоточиться на качестве. Качество является неотъемлемой частью, а не только обязанностью тестировщика.
В моей ранее опубликованной книге «Практическое руководство по автоматизированному тестированию» упоминалось: «Хороший инженер по разработке тестов должен понимать разработку лучше, чем разработку, и бизнес лучше, чем продукт. В противном случае, как вы обнаружите более глубокую связь между разработкой и бизнесом?» проблема?"
Хотя не многие люди могут достичь этой точки зрения в реальной работе, на самом деле это скорее высокие ожидания и требования к роли инженеров-разработчиков тестов. Это утверждение не является буквальным абсолютным сравнением, но подчеркивает, что инженеры-разработчики тестов должны обладать обширными возможностями и взглядами в различных областях разработки и продуктов.
Эта комплексная междоменная способность дает инженерам-разработчикам тестов уникальное преимущество в выявлении проблем разработки и бизнеса. Они могут обнаружить потенциальные проблемы, которые разработчики могли упустить из виду, благодаря глубокому пониманию процесса разработки и стека технологий; в то же время, благодаря глубокому пониманию бизнес-логики и требований, они могут обнаружить возможные функциональные дефекты в продукте или областях; которые не соответствуют ожиданиям пользователей.
Следует отметить, что эта точка зрения не требует, чтобы инженеры-разработчики тестирования превосходили персонал разработчиков или разработчиков продукта во всех аспектах, но подчеркивает, что им необходимо иметь всесторонний взгляд и способности, чтобы лучше выполнять обязанности инженеров-испытателей и разработчиков. гарантировать качество и надежность программного обеспечения.
В реальных операциях инженеры-разработчики тестирования могут постоянно совершенствовать свои деловые и технические возможности, тесно сотрудничая с командой разработчиков и командой продуктов, активно участвуя в обсуждениях проектов и анализах требований, и, таким образом, лучше обнаруживать и решать проблемы разработки и бизнеса. В то же время им также необходимо сохранять открытый и обучающий подход и постоянно осваивать новые знания и технологии, чтобы адаптироваться к меняющимся потребностям проекта и технической среде.
Качество не тестируется, а качество не равно тестированию. При этом качество зависит не только от этапа тестирования, но его необходимо предотвращать и обеспечивать на протяжении всего процесса разработки программного обеспечения. Тестирование — это только часть процесса, а не единственная гарантия качества.
В то же время инженер по тестированию — это человек, который доносит информацию о качестве до всей команды. Он является пропагандистом процесса, исследователем спроса и контролером качества. С одной стороны, ему необходимо использовать собственный опыт и технические средства. чтобы выявить больше ошибок. С другой стороны, распространяя информацию о качестве, мы делаем все возможное, чтобы избежать ошибок в исходной части продукта.
Соотношение разработки и тестирования само по себе не имеет реального значения, это просто соотношение численности персонала. Если в названии вашей должности есть слово «тест», ваша задача — помочь тем, у кого нет названия теста, лучше справляться. тестирование.
Хорошо, давайте остановимся на этом сегодня. Надеюсь, эти взгляды принесут вам новое вдохновение и воодушевят нас!