С денежными долгами сталкиваются многие компании. А в компаниях по разработке ПО существует еще и понятие технического долга. Технический долг накапливается в результате незавершенной работы в предыдущих проектах или версиях ПО.
В процессе разработки ПО и исправления багов в приложении может возникнуть много новых ошибок. Некоторые из них исправляются, а некоторые откладываются на будущие релизы. Когда накапливается слишком много таких ошибок, становится очень сложно выпустить продукт в срок без каких-либо проблем.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание
- Почему из-за технического долга больше всего страдают QA-команды?
- Пример из реальной жизни
- Управление техническим долгом
- Заключение
Почему из-за технического долга больше всего страдают QA-команды?
Когда в процессе разработки программного обеспечения допускаются определенные компромиссы, например, неправильная документация, неполное тестовое покрытие, отсутствие сотрудничества между командами, отсутствие непрерывной интеграции и т.д, возникает так называемый “технический долг”.
Однако нигде проблемы, связанные с техническим долгом, не проявляются так ярко, как в тестировании, где команды тестировщиков вынуждены укладываться в сжатые сроки.
Как часто ваши тестировщики сталкиваются с ситуацией, когда тест-менеджер внезапно приходит и говорит: “Команда! Мы должны выпустить наш продукт через неделю, извините, что не смогли сообщить вам об этом раньше. Пожалуйста, срочно завершите все тестовые задания, чтобы мы могли быть готовы к релизу”.
Если технический долг не устраняется вовремя, то со временем он может стать серьезной проблемой, затрудняющей разработку и поддержку продукта. Поэтому важно уделить внимание управлению техническим долгом и предпринять меры для его минимизации.
Пример из реальной жизни
Американский интернет-магазин столкнулся с проблемой технического долга, когда сложность тестирования стала усугубляться с каждым новым спринтом.
Это произошло из-за увеличения количества браузеров, которые необходимо было протестировать, поддержки нескольких языков и использования нескольких социальных сетей. Такое увеличение сложности тестовых сценариев привело к проблемам в процессе подготовки продукта к релизу.
Проблема технического долга проявлялась следующим образом:
- Задержки в тестировании перед релизом. С ростом числа различных браузеров, устройств и тестовых скриптов, тестирование перед каждым релизом стало занимать больше времени, что замедлило выпуск продукта.
- Рост затрат на наем сотрудников. Количество тестировщиков, необходимых для поддержки проекта, увеличилось почти вдвое, что привело к дополнительным затратам.
- Сложность проекта. При недостаточной автоматизации тестирования стало сложнее отслеживать все тест-кейсы и обнаруживать ошибки.
Управление техническим долгом
Большинство тест-менеджеров часто считают технический долг естественным следствием того, что они сосредотачиваются только на текущих задачах, не уделяя должного внимания автоматизации тестирования.
Принципы Agile указывают на то, что мы должны рассматривать проблему технического долга как неспособность соблюдать стандарты качества.
Вместо того чтобы реагировать на сбои в приложении по мере их возникновения, рекомендуется применять проактивный подход, который заключается в выявлении дефектов после выполнения каждой задачи. Это позволяет снизить риски и минимизировать негативные последствия технического долга.
В контексте технического долга проактивный подход может включать в себя регулярное тестирование, автоматизацию процессов, оптимизацию кода и другие меры, направленные на предотвращение накопления долга и обеспечение стабильности и надежности приложения.
Автоматизация тестирования помогает минимизировать количество выполняемых сценариев, сообщая о результатах тестов и сравнивая их с предыдущими тестовыми прогонами. Инструмент, используемый для выполнения автоматизации, называется фреймворком автоматизации тестирования.
Типичными примерами являются коммерческие или бесплатные инструменты, такие как Selenium, MonkeyTalk, Robotium, Borland SilkCentral, HP Quality Center и IBM Rational Rose.
В прошлом компании по разработке ПО часто рассматривали тестирование как вспомогательную деятельность по отношению к более важным бизнес-задачам. Именно недостаточное внимание к тестированию привело к возникновению такой проблемы, как технический долг.
В настоящее время большинство компаний, занимающихся разработкой программного обеспечения, сталкиваются с проблемой недостатка квалифицированных технических специалистов, особенно в условиях сжатых сроков для реализации проекта.
Для решения этой проблемы рекомендуется сотрудничать с оффшорными компаниями, специализирующимися на автоматизации тестирования, которые могут предоставить необходимых квалифицированных специалистов: Software Engineers in Test (SEiT) и Software Developers in Test (SDiT).
Заключение
Технические долги, как и финансовые, могут стать серьезной проблемой для компаний по разработке ПО. Это недоработки и недостатки в программном обеспечении, которые возникают в процессе разработки и не исправляются вовремя. Постепенно эти недоработки накапливаются и ухудшают качество программы, что приводит к возможным проблемам и трудностям в будущем.
Надеемся, вы получили четкое представление о том, что такое технический долг. Поделитесь своими мыслями в комментариях ниже.
Перевод статьи «What is Technical Debt and Why QA Testers Should be Concerned About It?».
Пингбэк: Что такое «баг» на самом деле?