🪓
QAммунизм
  • 💬Предисловия
  • 📜Теория тестирования
    • Для чего проводится тестирование ПО?
    • Принципы тестирования
    • QC — Quality Control
    • QA — Quality Assurance
    • Верификация и валидация
    • Этапы тестирования
    • Стадии разработки ПО
    • Требования
    • Дефект (bug) и Отчёт о дефекте (bug report)
    • Severity vs Priority
    • Базовые типы задач
    • Тестовые среды
    • Основные фазы тестирования
    • Основные виды тестирования ПО
    • Тест-дизайн
    • Методы тестирования
      • Тестирование белого ящика
      • Тестирование серого ящика
      • Тестирование чёрного ящика
    • Тестовая документация
      • Тест план (Test Plan)
      • Чек-лист (check list)
      • Тестовый сценарий (test case)
  • 🦠Матрица компетенций QA Engineer
    • Грэйды QA
      • Trainee Manual QA Engineer (стажер)
      • Junior Manual QA Engineer (младший)
      • Pre-Middle Manual QA Engineer (почти средний)
      • Middle Manual QA Engineer (средний)
      • Upper-Middle Manual QA Engineer (продвинутый)
      • Senior Manual QA Engineer (ведущий)
    • Грэйды AQA
      • Trainee Automation QA Engineer (стажер)
      • Junior Automation QA Engineer (младший)
      • Pre-Middle Automation QA Engineer (почти средний)
      • Middle Automation QA Engineer (средний)
      • Upper-Middle Automation QA Engineer (продвинутый)
      • Senior Automation QA Engineer (ведущий)
    • Краткое содержание
  • 📑Паттерн описания тест-кейсов
    • Названия
    • Описание
    • Количество шагов
    • Ожидаемые результаты
  • 🦾Автоматизация тестирования
    • 🐍Python
      • 🧪PyTest
        • pytest.ini
      • 📗SeleniumBase
        • Установка
        • Конфигурации подключения к Selenoid
        • Распространенные методы
      • 📊Allure Python
        • Установка
        • Слушатель
        • Декораторы
          • Шаги(step)
          • Вложения(attach)
          • Ссылки(issue)
          • Описания(description)
          • Заголовки(title)
          • Строгость(Severity)
          • Epic
          • Title
        • Окружающая среда(Environment)
        • Маркеры(mark)
      • 🗺️ООП в Python во всех подробностях
        • Приватность свойств. Name Mangling (_name и __name)
        • Переменные (свойства / атрибуты) класса
        • Анотация типов
        • @staticmethod
        • @classmethod
        • @property
        • Кеширование результата вычисляемых свойств
        • Наследование
        • Определение одного родителя
        • Перегрузка
        • Множественное наследование
        • Mixins
        • Полиморфизм
        • super().__init__() - Инициализация из родительского класса
        • Хешированные объекты
        • Абстрактные классы
        • Абстрактный класс наследуется от абстрактного класса
        • __slots__ в классе и при наследовании
        • Композиция
        • Наследование vs Композиция
        • Дескрипторы (__get__(), __set__(), __del__())
        • No Data Descriptor
        • Data Descriptor
        • Слабые ссылки (weakref)
        • Метод __set_name__
    • 🐸JavaScript (В разработке)
      • 🃏Playwright (В разработке)
    • 🛰️Git: Основные команды
    • 🧊Selenoid - Allure server
      • Установка
    • 🐳Docker
      • Установите Docker Desktop в Windows
    • 🧾Паттерны проектирования автоматизированного тестирования
      • Как написать идеальный автотест: 25 принципов.
        • Тесты не так важны, как действия по результатам этих тестов
        • Ценность
        • Лучше ничего не делать, чем сделать flaky-тест
        • Доверие
        • Поделись знанием
        • Устрой дестрой
        • Думай иначе
        • Тесты должны запускаться автоматически
        • Тайна пирамиды
        • Из множества важного выбирай то, что проще
        • Нельзя протестировать всё
        • Используй скрытую силу
        • Принцип ААА
        • Не повторяйся
        • Хрупкость
        • Принцип двух ящиков
        • Тестируй без последствий
        • Упрощения
        • Красота
        • Параллельность
        • Скорость
        • Автотест — это фича
        • Автотест — это тест
        • Атомарность
        • Независимость
      • Паттерны
        • Page Object Model (POM)
    • 🧑‍🔧Принципы разработки ПО
      • SOLID в автоматизации тестирования
        • S — Single Responsibility Principle(Принцип единой ответственности)
        • O — Open/Closed Principle(Принцип открытости/закрытости)
        • L — Liskov Substitution Principle(Принцип замены Лискова)
        • I — Interface Segregation Principle(Принцип разделения интерфейса)
        • D — Dependency Inversion Principle(Принцип инверсии зависимостей)
      • KISS (Keep It Simple, Stupid)
      • DRY (Don’t Repeat Yourself)
      • YAGNI (You Aren’t Gonna Need It)
      • Бритва Оккама
      • Avoid Premature Optimization
  • 🎭Вопросы для собеседования
    • Junior
      • Теория тестирования
      • AQA
        • Программирование
        • Selenium
        • TestNG/JUnit(PYTHON)
        • Git
        • CI
      • Интернет
      • Компьютерные сети
      • Практические задания
    • Middle
      • Теория
      • AQA
        • Selenium
        • Тестовая инфраструктура
      • Интернет
      • Мобильный
      • Практические задания
    • Senior
      • Теория
      • Практические задания
    • Практические задания
  • 📊Оценка покрытие Тест-кейсами/UI-автотестами(Coverage)
    • Матрица трассировки требований(RTM)
    • Обратная связь от тестировщиков
    • Включение новых сценариев
    • Использование метрик покрытия
    • Анализ отчетов о выполнении тестов
    • Измерение покрытия кода
    • Определение целевых экранов
    • Рассмотрение покрытия по сценариям использования
    • Автоматизированные средства анализа кода
Powered by GitBook
On this page

Was this helpful?

  1. Оценка покрытие Тест-кейсами/UI-автотестами(Coverage)

Измерение покрытия кода

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

  1. Инструменты для измерения покрытия кода:

    • JaCoCo (Java Code Coverage): Широко используемый инструмент для измерения покрытия кода на платформе Java. Он поддерживает как приложения Java, так и Android.

    • Istanbul: Инструмент для измерения покрытия кода JavaScript. Он часто используется в экосистеме Node.js и для тестирования фронтенд-приложений.

    • Coverage.py: Инструмент для измерения покрытия кода на языке Python.

    • Codecov, Coveralls: Онлайн-сервисы, которые могут интегрироваться с вашим репозиторием на GitHub и предоставлять вам отчеты о покрытии кода.

  2. Типы покрытия:

    • Строчное покрытие (line coverage): Измеряет, сколько строк кода выполнено в ходе выполнения тестов.

    • Ветвевое покрытие (branch coverage): Оценивает, сколько ветвей в условных операторах (if, else) было выполнено.

    • Функциональное покрытие (function coverage): Показывает, сколько функций в вашем коде было выполнено.

  3. Интеграция с средой разработки:

    • Многие инструменты для измерения покрытия кода легко интегрируются с популярными средами разработки, такими как IntelliJ IDEA, Eclipse, Visual Studio, что упрощает процесс измерения покрытия.

  4. Процесс измерения покрытия кода:

    • Запустите тесты вашего приложения.

    • Используйте инструмент для измерения покрытия кода для анализа выполненных тестов и создания отчетов.

    • Оцените отчеты и выделите участки кода, которые остались непокрытыми тестами.

  5. Установка целей покрытия:

    • Определите желаемый уровень покрытия кода. Например, вы можете поставить цель в 80% строчного покрытия.

    • Отслеживайте свой прогресс и внесите коррективы в тесты для достижения установленных целей.

  6. Анализ результатов:

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

  7. Использование в CI/CD:

    • Интегрируйте измерение покрытия кода в ваш процесс непрерывной интеграции и доставки (CI/CD). Это позволит вам автоматически оценивать покрытие кода после каждого изменения в коде.

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

Last updated 1 year ago

Was this helpful?

📊