Лекция "Роль тестирования в обеспечении качества ПО". ## Что такое тестирование? **Тестирование** - это процесс проверки программного обеспечения, системы или приложения на соответствие определенным требованиям и оценки их качества. ## Роль тестирования ПО. ![enter image description here](https://neiros.ru/img/testing/pochemu-vazhno-testirovat.png) 1. Выявление ошибок. Позволяет обнаружить ошибки и недочеты в программном обеспечении. Раннее обнаружение и исправление ошибок способствует улучшению качества программы и уменьшению возможных проблем и рисков в дальнейшем. 2. Гарантия качества. Помогает проверить, насколько программа соответствует своим требованиям и спецификациям. Это позволяет удостовериться, что программа работает правильно, выполняет задачи и доставляет ожидаемые результаты. 3. Улучшение надежности. Способствует повышению надежности программного обеспечения. Через тестирование можно выявить уязвимости, ошибки в обработке данных и другие проблемы, которые могут привести к сбоям или неправильной работе программы. 4. Оптимизация производительности. Позволяет оценить производительность программы, выявить узкие места и бутылочные горлышки, которые могут замедлять работу программы. 5. Повышение удовлетворенности пользователей. Позволяет выявить и исправить проблемы, которые могут негативно влиять на пользовательский опыт. Корректная и надежная работа программы улучшает удовлетворенность пользователей и способствует их лояльности. 6. Уменьшение рисков и затрат. Помогает снизить риски, связанные с неправильной работой программы. Обнаружение и устранение ошибок на ранних стадиях разработки экономит время, усилия и ресурсы, которые могут быть затрачены на исправление проблем в более поздних этапах. В целом, тестирование программ позволяет обеспечить высокое качество программного обеспечения, минимизировать риски и повысить доверие пользователей. ## Цели тестирования. Цели тестирования сильно зависят от целей самого проекта. Но можно выделить основные общие цели: - **Проверка выполнения всех указанных требований**. Каждый продукт имеет техническое задание в той или иной форме, которое определяет внешний вид программы. Заказчик формулирует необходимые требования, а наша задача как тестировщиков — убедиться, что все эти требования были реализованы. - **Создание уверенности в уровне качества объекта тестирования**. Напрямую тестирование не влияет на качество продукта. - **Предотвращение дефектов**. Тестирование — это не только выявление ошибок в готовом продукте. Оно также включает проверку на более ранних стадиях, например, анализ документации. Тестировщик способен выявить возможные проблемы, которые могут возникнуть в процессе разработки программного обеспечения. - **Обнаружение отказов**. Здесь все просто. поиск багов в программном обеспечении (ПО) является неотъемлемой частью тестирования. - **Предоставление заинтересованным лицам достаточной информации** которые помогут им сделать обоснованный выбор. Тестировщики не участвуют непосредственно в процессе исправления ошибок, но могут продемонстрировать текущее состояние продукта, отраженное в количестве найденных багов, через составление отчетов о них. - **Снижение уровня риска ненадлежащего качества программного обеспечения**. Чем лучше тестирование, тем меньший риск пропуска критичных багов. А значит, что риск возникновения ненадлежащего качества ПО уменьшается. В качестве дополнения к лекции давайте рассмотрим **жизненный цикл ПО.** 1. Идея. 2. Сбор и аналитика. 3. Документирование требований. 4. Дизайн. 5. Разработка. 6. Тестирование. 7. Внедрение/развертывание. 8. Поддержка. ## Заключение. Тестирование программного обеспечения имеет ключевое значение для обеспечения его качества и надежности. В ходе тестирования обнаруживаются ошибки, которые способствуют улучшению программы и помогают избежать потенциальных проблем в её функционировании. Отчеты о найденных дефектах позволяют эффективно информировать разработчиков о возникших проблемах и сотрудничать с ними для их устранения. Тестирование также повышает удовлетворенность пользователей, оптимизирует производительность и снижает риски. Без должного тестирования программы могут содержать ошибки, что может привести к непредсказуемым последствиям. Таким образом, тестирование является важной частью процесса разработки программного обеспечения и необходимо для достижения высокого уровня качества и успешной работы программы.