Классификация тестирования Flashcards

1
Q

Какие виды тестирования можешь назвать?

A

1) По доступу к коду и архитектуре:
Тестирование белого ящика
Тестирование серого ящика
Тестирование черного ящика
2) По запуску на исполнение:
Статическое
Динамическое тестирование
3) По уровне детализации приложения:
Модульное (отдельные части)
Интеграционное (взаимодействие между несколькими частями)
Системное (как единое целое)
Приемочное
4) По убыванию важности тестируемых функций:
Smoke (на начальном этапе для проверки критически важных функций)
Critical Path (проверяются основные функции, то, что используется типичным пользователем при типичной работе)
Extended (направлено на исследование всей заявленной в требованиях функциональности – даже той, которая низко проранжирована по степени важности)
5) По степени автоматизации:
Ручное
Автоматизированное
6) По принципам работы с приложением:
Позитивное
Негативное
7) По цели тестирования:
Regress (проверка работоспособности функциональности, которая ранее работала и была проверена после добавления новой функциональности)
Retest (проверка исправленного дефекта)
New Feature Test (smoke+Critical path+extended)
8) По степени формализации:
Интуитивное (выполнение без ТК, без определения ОР, подготовленных сценариев, на основе опыта тестировщика)
Исследовательское (активный контроль за проектированием тестов, в то время, когда они выполняются и использование полученной информации для улучшения тестов)
Тестирование на основе ТК (тестирование производится на основе заранее подготовленных ТК, наборов ТК и иной документации).
9) По степени функциональности:
Функциональное
Нефункциональное

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

Какие виды тестирования применяли на практике?

A

Модульное тестирование, интеграционное, смок, экстендед, критикал паз, позитивное, негативное, интуитивное, исследовательское, на основе ТК, функциональное.

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

Что такое Regression и Retest тестирование, какая между ними разница?

A

Regression - проверка работоспособности функциональности, которая ранее работала и была проверена, после добавления новой добавления новой функциональности. Если крупный баг. (Перед релизом)
Retest - проверка исправленности дефекта.

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

Что такое Configuration Testing?

A

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

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

Что такое Exploratory Testing?

A

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

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

Чем отличается исследовательское и ad-hoc тестирование?

A

Исследовательское - метод тестирования, когда происходит активный контроль за проектированием тестов, в то время, когда они выполняются и использование полученной информации для улучшения тестов.
Ad-hoc - неформализованный подход, когда тестирование выполняется без ТК, без определения ОР, без подготовленных сценариев, на основе опыта тестировщика. В результате тестирования узнаем смоук, запишем в чек-лист, баги. На основе чек-лсита будем делать ТК.

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

Что такое Black/Grey/White Box Testing?

A

Методы Тестирования черного, серого и белого ящика по доступу к коду.
Black Box Testing - метод тестирования без доступа к коду. Тестирование под ролью пользователя.
Grey Box Testing - метод тестирования с частичным доступом к коду. Когда, например, используем девтулс.
White Box Testing - метод тестирования, когда доступ к коду есть. Юнит тесты, проводят только разработчики.

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

Что такое Performance Testing?

A

Performance Testing -
Исследование показателей скорости реакции приложения на внешние воздействия при различной по характеру и интенсивности нагрузке.

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

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

Что такое Smoke и Sanity тестирование и какая между ними разница?

A

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

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

Чем отличается smoke от regression?

A

Smoke - проводится на начальном этапе для проверки основных, критически важных функций.
Regression - проверка работоспособности функциональности, которая ранее работала и была проверена, после добавления новой добавления новой функциональности. Цель — убедиться что свежие изменения в коде не оказали побочных эффектов на устоявшуюся работающую функциональность.

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

Что такое End-to-End тест?

A

Сквозное тестирование (End-to-end) — это вид тестирования, используемый для проверки программного обеспечения от начала до конца, а также его интеграцию с внешними интерфейсами. Цель сквозного тестирования состоит в проверке всего программного обеспечения на предмет зависимостей, целостности данных и связи с другими системами, интерфейсами и базами данных для проверки успешного выполнения полного производственного сценария. Является конечным видом тестирования, полностью имитирует действия пользователя.

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

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

A

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

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

Чем позитивное тестирование отличается от негативного?

A

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

В негативном работают с использованием данных, потенциально приводящих к ошибке, то есть, проверяются “нештатные ситуации”. Работает согласно требованиям

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

Чем отличается smoke, тестирование критического пути и расширенное?

A

Smoke - проводится на начальном этапе для проверки основных, критически важных функций.
Critical Path - проверяются основные функции, то, что используется типичным пользователем при типичной работе.
Extended - направлено на исследование всей заявленной в требованиях функциональности – даже той, которая низко проранжирована по степени важности.

17
Q

Чем отличается функциональное тестирование от нефункционального?

A

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

18
Q

Какие знаешь виды нефункционального тестирования?

A

Производимость
Удобство использования
Безопасность
Портируемость
Установка
Конфигурационное
Кроссбраузерное
GUI
Локализации
Интернационализации
Доступности

19
Q

Чем нагрузочное тестирование отличается от стресс-тестирования?

A

Нагрузочное - проверяет работоспособность при максимально допустимых значениях нагрузки.
Стресс - проверка работоспособности при нагрузках выше допустимых.

20
Q

Что такое тестирование API? Какими инструментами пользуются для его выполнения?

A

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

Swagger UI, Яндекс Полигон, Postman, SOAP UI

21
Q

На что нужно обращать внимание при тестировании локализации?

A

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

22
Q

Как выбираются тесты для smoke?

A

Выявляют критически важные функции и проверяют, работают ли они согласно ожиданиям. Идея данного вида тестирования заключается в том, чтобы выявить серьёзные проблемы как можно раньше, и отклонить этот билд (вернуть на доработку) на раннем этапе тестирования, чтобы не углубляться в долгие и сложные тесты, не затрачивая тем самым время на заведомо бракованное ПО. На основе приоритета ТК.

23
Q

Что имеет смысл автоматизировать?

A

Тесты с высокими рисками, когда сбои недопустимы
Тестовые сценарии, которые часто повторяются
Тестовые сценарии, которые очень сложны и утомительны для выполнения вручную
Тестовые примеры, отнимающие много времени

24
Q

Что знаешь о BDD?

A

Смысл BDD состоит в том, чтобы объединить продукт, посредством технических требований, написанных с использованием естественного языка, понятного каждому участнику проекта, чтобы, фактически, объединить постановку задачи, тесты и документацию воедино. Другими словами, определяется DSL (специфичный предметно-ориентированный язык), потом составляется стандартный ограниченный набор фраз, описывающих поведение нужных элементов. Затем с их помощью разрабатывается сценарий использования новой функциональности, который будет понятен всем.

25
Q

Что такое ROI автоматизации и как его считать?

A

ROI (коэффициент окупаемости инвестиций) - это показатель эффективности, который демонстрирует эффективность вложений как при большом объеме бюджета, так и при незначительных расходах, направленных на покрытие текущих потребностей.

ROI = (Стоимость Ручного Тестирования – Стоимость Автоматизированного Тестирования) / Стоимость Автоматизированного Тестирования

26
Q

Какие есть минусы полной автоматизации тестирования?

A

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