
- •С какими процессами взаимодействует процесс тестирования?
- •4 Ценности Agile-методологии (манифест)
- •Кто определяет цели и задачи тестирования в проекте?
- •На что влияет качество существующих процессов?
- •Что влияет на выбор модели жц проекта?
- •Цели и задачи тестирования?
- •Приведите пример жизненного цикла ошибки.
- •Как можно описать качество пп?
- •К чему относится тестирование: Quality Assurance или Quality Tracking?
- •Какие системы управления качеством вы знаете?
Цели и задачи тестирования?
Цель тестирования – показать, что программа корректно выполняет предусмотренные функции, т.е. программа соответствует спецификации. Или, более детально, цель тестирования – показать, в каких ситуациях программа не соответствует спецификации, в то время как тестовые данные используются в соответствии со спецификацией программы.
В чем отличие тестирования от отладки?
Отладка программы — это специальный этап в разработке программы, состоящий в выявлении и устранении программных ошибок, факт существования которых уже установлен.
Тестирование позволяет выявить эти ошибки.
Что такое Верификация (verification) и что такое Валидация (validation)?
Верификация — подтверждение на основе представления объективных свидетельств того, что установленные требования были выполнены.
Валидация — подтверждение на основе представления объективных свидетельств того, что требования, предназначенные для конкретного использования или применения, выполнены.
Какие стратегии\подходы тестирования Вы знаете? Перечислите их.
Подходы
Black Box (нет доступа к исходному коду, тестирование с точки зрения конечного пользователя)
White Box (есть доступ к исходному коду, позволяет проверить внутреннюю структуру программы, анализ приложения на уровне кода)
Grey Box (есть доступ к части кода, смешанная методика)
Какие уровни тестирования Вы знаете? Перечислите их.
Уровни
Модульное (Unit-testing) - тестирование независимых элементов кода
Интеграционное (Integration-testing) – тестирование интерфейсов между протестированными модулями
Системное (System-testing)
Приемочное (Acceptance-testing) - тестирование на стороне заказчика
Какие виды тестирования Вы знаете? Перечислите их.
Виды
Функциональное
Тестирование производительности (performance testing)
Нагрузочное тестирование (load testing)
Стресс-тестирование (stress testing)
Тестирование безопасности
Localization testing
Platform testing
Installation testing
Regression testing
Перечислите основные этапы процесса тестирования.
Planning (планирование – определение целей, стратегии, подготовка тестового окружения, расстановка приоритетов)
Test-case design & creation (разработка тест-кейсов)
Test-case execution (выполнение тест-кейсов в соответствии с приоритетами)
Test-case review (просмотр кейсов другим тестером, внесение предложений)
Bug verification (инициализация ошибок)
Reporting & Metrics (оценка, метрики – проектные, процессные, product-метрики)
Что такое требование к ПО?
Требования к программному обеспечению — совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе разработки требований к программному обеспечению, в результате анализа требований.
Какие бывают типы требований?
Бизнес-требования —Содержат высокоуровневые цели организации или заказчиков системы. Как правило, их высказывают те, кто финансируют проект, покупатели системы, менеджер реальных пользователей, отдел маркетинга. В этом документе объясняется, почему организации нужна такая система, то есть описаны цели, которые организация намерена достичь с ее помощью.
Пользовательские требования —Описывают цели и задачи, которые пользователям даст система. К отличным способам представления этого вида требований относятся варианты использования, сценарии и таблицы «событие — отклик». Таким образом, в этом документе указано, что клиенты смогут делать с помощью системы.
Функциональные требования — определяют что должен реализовать продукт. Описывается в системной спецификации. Определяют функциональность ПО, которую разработчики должны построить, чтобы пользователи смогли выполнить свои задачи в рамках бизнес-требований. Иногда они называются требованиями поведения (behavioral requirements), они содержат положения с традиционным «должен» или «должна»: «Система должна по электронной почте отправлять пользователю подтверждение о заказе». Функциональные требования документируются в спецификации требований к ПО (software requirements specification, SRS), где описывается так полно, как необходимо, ожидаемое поведение системы.
Нефункциональные требования – описывают цели и атрибуты качества. Атрибуты качества (quality attributes) представляют собой дополнительное описание функций продукта, выраженное через описание его характеристик, важных для пользователей или разработчиков. К таким характеристикам относятся: * легкость и простота использования * легкость перемещения * целостность * эффективность и устойчивость к сбоям * внешние взаимодействия между системой и внешним миром * ограничения дизайна и реализации. Ограничения (constraints) касаются выбора возможности разработки внешнего вида и структуры продукта
Что такое Test Case?
Test Case - это специальная, искусственно созданная ситуация, выбранная определённым образом, и описание того, какие наблюдения за работой программы нужно сделать для проверки её соответствия некоторому требованию
Что должно быть в описании тест-кейса (приведите пример)?
Preconditions (предусловия) - список условий, выполнение которых говорит о том, что система находится в пригодном для проведения основного теста состояния
Actions, Steps (шаги) – список действий, переводящих систему из одного состояния в другое, для получения результата, на основании которого можно сделать вывод о соответствии поставленным требованиям
Expected Result (ожидаемый результат) – результат, который должен получиться после выполнения тест-кейса в соответствии с требованиями
Что такое Test Matrix (Тестовая матрица)?
Тестовая матрица – это матрица, в которой хранятся test cases со всеми необходимыми параметрами для их описания:
ID
Description
Pre-Conditions
Entry Point
Actions
Expected Result
Requirement ID
Priority
Что является источником\основанием для создания тест-кейсов?
Требования (Requirements)
Какие техники создания тест-кейсов Вы знаете? Перечислите и опишите основную идею каждой из них.
Разбиение на классы эквивалентности
Выделяются правильные и неправильные классы эквивалентности;
Тестируется правильный класс для каждого корректного значения;
Тестируется одно некорректное значение за раз.
Анализ граничных значений – проверяются значения на границе, а также значения больше граничного на единицу и меньше граничного на единицу; одно значение внутри интервала.
Таблицы решений
Определяется список возможных условий и действий;
Определяются комбинации условий и действий;
Создается тест-кейс для каждого правила (столбца).
Метод функциональных диаграмм
Осуществляется декомпозиция функциональных требований;
Выписываются причины, каждой из них присваивается уникальный номер;
Выписываются последствия, каждому из них также присваивается уникальный номер;
По спецификации составляется граф «причина-последствие»;
Строится таблица решений;
Записывается тест-кейс для каждого столбца.
Что такое «ошибка» (дефект, «баг»)?
Баг –дефект в программе. Это общий термин, используемый для описания ошибки, недостатка, сбоя или проблемы в программе или системе, которые приводят к неправильному или неожиданному результату, либо приводят к непредусмотренному поведению.
Какая информация обязательно должна быть в отчете об ошибке, чтобы ее можно было воспроизвести?
Bug ID – номер ошибки
Status – состояние ошибки
Title – краткое описание
Description – содержит информацию о шагах, ожидаемом и полученном результатах, версии билда, тестовом окружении
Severity – может указывать тестировщик
Priority – насколько ошибка критична для end-user’а
Date – дата обнаружения
Author – тестировщик, нашедший ошибку
Test-case ID – номер тест-кейса в матрице
Requirement ID – номер требования
Responsible Person – девелопер, ответственный за исправление