1/151
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Что такое тестирование ПО?
Проверка соответствия реальных и ожидаемых результатов поведения программы на конечном наборе тестов, выбранном определённым образом.
Какова основная цель тестирования ПО?
Проверить соответствие ПО предъявляемым требованиям, повысить уверенность в качестве и найти очевидные ошибки до того, как их обнаружат пользователи.
Зачем находить дефекты на ранних этапах?
Чтобы снизить стоимость исправления и предотвратить переработку уже реализованного функционала.
Что даёт тестирование с точки зрения пользователя?
Помогает обнаружить непредусмотренные варианты использования и оценить продукт с позиции пользователя.
Как дефекты влияют на лояльность пользователей?
Обнаруженный пользователем дефект может снизить доверие к продукту и компании.
Что такое QA?
Quality Assurance — обеспечение качества: работа с процессами разработки, коммуникациями, рисками, документацией, тестированием и улучшением процесса.
Что входит в задачи QA?
Проверка требований, оценка рисков, планирование улучшений качества, подготовка документации/окружения/данных, тестирование и анализ результатов.
Что такое QC?
Quality Control — контроль качества продукта: анализ результатов тестирования и качества новых версий.
Что входит в задачи QC?
Проверка готовности ПО к релизу и соответствия требований и качества проекта.
Что такое Testing в материалах?
Непосредственное тестирование: выполнение тестовой документации, фиксация фактического результата и сравнение его с ожидаемым.
Что такое фактический результат (ФР)?
Результат, который реально получен при выполнении теста.
Что такое ожидаемый результат (ОР)?
Результат, который согласно требованиям должен быть получен при выполнении теста.
Принципе тестирования про наличие дефектов
Тестирование демонстрирует наличие дефектов: оно снижает вероятность наличия дефектов, но не гарантирует их отсутствия.
Принцип про исчерпывающее тестирование
Исчерпывающее тестирование невозможно: физически нельзя проверить все комбинации входных данных, результатов и предусловий, кроме тривиальных случаев.
Принцип про раннее тестирование
Раннее тестирование: начинать тестирование следует как можно раньше в жизненном цикле разработки.
Принцип про скопление
Скопление дефектов: большая часть дефектов обычно находится в ограниченном количестве модулей.
Какой принцип тестирования называется «парадоксом пестицида» и что он означает?
Парадокс пестицида: повторение одного и того же набора тестов со временем перестаёт выявлять новые дефекты.
Принцип про контекст
Тестирование зависит от контекста: разные продукты и риски требуют разных подходов к тестированию.
Принцип про заблуждение
Заблуждение об отсутствии ошибок: отсутствие найденных дефектов не означает, что продукт готов и удовлетворяет потребностям пользователя.
Что такое верификация?
Оценка системы, чтобы понять, соответствуют ли результаты текущего этапа разработки условиям, сформулированным в его начале.
Что такое валидация?
Определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя.
Ключевое различие верификации и валидации
Верификация отвечает в духе «правильно ли мы реализуем то, что сформулировали?», валидация — «то ли мы вообще сделали для пользователя?».
Что показывает пример с аэробусом А310 о различии между верификацией и валидацией?
Логика программы формально соответствовала заданному условию, но в реальной ситуации с мокрой полосой не обеспечила нужное поведение; пример показывает различие верификации и валидации.
Какие две группы документации выделены?
Проектная документация и продуктовая документация.
Что такое проектная документация?
Документация, относящаяся к проекту в целом.
Что такое продуктовая документация?
Часть проектной документации, непосредственно относящаяся к разрабатываемому приложению или системе.
Что такое требование?
Спецификация (описание) того, что должно быть реализовано, без детализации технического способа реализации.
Атрибут требования: корректность
Требование точно описывает разрабатываемый функционал.
Атрибут требования: проверяемость
Требование сформулировано так, чтобы можно было однозначно определить, выполнено оно или нет.
Атрибут требования: полнота
В требовании содержится вся необходимая для реализации функциональности информация.
Атрибут требования: недвусмысленность
Требование содержит однозначные формулировки.
Атрибут требования: непротиворечивость
Требование не противоречит само себе, другим требованиям и документам.
Атрибут требования: приоритетность
У требования есть оценка значимости, позволяющая управлять ресурсами проекта.
Атрибут требования: атомарность
Требование нельзя разделить на отдельные части без потери деталей.
Атрибут требования: модифицируемость
В требование можно вносить изменения.
Атрибут требования: прослеживаемость
Каждое требование имеет уникальный идентификатор, по которому на него можно сослаться.
Зачем тестировать требования?
Чтобы лучше понять потребности пользователей, убрать двусмысленности и ошибки и снизить затраты на исправления.
Где можно брать требования?
Из ТЗ и спецификаций, от бизнес-аналитиков, разработчиков и архитекторов, от заказчиков и пользователей, из переписки/чатов/вики, встреч, планирований, Jira/Trello, облачных документов и макетов Figma.
Что такое SDLC?
Software Development Life Cycle — жизненный цикл разработки программного обеспечения.
Какие этапы включает жизненный цикл разработки ПО (SDLC)?
Сбор и анализ требований → проектирование → разработка → тестирование → развёртывание → эксплуатация и поддержка.
Что происходит на этапе анализа требований в SDLC?
Определяются требования, исследуются потребности пользователей и формируются функциональные и нефункциональные требования.
Что происходит на этапе проектирования в SDLC?
Разрабатываются архитектура и дизайн, определяются компоненты, их взаимосвязи и интерфейсы.
Что происходит на этапе разработки в SDLC?
Реализуется продукт: программисты пишут код, создают функциональность и выполняют модульное тестирование.
Что происходит на этапе тестирования в SDLC?
Выявляются дефекты и проверяется соответствие продукта требованиям; могут выполняться функциональное, интеграционное, системное и другие виды тестирования.
Что происходит на этапе развёртывания в SDLC?
Продукт готовится к выпуску и установке на целевой среде.
Что происходит на этапе эксплуатации и поддержки в SDLC?
Система используется, мониторится, поддерживается, обновляется, исправляются ошибки и добавляется функциональность.
Что такое STLC?
Software Testing Life Cycle — жизненный цикл тестирования ПО.
Какие этапы включает жизненный цикл тестирования ПО (STLC)?
Анализ требований → планирование тестирования → дизайн тестов → подготовка тестовой среды → выполнение тестов → анализ результатов и отчётность → завершение тестирования.
Что происходит на этапе анализа требований в STLC?
Тестировщики изучают требования, понимают, что тестировать, определяют критерии приёмки и создают тестовую документацию.
Что определяется при планировании тестирования?
Цели, объём и подходы, области тестирования, ресурсы, сроки, критерии начала/завершения и риски.
Что происходит на этапе дизайна тестов в STLC?
Создаются тест-кейсы и сценарии, выбираются стратегия, методы, приоритеты и тестовые данные.
Что происходит на этапе подготовки тестовой среды в STLC?
Настраиваются ПО и инструменты, подготавливаются данные и проверяется готовность окружения.
Что происходит на этапе выполнения тестов в STLC?
Выполняются тесты, результаты фиксируются, найденные дефекты регистрируются, создаются отчёты.
Что анализируют после выполнения тестов?
Качество продукта, найденные дефекты и их критичность; принимается решение о готовности к выпуску и формируются отчёты.
Что происходит на этапе завершения тестирования в STLC?
Создаётся финальный отчёт, проводится ретроспектива, тестовые артефакты архивируются.
Почему STLC цикличен?
Его этапы могут повторяться и корректироваться в зависимости от результатов и потребностей проекта.
Что такое Severity?
Степень ущерба, который дефект наносит проекту. В материалах Severity выставляет тестировщик.
Что такое Priority?
Показывает, насколько быстро дефект должен быть устранён. В материалах Priority выставляет менеджер, тимлид или заказчик.
Что означает Severity S1 (Blocker) для дефекта?
Тестирование значительной части функциональности недоступно; дальнейшая работа с системой или ключевыми функциями невозможна.
Что означает Severity S2 (Critical) для дефекта?
Критическая ошибка в ключевой бизнес-логике, безопасности или важной части системы; может быть падение сервера или серьёзная неработоспособность с возможным workaround.
Что означает Severity S3 (Major) для дефекта?
Не работает важная часть функции при специфических условиях, есть workaround или проблема менее значимой части функции; сюда же относятся заметные визуальные дефекты.
Что означает Severity S4 (Minor) для дефекта?
Часто GUI-ошибки, не влияющие на функциональность, но ухудшающие внешний вид/юзабилити, либо небольшие функциональные дефекты.
Что означает Severity S5 (Trivial) для дефекта?
Обычно опечатки, мелкие несоответствия шрифта/оттенка и другие проблемы без влияния на бизнес-логику и общее качество.
Что означает Priority P1 (High) для дефекта?
Критическая для проекта ошибка, которую нужно исправить как можно быстрее.
Что означает Priority P2 (Medium) для дефекта?
Некритичная для проекта ошибка, но требующая обязательного решения.
Что означает Priority P3 (Low) для дефекта?
Некритичная и не требующая срочного решения ошибка; может быть исправлена позже.
Пример High Priority + Low Severity
Устаревший логотип на странице регистрации: функциональность регистрации работает, но ошибка важна для брендинга и имиджа.
Пример Low Priority + High Severity
Неверный расчёт налогов при оформлении заказа, затрагивающий редкие условия: потенциальный финансовый и юридический ущерб высок, но срочность может быть низкой.
Что такое статическое тестирование?
Проверка артефактов разработки без запуска программы: например, требований, спецификаций или кода.
Что такое динамическое тестирование?
Проверка работающей программы; код должен быть запущен.
Что такое тестирование белого ящика?
Тестирование при полном доступе к внутренней структуре/коду системы.
Что такое тестирование серого ящика?
Комбинация white box и black box при частичном знании внутреннего устройства.
Что такое тестирование чёрного ящика?
Тестирование через внешние интерфейсы без знания внутреннего устройства системы.
Что такое модульное тестирование?
Проверка отдельных частей системы, например функций или методов; в материалах обычно выполняется разработчиками.
Что такое интеграционное тестирование?
Проверка взаимодействия нескольких модулей или компонентов системы.
Что такое системное тестирование?
Проверка всей системы целиком, включая функциональные и нефункциональные характеристики.
Что такое приёмочное тестирование?
Проверка соответствия системы требованиям и ожиданиям пользователей/заказчика.
Что такое ручное тестирование?
Тестирование, выполняемое человеком вручную.
Что такое автоматизированное тестирование?
Тестирование, выполняемое с помощью автоматизированных средств.
Что такое позитивное тестирование?
Проверка с использованием корректных данных и корректных операций.
Что такое негативное тестирование?
Проверка с использованием некорректных данных и/или некорректных операций.
Что такое Smoke Testing?
Быстрая проверка, что программа запускается и основные функции работают.
Что такое тестирование критического пути?
Проверка функций, которые пользователи используют в повседневной работе.
Что такое расширенное тестирование?
Полное исследование всех функций системы.
Что такое альфа-тестирование?
Раннее тестирование внутри компании-разработчика, возможно с привлечением пользователей.
Что такое бета-тестирование?
Тестирование ограниченной группой внешних пользователей для получения отзывов.
Что такое функциональное тестирование?
Проверка правильности работы функций приложения.
Что такое нефункциональное тестирование?
Проверка характеристик системы, не связанных непосредственно с функциональностью, например производительности и безопасности.
Что проверяет тестирование производительности?
Стабильность и ресурсоёмкость системы.
Что проверяет нагрузочное тестирование?
Работу системы под заданной нагрузкой, например при большом количестве одновременных пользователей.
Что проверяет тестирование масштабируемости?
Как система работает при изменении количества пользователей.
Что проверяет стрессовое тестирование?
Поведение системы при экстремальных нагрузках, превышающих обычные рабочие.
Что проверяет инсталляционное тестирование?
Установку, обновление и удаление приложения на различных платформах.
Что проверяет GUI/UI-тестирование?
Соответствие пользовательского интерфейса требованиям.
Что проверяет usability-тестирование?
Удобство и понятность использования системы.
Что проверяет локализационное тестирование?
Адаптацию приложения для разных культурных аудиторий.
Что проверяет тестирование безопасности?
Защиту системы от атак и несанкционированного доступа.
Что такое регрессионное тестирование?
Проверка того, что изменения в коде не сломали ранее работавшие функции.
Что такое re-testing?
Повторная проверка исправленного дефекта, чтобы подтвердить его устранение.
По каким признакам в материале классифицируются виды тестирования?
По запуску кода, доступу к коду, уровню детализации, степени автоматизации, принципу работы с приложением, уровню функционального тестирования, исполнителям и целям.