QA Русов Flashcards
Самый приоритетный вид тестирования и объяснить почему так считаешь
Smoke - направлено на проверку самой главной, самой важной, самой ключевой
функциональности, неработоспособность которой делает бессмысленной саму идею использования приложения (или иного объекта, подвергаемого дымовому тестированию).
Самый низко-приоритетный вид тестирования
Расширенный тест - направлено на исследование всей заявленной в требованиях функциональности — даже той, которая низко проранжирована по степени важности. Ещё одним направлением исследования в рамках данного тестирования являются нетипичные, маловероятные, экзотические случаи и сценарии использования функций и свойств приложения, затронутых на предыдущих уровнях.
В каких случаях используются чеклисты, а в каких - тест-кейсы
- Простота
- Длительность
- Стабильность требований
- Размер команды
- Чек-лист
- Для простых проектов
- Для простой функциональности
- Для коротких проектов
- При нестабильных требованиях
- Тест-кейсы
- Сложные проекты
- Сложная бизнес логика
- Нужна детальная проверка функциональности
- Для долгих проектов
- При большом количестве тестировщиков
- При “текучке” тестировщиков - для стабильности
- При стабильных требованиях
Когда следует заканчивать тестирование
При выполнении критериев завершения тестирования. Пример:
- Выполнение более 80 % запланированных на итерацию тест-кейсов
- Исправлено 100% критических багов
- Автоматизированно 80% регрессионных тест-кейсов
Какие причины приводят к багам в ПО
- Ошибки в коде
- Ошибки в ТЗ
- Непроработанные требования
- Несовместимость с другим ПО или с железом
Приведите пример end-to-end теста для интернет магазина
- Регистрация
- Логин
- Найти товар
- Добавить в корзину
- Оплатить
В каком случае тестирование может доказать отсутствие дефектов
Невозможно доказать отсутствие дефектов
Какие тесты надо автоматизировать
SDLC
Software development life cycle:
1. Инициация (идея)
1. Сбор требований
1. Дизайн
1. Разработка
1. Тестирование
1. Ввод в эксплуатацию
1. Вывод из эксплуатации
QC
Quality Control (контроль качества)
- Планирование тестирования
- Выполнение тестирования
- Анализ результатов
QA
Quality Assurance (Обеспечение качества)
QA - выстраивание процессов позволяющих получить высокий уровень качества продукта, которое может полноценно оценить только конечный пользователь.
К задачам обеспечения качества относятся:
- проверка технических характеристик и требований к ПО;
- оценка рисков;
- планирование задач для улучшения качества продукции;
- подготовка документации, тестового окружения и данных;
- тестирование;
- анализ результатов тестирования, а также составление отчетов и других документов.
Cовокупность мероприятий, охватывающих все технологические этапы разработки, выпуска и поддержки ПО, предпринимаемых на разных стадиях жизненного цикла ПО, для обеспечения требуемого уровня качества выпускаемого продукта.
Разница между тестированием, QC и QA
- Тестирование - рутинные операции составления кейсов и проверок
- QC - процесс планирования и анализа качества + тестирования
- QA - введение, поддержание и улучшение процессов для обеспечения определенного уровня качества
Тестирование и QC работают с продуктом. QA - работает с процессами
Можно различать:
- Джун это тестировщик
- Миддл это QC специалист
- Сеньер\лид - QA специалист
Цели тестирования
- Проверка на соответствие требованиям
- Уверенность в качестве продукта
- Обнаружение и предотвращение ошибок
- Предоставление ответственным лицам информации о качестве для принятия решений
- Снижение стоимости разработки (теоретически)
___
1. Оценка рабочих продуктов (требования, пользовательские истории, проектирование и код)
2. Все ли указанные требования выполнены
3. Завершен ли объект и работает, как ожидают пользователи и заинтересованные лица
4. Создание уверенности в уровне качества объекта тестирования
5. Предотвращение и обнаружение отказов и дефектов
6. Предоставление заинтересованным лицам достаточной информации, позволяющей им принять обоснованные решения
7. Снижения уровня риска ненадлежащего качества програмнного обеспечения
8. Соблюдение договорных, правовых или нормативных требований, или стандартов и/или проверка соответствия объекта тестирования им
Принципы тестирования
- Тестирование показывает наличие дефектов, но не их отсутствие
- Полноценное тестирование невозможно
- Чем раньше найден баг - тем дешевле его исправить
- Большинство дефектов скапливается в небольшой сфере
- Парадокс пестицида - прогон одних и тех же тестов ведет к тому, что новые баги не находятся
- Тестирование зависит от контекста (веб\игры\медицина\авиа\космос и т.д.)
- Заблуждение об отсутствии ошибок
Как бороться с парадоксом пестицида?
- Набор тестов, тестовых данных и подходов нужно постоянно пересматривать и улучшать
- Обновлять тесты и тестовые данные после исправления уже найденных дефектов
Разница между l10n и i18n
- l10n - Тестирование локализации
- i18n - Тестировании интернационализации
Разница между ad-hoc и exploratory testing
ad-hoc - свободное неструктурированное тестирование
exploratory - структурированное ограниченное по времени и скоупу тестирование для исследования функционала
Примеры нефункционального тестирования
- Нагрузочное
- Безопасность
- Локализация
- Интернационализация
- UX
Виды требований
- Бизнес
- Пользовательские
- Функциональные
- Нефункциональные
___ - Бизнес-требования (business requirements) выражают цель, ради которой разрабатывается продукт (зачем вообще он нужен, какая от него ожидается польза, как заказчик с его помощью будет получать прибыль).
- Пользовательские требования (user requirements) описывают задачи, которые пользователь может выполнять с помощью разрабатываемой системы (реакцию системы на действия пользователя, сценарии работы пользователя).
- Функциональные требования (functional requirements) описывают поведение системы, т.е. ее действия (вычисления, преобразования, проверки, обработку и т.д.).
- Нефункциональные требования (non-functional requirements) описывают свойства системы (удобство использования, безопасность, надежность, расширяемость и т.д.), которыми она должна обладать при реализации своего поведения.
Неявные требования
Не всегда требования будут описаны на проекте в виде спецификации или пользовательской истории. В таком случае необходимо изучать неявные требования из других источников:
- Законы, регламенты, инструкции
- Список задач, существующие тесты и баг-репорты
- Руководство пользователя
- Реклама продукта
- Интервью с командой и заказчиками
- Чаты и email-переписка
- Прототип, дизайн-макет
- Конкурентный анализ, личный опыт
Это далеко не весь перечень, подробнее https://software-testing.ru/library/around-testing/requirements/3567-requirements
Алгоритм работы с требованиями со стороны тестировщика
Идеальный процесс
- Требования создают бизнес-аналитики или владельцы продукта. Обычно они содержат в себе дизайнерские макеты.
- Требования попадают к тестировщику, которыйпроверяет их на соответствие свойствам качественных требований. Дополнительно в Scrum есть BacklogRefinement, где требования обсуждаются и уточняются командой на отдельном собрании.
- В случае обнаружениянеточностей, требования отправляются бизнес-аналитику на доработку, например, оставляется комментарий в системе.
- Пункты 2-3 повторяются до тех пор, пока не будут устранены несоответствия. Параллельно требования могут изучать другие участники команды: разработчики, дизайнеры
- После того как требования согласованы, они берутся в разработку, а тестировщики создают тестовую документацию для дальнейших проверок. Важно: тест-кейсы и чек-листы создаются до того, как функциональность из требования будет разработана. Вспоминаем Shift Left Testing и раннее тестирование.
- Вносить изменения в требования после начала спринтане рекомендуется и по-хорошему должно быть запрещено.
Неидеальный процесс
- Анализ требований не всегда осуществляется до этапа разработки, и уточнения могут вноситься уже во время нее
- Тестовая документация может создаватьсяуже после разработки функциональности
- Требования могут вообще не документироваться и быть на проекте в неявном виде
Характеристики хороших требований
- Завершенность
- Атомарность
- Непротиворечивость
- Недвусмысленность
- Выполнимость
- Обязательность, нужность и актуальность
- Прослеживаемость
- Модифицируемость
- Проранжированность по важности, стабильности, срочности
- Корректность и Проверяемость
Завершенность (completeness)
Требование является полным и законченным с точки зрения представления в нём всей необходимой информации, ничто не пропущено по соображениям «это и так всем понятно».
Примеры:
- Пароли должны храниться в зашифрованном виде
- Экспорт осуществляется в форматы PDF, PNG и т.д.
- Приведённые ссылки неоднозначны (например: «см. выше» вместо «см. раздел 123.45.b»)
Атомарность, единичность (atomicity)
Требование является атомарным, если его нельзя разбить на отдельные требования без потери завершённости и оно описывает одну и только одну ситуацию.
Примеры:
- Кнопка “Restart” не должна отображаться при остановленном сервисе, окно “Log” должно вмещать не менее 20-ти записей о последних действиях пользователя
- Если пользователь подтверждает заказ и редактирует заказ или откладывает заказ, должен выдаваться запрос на оплату
- Когда пользователь входит в систему, ему должно отображаться приветствие; когда пользователь вошёл в систему, должно отображаться имя пользователя; когда пользователь выходит из системы, должно отображаться прощание
Непротиворечивость, последовательность (consistency)
Требование не должно содержать внутренних противоречий и противоречий другим требованиям и документам.
Примеры:
- После успешного входа в систему пользователя, не имеющего права входить в систему…
- “712.a Кнопка “Close” всегда должна быть красной” и “36452.x Кнопка “Close” всегда должна быть синей” - противоречия в разных требованиях
- “В случае, если разрешение окна составляет менее 800x600…” — разрешение есть у экрана, у окна есть размер
Недвусмысленность (unambiguousness, clearness)
Требование должно быть описано без использования жаргона, неочевидных аббревиатур и расплывчатых формулировок, должно допускать только однозначное объективное понимание и быть атомарным в плане невозможности различной трактовки сочетания отдельных фраз.
Примеры:
- «Доступ к ФС осуществляется посредством системы прозрачного шифрования» и «ФС предоставляет возможность фиксировать сообщения в их текущем состоянии с хранением истории всех изменений» - что такое ФС?
- «Система конвертирует входной файл из формата PDF в выходной файл формата PNG» - некоторые вещи опущены, так как автор считает их очевидными
Выполнимость (feasibility)
Требование должно быть технологически выполнимым и реализуемым в рамках бюджета и сроков разработки проекта.
Примеры:
- Анализ договоров должен выполняться с применением искусственного интеллекта, который будет выносить однозначное корректное заключение о степени выгоды от заключения договора - технически невыполнимо на данный момент
- Система поиска должна заранее предусматривать все возможные варианты поисковых запросов и кэшировать их результаты - нельзя реализовать
- «озолочение» (gold plating) — требования, которые крайне долго и/или дорого реализуются и при этом практически бесполезны для конечных пользователей
Обязательность, нужность (obligatoriness) и актуальность (up-to-date).
Если требование необязательное, оно должно быть просто исключено из набора требований. Если требование нужное, но «не очень важное», для указания этого факта используется указание приоритета. Также исключены (или переработаны) должны быть неактуальные требования
Примеры:
- Требование было добавлено «на всякий случай», хотя реальной потребности в нём не было и нет.
- Требованию выставлены неверные значения приоритета по критериям важности и/или срочности.
- Требование устарело, но не было переработано или удалено.
Прослеживаемость (traceability)
Прослеживаемость бывает вертикальной (vertical traceability) и горизонтальной (horizontal traceability). Вертикальная позволяет соотносить между собой требования на различных уровнях требований, горизонтальная позволяет соотносить требование с тест-планом, тест-кейсами, архитектурными решениями и т.д. Для обеспечения прослеживаемости часто используются специальные инструменты по управлению требованиями (requirements management tool) и/или матрицы прослеживаемости (traceability matrix). Типичные проблемы с прослеживаемостью:
Примеры:
- Требования не пронумерованы, не структурированы, не имеют оглавления, не имеют работающих перекрёстных ссылок.
- При разработке требований не были использованы инструменты и техники управления требованиями.
- Набор требований неполный, носит обрывочный характер с явными «пробелами».
Модифицируемость (modifiability)
Это свойство характеризует простоту внесения изменений в отдельные требования и в набор требований.
Примеры:
- Требования неатомарны и непрослеживаемы, а потому их изменение с высокой вероятностью порождает противоречивость.
- Требования изначально противоречивы. В такой ситуации внесение изменений (не связанных с устранением противоречивости) только усугубляет ситуацию, увеличивая противоречивость и снижая прослеживаемость.
- Требования представлены в неудобной для обработки форме (например, не использованы инструменты управления требованиями, и в итоге команде приходится работать с десятками огромных текстовых документов).
Проранжированность по важности, стабильности, срочности (ranked for importance, stability, priority)
Важность характеризует зависимость успеха проекта от успеха реализации требования. Стабильность характеризует вероятность того, что в обозримом будущем в требование не будет внесено никаких изменений.
Срочность определяет распределение во времени усилий проектной команды по реализации того или иного требования.
Корректность (correctness) и проверяемость (verifiability)
Эти свойства вытекают из соблюдения всех вышеперечисленных. В дополнение можно отметить, что проверяемость подразумевает возможность создания объективного тест-кейса (тест-кейсов), однозначно показывающего, что требование реализовано верно и поведение приложения в точности соответствует требованию.
Источник:Святослав Куликов “Тестирование ПО. Базовый курс.”
Модели разработки. Отличия, преимущества и недостатки
Важно детально изучить, но позже
Очень упрощенно (почти на грани допустимого) можно сказать, что гибкая модель представляет собой облегченную с точки зрения документации смесь итерационной инкрементальной и спиральной моделей; при этом следует помнить об «agile-манифесте» и всех вытекающих из него преимуществах и недостатках.
Главным недостатком гибкой модели считается сложность ее применения к крупным проектам, а также частое ошибочное внедрение ее подходов, вызванное недопониманием фундаментальных принципов модели. Тем не менее можно утверждать, что всё больше и больше проектов начинают использовать гибкую модель разработки.
- Водопад
- V-образная
- Итерационная инкрементальная
- Спиральная
- Гибкая
Scrum. Артефакты, события, роли
- Команда
- Product owner (Замена бизнес аналитика)
- Управление бэклогом продукта
- Описание бэклога
- Development team (3-9 человек)
- Самоорганизация
- Кроссфункциональность (каждый может делать и dev и qa и analysis)
- Единственная роль - разработчик
- Коллективная ответственность (?)
- Scrum master (servant leader (?))
- Функционирование Scrum
- Обучение и понимание Scrum членами команды
- Product owner (Замена бизнес аналитика)
- События
- Спринт (2-4 недели) (инкремент)
- Планирование спринта (Sprint Planning)
- Ежедневный Scrum (Daily Scrum) (15 минут)
- Что делал вчера
- Что будешь делать сегодня
- Какие есть препятствия для выполнения цели
- Обзор спринта (Sprint Review)
- Ретроспектива (Sprint Retrospective)
- Спринт (2-4 недели) (инкремент)
- Артефакты
- Бэклог продукта
- Уточнение бэклога продукта (могут оцениваться сторипоинтами)
- Критерии подготовленности (definition of ready)
- Фокус на уровне бэклога
- Помогает заказчику создавать хорошо написанные пользовательские истории, которые готовы для разработки
- Критерии готовности (definition of done)
- Фокус на уровне спринта или релиза
- Помогает проверить работу в соответствии со всеми требованиями проекта, а не только продемонстрировать, что функциональности работают
- Примеры:
- Написаны unit\integration тесты и они все прошли
- У нас % критичных багов меньше тутутут
- Пользовательские истории
- As a [Role]
- I can [Functionality]
- So that [Rationale]
- Acceptance criteria
- Покер планирования
- Стори поинты - не привязка ко времени, а оценка сложности задачи
- Бэклог спринта
- Инкремент продукта
- Метрики
- Velocity - Velocity is calculated at the end of the Sprint by totaling the Points for all fully completed User Stories.
- Позволяет определить максимальное количество сторипоинтов которые можно взять в спринт
- Capacity - количество рабочих часов всех разработчиков. Учитывается при планировании и рассчете рисков (праздники, кто-то заболел и т.д.)
- Burndown chart (диаграмма сгорания задач)
- Cumulative flow diagram
- Velocity - Velocity is calculated at the end of the Sprint by totaling the Points for all fully completed User Stories.
Пирамида тестирования и подход к выбору тестов на каждом уровне
- Unit - 60%. dev
- Component - 10% (microservice). dev
- Integration - 10%. dev
- API - 10%. qa auto (black box)
- E2E - 5%. qa auto
- UI - 5%. qa
- Сначала функции\методы\классы
- Затем интеграция модулей между собой
- Затем тестирование API чёрным ящиком
- Затем сквозные тесты - минимум и не должны всё покрывать
- Затем ручные UI тесты
Что такое test harness?
Test Harness in Software Testing is a collection of stubs, drivers and other supporting tools required to automate test execution. Test harness executes tests by using a test library and generates test reports. Test harness contains all the information needed to compile and run a test like test cases, target deployment port(TDP), source file under test, stubs, etc.
В чем разница между bug leakage и bug release?
Bug leakage: когда протестированный продукт выпущен на рынок, и пользователь нашёл баг. Подразумевается, что этот баг прошел мимо внимания QA-команды в процессе тестирования.
Bug release: новая версия продукта выпущена на рынок, и в ней есть баг, известный команде, и его предполагается пофиксить в следующей версии. Обычно это баги с низким приоритетом; их принято указывать в примечаниях к релизу, то есть наличие бага не скрывается от конечных пользователей.
Что такое fuzz-тестирование?
В приложение подается большой объем рандомных данных. Таким способом иногда удается найти дыры в безопасности и другие проблемы.
Что такое пилотное тестирование?
(Pilot testing) — своего рода «репетиция» или «прогон» тестов, выполняемый небольшим количеством конечных пользователей, которые оценивают систему и дают фидбек перед этапом финального деплоя.
Что такое dev-box тестирование?
Выполняется разработчиком или, реже, тестировщиком на девелоперской системе до передачи в репозиторий. Цель: проверить основные функции приложения на стабильность и готовность к обычному тестированию.
Отличия тест-плана и тестовой стратегии
- Стратегия тестирования повествует об общих подходах
- План тестирования рассказывает о спецификации
___ - Стратегию тестирования проводит руководитель проекта
- План тестирования составляется менеджером или руководителем тестирования и описывает, как тестировать, когда тестировать, кто будет тестировать и что тестировать.
___
* Стратегия тестирования — это набор рекомендаций, которые объясняют дизайн тестирования и определяют, как необходимо проводить тестирование.
* План тестирования проекта программного обеспечения можно определить как документ, который определяет объем, цель, подход и акцент на усилиях по тестированию программного обеспечения.
Критерии начала и завершения тестирования. Примеры
Entry criteria:
- Выход билда для тестирования
- 100% требований и мокапов утверждены и проверены
Exit criteria:
- Выполнение более 80 % запланированных на итерацию тест-кейсов
- Исправлено 100% критических багов
- Автоматизированно 80% регрессионных тест-кейсов
Понятия чек-лист и тест-кейс
- Чек-лист - список проверок с результатами
- Тест-кейс - пошаговый сценарий с детальным описанием ожидаемого результата для каждого шага и приоритетом
Какие методы эстимации вы знаете? Эстимация по трем точкам
- Декомпозиция + по тест кейсам
- По трём точкам
- На основе опыта
- Пальцем в небо
- Метод процентного распределения
___
- Декомпозиция + By Test Cases- Декомпозиция
- Модули → Фичи → Таски
- Требование → Проверка → Количество
- 30 кейсов
- Рассчитываются средние затраты на один тест-кейс
- Написание одного кейса
- 10 минут
- Время на выполнение кейса
- 10 минут
- Умножение на общее количество тестов
- 301010=300мин
- Написание одного кейса
- Определение количества возможных дефектов и работу над одним дефектом
- Сколько дефектов мы можейм найти → предположение на основании предыдущего опыта
- 30/5=6 (20% дефектов)
- Время на оформление баг-репорта → аналогично одному тест-кейсу
- 6*10=60 минут
- Время на ретест (50% на первый ретест, 50% на второй ретест)
- 6210=120мин
- Сколько дефектов мы можейм найти → предположение на основании предыдущего опыта
- Риски + дополнительное время
- Коммуникация
- Изменение тест-кейсов
- Подготовка сборки\билдов
- Чаще всего это 30%
- Сумма
- кейсы(написание+выполнение) + дефекты(оформление+ретест) + риски(30%)
- 600 + 180 + 234 = 1014 минут = 16.9 часов
- Three Point Estimation
- 3 временные точки
- Оптимистичный: Ничего не помешает работе тестера и он все сделает в срок
- Реалистичный: Закладываются риски
- Пессимистичный: 1 из тестировщиков заболел
- Рассчет (на основе By Test Cases данных)
- (Оптимистичный + 4 * Реалистичный + Пессимистичный) / 6
- (13 + 4*17 + 20)/6 = 16.8 часа
- Стандартное отклонение: (Пессимистичный - Оптимистичный) / 6
- (20 - 13) / 6 = 1.2 часа
- Итого: 16,8 ± 1,2 часов
- Based on Development
- Testing Working Days
- Количество времени на тестирование умножается уменьшающий процент относительно количества тестировщиков на 1-го разработчика
- Dev Working Days * 30% - 3 тестера
- Dev Working Days * 50% - 2 тестера
- Грубая оценка, рекдо используется
- На основе опыта
- Количество времени на тестирование умножается уменьшающий процент относительно количества тестировщиков на 1-го разработчика
- Прошлая итерация дает представление о трудозатратах в будущем
- Пальцем в небо
- Метод процентного распределения - 20% времени разработки выделяется на тестирование
- В это время вписываются по % части STLC:
- Анализ требований
- Написание тестовой документации
- Тестирование
- В это время вписываются по % части STLC:
- Декомпозиция
Что такое матрица трассировки?
Матрица покрытия требований кейсами
Метрики
- Дефекты
Общее количество найденных багов
Общее количество неисправленных багов на проде
Баги в разрезе приоритета/серьезности
Баги в разрезе модуля. На основании этого можно посчитать плотность дефектов в отдельном модуле: баги в модуле/общее количество дефектов
Непотвержденные дефекты: число дефектов в статусе FAD/общее количество дефектов
Повторно открытые дефекты: повторно открытые баги/общее число дефектов - Кейсы
Общее количество написанных кейсов
Общее количество автотестов
Процент автоматизированных смоук-кейсов от общего числа
Процент автоматизированных регрессионных кейсов от общего числа
Процент автоматизированных кейсов с высоким приоритетом от общего числа
Процент покрытия требований манульными тестами: общее число кейсов/общее число требований - Оценка трудозатрат
Общее количество времени на регрессионное тестирование
Количество времени, затраченное на регрессионное тестирование с учетом автоматизации
Количество времени затраченного на смоук
Количество времени, затраченное на смоук тестирование с учетом автоматизации
Точность эстимации = оценочное время/фактическое время. Полученный коээфициент можно учитывать для будущих эстимаций - Дополнительные метрики
Оценка качества кода разработчика = дефекты в коде разработчика/общее количество дефектов
Удовлетворенность пользователей: опросы, оценки в маркетах - ВАЖНО
- ВСЕ МЕТРИКИ ДОЛЖНЫ БЫТЬ СОГЛАСОВАНЫ ДО ИХ ПРИМЕНЕНИЯ
- ОСНОВНЫЕ ИЗ НИХ ДОЛЖНЫ ПОПАДАТЬ В ОТЧЕТ ПО РЕЗУЛЬТАТАМ ТЕСТИРОВАНИЯ И ПРЕЗЕНТОВАТЬСЯ КОМАНДЕ
- ОБЯЗАТЕЛЬНОЕ ОТСЛЕЖИВАНИЕ В ДИНАМИКЕ, ВСЕ МЕТРИКИ ПРОСЧИТЫВАЮТСЯ КАЖДУЮ ИТЕРАЦИЮ И АНАЛИЗИРУЮТСЯ
Что такое отчет о результатах тестирования? Для чего он нужен?
вид отчета о тестировании, составляемый через регулярные промежутки времени, содержащий данные о ходе тестирования в сравнении с исходным планом, о рисках и альтернативах, требующих принятия решения. [ISTQB Glossary]
- Типы
- Промежуточный
- Недельный
- Дневной
- Месячный
- Версионный (по итерации)
- Финальный
- Промежуточный
- Части отчета
- Состав команды
- Сроки
- Описание процессов тестирования
- Дополнение к тестовым кейсам
- Процент пройденных кейсов
- Критичные баги
- Результаты регресса
- Планы (только для промежуточных)
Что такое тест-дизайн и тест-анализ?
- Тест-дизайн
- Тест-анализ - анализ того, какие проверки объединяем, каке удаляем
Что такое эквивалентное разбиение? Описать процесс и правила
- Все входные значения разбиваются на группы, которые дают один и тот же результат
- Значение не нужно проверять в центре, достаточно граничных значений
- Есть позитивные и негативные группы
- Позитивные - входные данные которые можем использовать
- Негативные - входные данные которые нельзя использовать (например значения меньше 0)
- Можно мобильные девайсы разбить на эквивалентые категории по характеристикам
Что такое граничные значения? Описать подходы определения
- Значения на границе класса эквивалентности
- Проверяется само значение и выход за границу, либо само значение и +1 и -1 от значения (CTFL Syllabus 2018 p.58)
Что такое попарное тестирование? Алгоритмы и инструменты
- Алгоритмы
- allpairs (стандартный алгоритм
- Ортогональные массивы (редко используется)
- Инструменты
- https://www.pairwise.org/tools.html
- Самый популярный - PICT от microsoft
- Простой онлайн вариант - https://pairwise.teremokgames.com/
- Генератор файлов определенных размеров: https://file.generator.teremokgames.com/
Что такое таблица принятия решений?
Таблицы альтернатив (прим. синоним) – хороший способ записи сложных бизнес-правил, которые должны быть реализованы в системе. В процессе создания таблицы, тестировщик определяет условия (входы) и результирующие действия системы (выходы). Пары условий и действий образуют строки таблицы, при этом условия указываются сверху, а действия – снизу. [ISTQB CTFL Syllabus 2018]
Другие техники тест-дизайна и их суть
- Тестирование состояний и переходов
- Используется очень редко
1. Переход может осуществлять как пользователь, так и система
2. Объект может находиться только в одном состоянии одновременно
3. Объект должен быть один
4. Данный вид тест дизайна не про GUI, а объекты в БД
- Используется очень редко
- Причина и следствие
- Предугадывание ошибок