🪓
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. Строчное покрытие (Line Coverage):

    • Эта метрика измеряет процент выполненных строк кода в вашем приложении от общего числа строк кода. Чем выше процент, тем больше кода покрыто тестами.

  2. Ветвевое покрытие (Branch Coverage):

    • Оценивает, насколько успешно тесты охватывают все возможные ветви в условных операторах (например, if и else). Большее ветвевое покрытие указывает на более полное тестирование ваших условий.

  3. Функциональное покрытие (Function Coverage):

    • Измеряет процент выполненных функций в вашем коде. Это может быть особенно полезно, если ваше приложение разделено на модули или компоненты.

  4. Покрытие классов и методов (Class and Method Coverage):

    • Оценивает, сколько классов и методов в вашем коде покрыто тестами. Это важно для объектно-ориентированных языков программирования, таких как Java или C++.

  5. Покрытие операторов (Statement Coverage):

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

  6. Покрытие условий (Condition Coverage):

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

  7. Цикломатическая сложность (Cyclomatic Complexity):

    • Не совсем метрика покрытия, но важная метрика, которая измеряет количество путей выполнения в вашем коде. Чем выше сложность, тем более сложные могут быть тесты.

Преимущества использования метрик покрытия:

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

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

  • Улучшение качества кода: Метрики покрытия могут быть использованы для оценки эффективности тестирования и для поиска возможностей для оптимизации и улучшения кода.

  • Мониторинг прогресса: Отслеживание метрик покрытия с течением времени позволяет оценивать прогресс в тестировании и внесении изменений в код.

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

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

Last updated 1 year ago

Was this helpful?

📊