Самый приоритетный вид тестирования и объяснить почему так считаешь
Smoke - направлено на проверку самой главной, самой важной, самой ключевой
функциональности, неработоспособность которой делает бессмысленной саму идею использования приложения (или иного объекта, подвергаемого дымовому тестированию).
Самый низко-приоритетный вид тестирования
Расширенный тест - направлено на исследование всей заявленной в требованиях функциональности — даже той, которая низко проранжирована по степени важности. Ещё одним направлением исследования в рамках данного тестирования являются нетипичные, маловероятные, экзотические случаи и сценарии использования функций и свойств приложения, затронутых на предыдущих уровнях.
В каких случаях используются чеклисты, а в каких - тест-кейсы
Когда следует заканчивать тестирование
При выполнении критериев завершения тестирования. Пример:
Какие причины приводят к багам в ПО
Приведите пример 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 специалист
Цели тестирования
___
1. Оценка рабочих продуктов (требования, пользовательские истории, проектирование и код)
2. Все ли указанные требования выполнены
3. Завершен ли объект и работает, как ожидают пользователи и заинтересованные лица
4. Создание уверенности в уровне качества объекта тестирования
5. Предотвращение и обнаружение отказов и дефектов
6. Предоставление заинтересованным лицам достаточной информации, позволяющей им принять обоснованные решения
7. Снижения уровня риска ненадлежащего качества програмнного обеспечения
8. Соблюдение договорных, правовых или нормативных требований, или стандартов и/или проверка соответствия объекта тестирования им
Принципы тестирования
Как бороться с парадоксом пестицида?
Разница между l10n и i18n
Разница между ad-hoc и exploratory testing
ad-hoc - свободное неструктурированное тестирование
exploratory - структурированное ограниченное по времени и скоупу тестирование для исследования функционала
Примеры нефункционального тестирования
Виды требований
Неявные требования
Не всегда требования будут описаны на проекте в виде спецификации или пользовательской истории. В таком случае необходимо изучать неявные требования из других источников:
Это далеко не весь перечень, подробнее https://software-testing.ru/library/around-testing/requirements/3567-requirements
Алгоритм работы с требованиями со стороны тестировщика
Идеальный процесс
Неидеальный процесс
Характеристики хороших требований
Завершенность (completeness)
Требование является полным и законченным с точки зрения представления в нём всей необходимой информации, ничто не пропущено по соображениям «это и так всем понятно».
Примеры:
Атомарность, единичность (atomicity)
Требование является атомарным, если его нельзя разбить на отдельные требования без потери завершённости и оно описывает одну и только одну ситуацию.
Примеры:
Непротиворечивость, последовательность (consistency)
Требование не должно содержать внутренних противоречий и противоречий другим требованиям и документам.
Примеры:
Недвусмысленность (unambiguousness, clearness)
Требование должно быть описано без использования жаргона, неочевидных аббревиатур и расплывчатых формулировок, должно допускать только однозначное объективное понимание и быть атомарным в плане невозможности различной трактовки сочетания отдельных фраз.
Примеры:
Выполнимость (feasibility)
Требование должно быть технологически выполнимым и реализуемым в рамках бюджета и сроков разработки проекта.
Примеры:
Обязательность, нужность (obligatoriness) и актуальность (up-to-date).
Если требование необязательное, оно должно быть просто исключено из набора требований. Если требование нужное, но «не очень важное», для указания этого факта используется указание приоритета. Также исключены (или переработаны) должны быть неактуальные требования
Примеры:
Прослеживаемость (traceability)
Прослеживаемость бывает вертикальной (vertical traceability) и горизонтальной (horizontal traceability). Вертикальная позволяет соотносить между собой требования на различных уровнях требований, горизонтальная позволяет соотносить требование с тест-планом, тест-кейсами, архитектурными решениями и т.д. Для обеспечения прослеживаемости часто используются специальные инструменты по управлению требованиями (requirements management tool) и/или матрицы прослеживаемости (traceability matrix). Типичные проблемы с прослеживаемостью:
Примеры:
Модифицируемость (modifiability)
Это свойство характеризует простоту внесения изменений в отдельные требования и в набор требований.
Примеры:
Проранжированность по важности, стабильности, срочности (ranked for importance, stability, priority)
Важность характеризует зависимость успеха проекта от успеха реализации требования. Стабильность характеризует вероятность того, что в обозримом будущем в требование не будет внесено никаких изменений.
Срочность определяет распределение во времени усилий проектной команды по реализации того или иного требования.
Корректность (correctness) и проверяемость (verifiability)
Эти свойства вытекают из соблюдения всех вышеперечисленных. В дополнение можно отметить, что проверяемость подразумевает возможность создания объективного тест-кейса (тест-кейсов), однозначно показывающего, что требование реализовано верно и поведение приложения в точности соответствует требованию.
Источник:Святослав Куликов “Тестирование ПО. Базовый курс.”
Модели разработки. Отличия, преимущества и недостатки
Важно детально изучить, но позже
Очень упрощенно (почти на грани допустимого) можно сказать, что гибкая модель представляет собой облегченную с точки зрения документации смесь итерационной инкрементальной и спиральной моделей; при этом следует помнить об «agile-манифесте» и всех вытекающих из него преимуществах и недостатках.
Главным недостатком гибкой модели считается сложность ее применения к крупным проектам, а также частое ошибочное внедрение ее подходов, вызванное недопониманием фундаментальных принципов модели. Тем не менее можно утверждать, что всё больше и больше проектов начинают использовать гибкую модель разработки.
Scrum. Артефакты, события, роли