Что на самом деле имеет в виду ваша компания, когда говорит, что хочет сосредоточиться на качестве приложения?
- Улучшение качества процесса разработки?
- Выбор наиболее подходящих инструментов и фреймворков?
- Выбор лучших специалистов для проведения тестирования?
В этой статье мы рассмотрим роль основных специалистов, участвующих в тестировании и расскажем, какую пользу они приносят для обеспечения качества ПО.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Ручные тестировщики
Это тестировщики, чья работа заключаются в ручном тестировании вашего продукта или приложения. Подход, основанный только на ручном тестировании, лучше всего подходит в следующих случаях:
- Тестируемое приложение небольшое и несложное.
- Ручные тестировщики активно участвуют в процессе обсуждения требований к приложению, а также на ранних этапах разработки, чтобы лучше понять функционал приложения.
- Тестировщики имеют представление о том, что входит в модульные и интеграционные тесты, написанные разработчиками. Они могут предоставить рекомендации и вносить изменения в тесты, чтобы обеспечить полное и эффективное тестирование.
Это означает, что ручное тестирование будет полезно там, где функциональность приложения небольшая. Однако с увеличением сложности приложения проведение только ручного тестирования приведет к таким проблемам, как:
- Необходимость в расширении команды тестировщиков, что, в свою очередь, увеличит организационные расходы.
- Увеличение затрат и времени на повторное тестирование уже разработанной функциональности приложения.
- Тестировщики могут подумать, что нет необходимости тестировать старый функционал приложения, будучи уверенными, что новые функции никак не повлияли на его работу.
- Отсутствие мотивации у тестировщиков для повторного тестирования одной и той же функциональности.
Чтобы решить эти проблемы, команда тестирования начинает проводить автоматизированное тестирование с помощью различных инструментов и фреймворков.
Инженеры по автоматизации тестирования
Эти тестировщики проводят автоматизированное тестирование с помощью различных инструментов и фреймворков. В компаниях их называют по-разному: “разработчики программного обеспечения для тестирования”, “QA-инженеры”, “инженеры по автоматизации тестирования” и т.д. Во многих случаях это разработчики, которых нанимают для написания тестов.
Работа инженеров по автоматизации наиболее эффективна, когда они работают вместе с ручными тестировщиками для достижения таких целей, как:
- Снижение нагрузки на ручное тестирование за счет автоматизированных тестов.
- Повышение показателя тестового покрытия с помощью автоматизированных и ручных тестов.
Если команда по автоматизации тестирования сосредотачивается только на написании автоматизированных тестов, возникают такие сложности, как:
- Необходимо быть разработчиком для написания автоматизированных функциональных тестов.
- Недостаточно внимания уделяется общей стратегии тестирования.
Проведение автоматизации тестирования совместно с ручным повышает качество тестирования ПО. Однако, если у нас есть разделение на отдельные команды, занимающиеся только автоматизацией или только ручным тестированием, возникают проблемы.
Такие тестировщики не обладают достаточными знаниями и опытом в обоих видах тестирования, что может негативно сказаться на общем качестве тестирования.
Многопрофильные тестировщики
Это тестировщики, которые могут помочь в различных задачах тестирования. Они не сосредоточены на определенной области тестирования. Такие тестировщики способны понимать тестируемое приложение и все факторы, влияющие на его работу. Они достаточно техничны, чтобы понимать код разработки, настраивать инструменты и фреймворки и решать различные задачи тестирования.
Эти тестировщики обладают следующими качествами:
- Умение применять надежные методы тестирования, которые охватывают различные виды тестирования, такие как тестирование производительности, юзабилити-тестирование и тестирование безопасности.
- Способность правильно расставлять приоритеты и понимать, что автоматизировать, а что тестировать вручную.
- Выбор подходящих фреймворков для тестирования с учетом различных факторов.
Качественный продукт – это продукт, в котором тестирование проводилось параллельно с разработкой. Если компания смотрит на тестирование как на что-то второстепенное или то, что должно проводиться после окончательной разработки приложения, то никакой набор инструментов или тестов не сможет решить проблемы качества, которые возникнуть в приложении.
Заключение
В данной статье подчеркивается важность системного подхода к обеспечению качества ПО. Многопрофильные тестировщики, которые обладают полным пониманием и глубокими знаниями в различных аспектах тестирования, играют ключевую роль в этом процессе.
Инструменты и фреймворки помогают в достижении целей тестирования. Но для обеспечения более высокого качества продукта тестировщики должны использовать инструменты совместно со своим опытом и в сотрудничестве с другими командами разработки ПО.
Перевод статьи «Tools over Skills: Are We Missing the Point?».