Общие вопросы по тестированию Flashcards

1
Q

Что такое тестирование?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

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

A

1) Показывает наличие дефектов
Тестирование не может показать, что дефектов нет.
2) Исчерпывающее тестирование невозможно
Полное тестирование с использованием всех комбинаций физически невозможно, кроме тривиальных случаев.
3) Раннее тестирование (сохраняет деньги и время)
Активности по тестированию должны быть начаты как можно раньше.
4) Скопление дефектов/Кластеризация дефектов
Небольшое количество модулей содержит большинство дефектов. Означает, что 80% дефектов, чаще всего, находится в 20% функциональностей. На интеграционном уровне больше всего багов.
5) Парадокс пестицида
Если одни и те же тесты выполняются снова и снова, они перестают находить новые дефекты.
6) Тестирование зависит от контекста
Медицинское ПО будет тестироваться иначе, чем интернет-магазин.
7) Заблуждение об отсутствии ошибок
Тестировщики не могут найти все дефекты, и даже исправление большого числа дефектов не гарантирует, что система будет удовлетворять ожиданиям пользователей.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Зачем тестировать ПО? Цели тестирования

A

1) Оценить требования, пользовательские истории, проектирование и код
2) Проверить, все ли требования выполнены
3) Проверить, завершен ли объект тестирования и работает ли он так, как ожидают пользователи и заинтересованные лица
4) Создать уверенность в уровне качества объекта тестирования
5) Предотвращать дефекты

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое «парадокс пестицида»?

A

Если одни и те же тесты выполняются снова и снова, они перестают находить новые дефекты. Изменять тесты, модифицировать, актуализировать на основе новых данных.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Опишите основные фазы STLC?

A
  1. Планирование и анализ требований
  2. Тестовое планирование (уточнение стратегии тестирования)
  3. Разработка тест-кейсов
  4. Подготовка тестовой среды
  5. Выполнение тест-кейсов
  6. Фиксация найденных дефектов
  7. Анализ результатов тестирования
  8. Отчетность
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

В чем разница между валидацией и верификацией?

A

Верификация (Verification) — процесс оценки системы или её компонентов с целью определить, удовлетворяют ли результаты текущего этапа разработки условиям, сформулированным в начале этого этапа.
То есть, выясняем, выполняются ли цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы. Статическое тестирование.
Валидация (Validation) — это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе. Динамическое тестирование.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что такое качество? Какой продукт считается качественным?

A

Качество программного обеспечения — совокупность характеристик ПО, относящихся к его способности удовлетворять установленные и предполагаемые потребности.
Продукт считается качественным, если выполнены следующие характеристики:
Функциональность (Functionality) отвечает за то, что ПО работает исправно и точно, функционально совместимо, соответствует стандартам отрасли и защищено от несанкционированного доступа.
Надежность (Reliability) — способность ПО выполнять требуемые задачи в обозначенных условиях на протяжении заданного промежутка времени или указанное количество операций. Восстановление после сбоев в работе, завершенность и целостность.
Удобство использования (Usability) — возможность легкого понимания, изучения, использования и привлекательности ПО для пользователя.
Эффективность (Efficiency) — способность ПО обеспечивать требуемый уровень производительности в соответствие с выделенными ресурсами, временем и другими обозначенными условиями.
Удобство сопровождения (Maintainability) — легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, реализации новых требований, облегчения дальнейшего обслуживания и адаптироваться к имеющемуся окружению.
Портативность (Portability) — характеризует ПО с точки зрения легкости его переноса из одного окружения (software/hardware) в другое.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Почему исчерпывающее тестирование невозможно?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Чем отличаются QA, QC, Testing?

A

Testing – выявляет и фиксирует дефекты. Валидация.
Testing (тестирование)
Включает в себя прохождение тест кейсов, обнаружение и оформление
дефектов.Общая схема тестирования выглядит примерно так:
● Тестировщик получает продукт и требования на входе
● Пишет сам или получает уже готовые тест кейсы
● Проверяет тест кейсы и оформляет дефекты (баги), если находит их
Сам процесс тестирования.

QControl – предоставление объективной картины того, что происходит с качеством продукта на разных его этапах. Валидация.
QC — выполняет анализ результатов тестирования, анализирует метрики
и на основе их определяется текущее качество продукта.
Специалист QC занимается анализом результатов тестирования и
устранением обнаруженных дефектов. Это позволяет обеспечить соответствие
продукта определенным требованиям, установленным на этапе обеспечения
качества (QA).
Основная задача — анализировать. Специалист анализирует результаты
тестирования, сам процесс поиска ошибок и как они устранялись. Это
специалист, который может сказать, готов продукт к релизу или нет.

QA – выстраивает систему, которая будет превентивно работать на качество продукта, чтобы при тестировании количество дефектов было минимальным. Верификация
Специалист QA создает и реализует различные тактики для повышения
качества на всех стадиях: подготовка и установка стандартов, анализ качества,
выбор инструментов, предотвращение ошибок и постоянное
усовершенствование процесса. То есть он собирает информацию о продукте и
думает о том, как можно улучшить процесс разработки, какие методики
внедрить/убрать в работе всех участников процесса: разработчиков,
аналитиков и т.д.
Основная задача — продумать и построить процессы разработки так,
чтобы продукт был качественным и чтобы в нем было как можно меньше багов.
При этом необходимо стараться рационально расходовать финансовые,
временные и человеческие ресурсы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Как меняется стоимость исправления дефекта на разных этапах?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Что такое RCA в тестировании? Нужно ли его проводить?

A

RCA - это метод, используемый для поиска ответов на вопрос, почему возникла проблема. Он работает для того, чтобы определить происхождение проблемы, используя инструменты для выполнения ряда шагов, которые идентифицируют возможные причины, а затем первопричину проблемы. Смещение сроков, дефекты, сотрудник, который плохо обрабатывает.
Проводить нужно. Поняв причину бага, можно его легко воспроизвести и исправить, оценить приоритет. В жизни, не только баги.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

На что ты обращаешь внимание при ревью тест-кейсов?

A
  • Правильный технический язык, точность и единообразие формулировок
  • Баланс между специфичностью и общностью
  • “Показательность” (высокая вероятность обнаружения ошибок)
  • Последовательность в достижении цели
  • Отсутствие лишних действий
  • Неизбыточность по отношению к другим ТК
  • Демонстративность (способность демонстрировать обнаружение ошибок очевидным способом)
  • Прослеживаемость
  • Возможность повторного использования
  • Повторяемость
  • Соответствие принятым шаблонам оформления и традициям.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Как провести эстимейт задачи? Какие техники оценки знаешь?

A

Эстимация - процесс оценки трудозатрат.
Трудозатраты - количество рабочего времени необходимое для
выполнения работы. Выражается в человеко-часах

Эстимейт задачи можно провести разными способами.
Самые распространенные:
На основе разработки
Количество часов * 30%, когда на 1 тестировщика 2 разработчика
Количество часов * 50%, когда на 1 тестировщика 3 разработчика
2) Пальцем в небо
3) На основе опыта
4) Метод процентного распределения
5) Декомпозиции (Иерархическая декомпозиция объемных задач на более малые подзадачи с целью упрощения оценки, планирования и мониторинга выполнения работы)
6) By Test Cases
Декомпозиция
Средние затраты на 1 ТК (написание 1 ТК - 10м30шт=300м; время выполнения одного ТК - 10м30шт=300м; Умножение на его выполнение)
Определение количества дефектов и работа над 1 дефектом
Сколько дефектов можем найти (примерно 20%)
Время на оформление баг-репорта
Время на ретест
Риски+дополнительное время (30% от всего количества)
Сумма
7) По трем точкам (Оптимист + 4*Реальн + Риски)/6; Стандартное отклонение: (Пессим – Оптимист)/6

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Когда должно начинаться тестирование?

A

Как можно раньше, лучше всего на этапе зарождении идеи или разработке требований.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что такое тестирование со смещением влево (Shift left testing)?

A

Shift-left testing - это подход к тестированию программного обеспечения и системному тестированию, при котором тестирование выполняется на более ранней стадии жизненного цикла (т. е. перемещается влево на временной шкале проекта относительно традиционного места в хвосте производственной цепочки, состоящей из определения требований, анализа и проектирования, кодирования, тестирования и развертывания.). Это первая половина максимы “Тестируй рано и часто”.
Принцип “Shift left” заключается в том, чтобы начинать тестирование не в конце процесса разработки, а с его ранних этапов: тестирования концепции, требований и документации.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly