Книги онлайн и без регистрации » Бизнес » QA Engineer - Михаил Семынин

QA Engineer - Михаил Семынин

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 2 3 4 5 6 7 8 9 10 ... 22
Перейти на страницу:
Задача заключается в повторном выполнении тестов для проверки стабильности и работоспособности существующего функционала.

— Тестирование производительности — проводится для оценки скорости, стабильности, масштабируемости и ресурсоемкости программного продукта под различными нагрузками. Включает в себя проверку времени отклика, пропускной способности, использования ресурсов и способности системы обрабатывать большое количество одновременных запросов.

— Тестирование безопасности — проводится для выявления уязвимостей, дыр в безопасности и потенциальных угроз для программного продукта. Задачи включают проверки на уязвимость к взлому, SQL — инъекциям, переполнению буфера и другим атакам, а также оценку политик безопасности, механизмов аутентификации и авторизации.

— Тестирование совместимости — проводится с целью убедиться, что программное обеспечение совместимо с различными операционными системами, браузерами, устройствами и другим программным обеспечением. Задачи включают проверку работоспособности продукта и его отображения на различных платформах и устройствах.

— Тестирование конфигурации — это оценка работоспособности программного продукта в различных конфигурациях аппаратного и программного обеспечения, проверка системы на устойчивость к изменениям в конфигурации окружения.

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

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

— Тестирование юзабилити — это оценка удобства и интуитивности интерфейса пользователя, легкости освоения и использования программного продукта. Задачи включают изучение поведения реальных пользователей при работе с продуктом и выявление потенциальных проблем в интерфейсе.

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

— Тестирование восстановления после сбоя — это определение способности программного продукта восстанавливаться после сбоев или ошибок, проверка механизмов резервного копирования и восстановления.

4. БАЗОВАЯ ТЕОРИЯ О ТЕСТИРОВАНИИ

4.1. Тестирование и его цели

Тестирование имеет два определения:

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

— Тестирование как деятельность — это выполнение тестовых процедур и методик с целью обнаружения дефектов в программном обеспечении и оценки его соответствия требованиям и ожиданиям.

Цели тестирования:

— Подтверждение факта того, что программное обеспечение соответствует различным требованиям и спецификациям на всех этапах тестирования.

— Оценка качества программного обеспечения в каждый момент времени.

— Снижение риска появления дефектов на всех этапах жизни программного обеспечения и уменьшение последствий при их возникновении.

Это цели тестирования как науки. В документации проекта прописано, какие цели тестирования преследуются, но они будут описаны более конкретно уже в контексте самого проекта.

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

Обычно список дополнен пунктами, которые звучат примерно так:

— Обнаружение дефектов. Однако их мы обнаруживаем при проверке соответствия программного обеспечения требованиям. Обнаружение или не обнаружение является следствием, а не самоцелью.

— Подтверждение безопасности. Но критерии безопасности в работе приложения — это такие же обычные требования, которые мы проверяем. Кроме области применения они ничем не отличаются от других требований.

— Подтверждение надежности и стабильности. То, насколько стабильно и надежно работает приложение в разных условиях, это тоже формализованные требования к нему или системе в целом.

— Подтверждение производительности. Производительность любого элемента системы это требование к ней, которое формализуют и проверяют.

— Обеспечение соответствия стандартам, законам и т. д. Любой стандарт или закон это требование, которое должно быть выполнено или учтено в программном обеспечении и впоследствии проверено.

А вот в контексте самого проекта можно более подробно описать первую цель тестирования, акцентируя его на безопасности, надежности, стандартах и т. д.

4.2. QA, QC и Testing

В последние годы на рынке все меньше вакансий, звучащих как «QC Engineer» или «Tester», а половину предложений с таким названием на самом деле стоит именовать «QA Engineer». Причина в том, что сейчас все инженеры в той или иной степени выполняют работу в области QA. То есть, специалисты тестирования чаще обеспечивают качество, а не только контролируют его или тестируют. Далее подробнее о том, что это такое и в чем разница.

4.2.1. Testing

Целью Testing (Тестирования) является вся деятельность для выполнения проверок и обнаружения несоответствий между ожидаемыми и фактическими результатами работы тестируемого продукта.

Тестирование включает в себя создание баг репортов, чек — листов, тестовых сценариев, их выполнение. Оно является частью Quality Control и полностью входит в него.

4.2.2. QC (Quality Control)

Цель QC (Контроль качества) — удостовериться, что программное обеспечение соответствует требованиям, то есть получение глобального представления о программном обеспечении.

Контроль качества включает в себя результаты проведенного тестирования (Testing), их анализ и оценку для получения картины о том, каким качеством обладает программное обеспечение. Контроль качества является частью Quality Assurance и полностью входит в него.

4.2.3. QA (Quality Assurance)

Целью QA (Обеспечение качества) является всестороннее предотвращение дефектов с помощью процессов и регламентов. Оно включает в себя создание процессов и регламентов на всех уровнях (от компании до конкретной функции приложения), а также их исполнение и обновление. Quality Assurance влияет на качество как внутри команды тестирования, так и во всех других командах (аналитики, разработчики и т. д.).

Визуально QA — QC — Testing можно представить так:

Таким образом, QA — QC — Testing являются более подробным описанием трех целей тестирования и того, какие действия проводят для их достижения, без привязки к конкретному программному обеспечению/проекту/компании.

Если более коротко, то:

— Testing — это исследование качества.

— QC — это оценка и контроль уровня качества.

— QA — это создание, улучшение, выполнение регламентов по предотвращению появления дефектов.

4.3. Принципы тестирования

Принципы тестирования — это основные положения, которые помогают определить эффективные методы и подходы к процессу тестирования.

Всего есть шесть основных принципов тестирования:

— Исчерпывающее тестирование невозможно. Это означает, что проверить абсолютно все комбинации невозможно или крайне дорого. Отсюда вывод: надо тестировать только те комбинации, которые лучше выявляют дефекты. Следование этому принципу позволяет многократно сократить время на тестирование, при этом оставляя качество проверок на высоком уровне.

— Тестирование демонстрирует наличие дефектов, а не их отсутствие. Это значит, что, когда мы не находим дефекты, мы даем гарантию, что их нет именно

1 2 3 4 5 6 7 8 9 10 ... 22
Перейти на страницу:

Комментарии
Минимальная длина комментария - 20 знаков. В коментария нецензурная лексика и оскорбления ЗАПРЕЩЕНЫ! Уважайте себя и других!
Комментариев еще нет. Хотите быть первым?