Термины/Словарь QA

Термины/Словарь QA/ Обеспечение качества (Quality Assurance, QA)

Поиск: ctrl+F

доп информация: сборник 500 терминов  (используемых в тестировании программного обеспечения от Glossary Working Party)

WORD / PDF

Главные термины в QA

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

Контроль качества (Quality Control - QC) - это совокупность действий, проводимых над продуктом в процессе разработки, для получения информации о его актуальном состоянии в разрезах: "готовность продукта к выпуску", "соответствие зафиксированным требованиям", "соответствие заявленному уровню качества продукта".

Верификация (verification)Соответствие продукта требованиям  спецификации - это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа. Т.е. выполняются ли наши цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы.

Валидация (validation) -  Соответствие продукта потребностям  пользователей- это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе.

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

Тест дизайн (Test Design) - это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест кейсы), в соответствии с определёнными ранее критериями качества и целями тестирования.

Тестовый случай (Test Case) - это артефакт, описывающий совокупность шагов, конкретных условий и параметров, необходимых для проверки реализации тестируемой функции или её части.

Тестовое Покрытие (Test Coverage) - это одна из метрик оценки качества тестирования, представляющая собой плотность покрытия тестами требований либо исполняемого кода.

 

SQL - проще говоря  — это язык программирования, с помощью которого мы обращаемся к базе данных.

Билд (build в ИТ) – объединение отдельных модулей программы в одну работающую систему.

Джира (JIRA) – система отслеживания ошибок, предназначенная для общения с пользователями и управления проектами.

Бекенд (back-end) – программная часть, которую не видят пользователи сайта, связана с написанием серверных скриптов.

Фронтенд (front-end) – интерфейс взаимодействия между пользователем и бэкендом.

XML – стандарт построения языков разметки иерархически структурированных данных для обмена между разными приложениями, в частности, через Интернет.

Чек-лист (Check list) — документ, в котором определен перечень того, что должно быть протестированным.

Спецификация (specification) — детальное описание того, как должно работать ПО.

UI (User Interface) — инструмент, помогающий наладить взаимодействие «пользователь-приложение».

UX (user experience) — ощущения, возникающие у пользователя при взаимодействии с продуктом.

 

Баг Репорт (Bug Report)

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

Серьезность (Severity) - это атрибут, характеризующий влияние дефекта на работоспособность приложения.

  • Trivial — косметическая малозаметная проблема.
  • Minor — очевидная, незначительная проблема.
  • Major — большая проблема.
  • Critical — проблема, нарушает работу ключевых функций ПО.
  • Blocker — проблема, нарушает функционирование ПО.

Приоритет (Priority) - это атрибут, указывающий на очередность выполнения задачи или устранения дефекта. Можно сказать, что это инструмент менеджера по планированию работ. Чем выше приоритет, тем быстрее нужно исправить дефект.

 

Типы тестирования по запуску кода на выполнение

Статическое (Static testing) — тип тестирования, который предполагает, что программный код во время тестирования не будет выполняться.

Динамическое (Dynamic testing) — тип тестирования, который предусматривает запуск программного кода.

 

Типы тестирования по принципу работы с приложениями

Положительное тестирования (Positive testing) — процесс тестирования программного обеспечения на то, как оно должно работать.

Негативное тестирование (Negative testing) — процесс тестирования программного обеспечения на то, как оно не должно работать.

 

Типы тестирования по уровню детализации приложения

Интеграционное тестирование — тестирование взаимодействия нескольких элементов системы.

Системное тестирование — тестирование всего приложения от начала до конца.

Модульное тестирование — тестирование определенных компонентов системы.

 

Типы тестирования по доступу к коду

Black box (черный) — тестировщик не знает, как устроена тестируемая система.

White box (белый) — тестировщик знает все детали тестируемой системы. Тестирование, основанное на анализе внутренней структуры компонента или системы.

Grey box (серый) — тестировщик знает только о некоторых особенностях тестируемой системы. Сочетает в себе тестирование методом черного и белого ящика.

 

Клиент-серверная архитектура

Клиент — та программа, с которой работает пользователь.

Сервер — компьютер, на котором хранится само приложение. Весь код, вся логика, все дополнительные материалы и справочники.

БД (база данных) — хранилище данных. Тут вы можете легко поискать информацию + уверены в том, что она сохранится, даже если в приложении что-то сломается.

 

Методы HTTP — запроса

GET

Предназначенный для получения информации с сервера.

HEAD

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

POST

Используется для отправки информации на ресурс. Запрос приводит к изменениям на сервере, многократное применение запроса POST может привести к дублировании записей в БД. Содержит тело, которое может быть в виде xml / html / json или в простом текстовом формате.

PUT

Предназначен для изменения данных на ресурсе, отправка запроса с методом PUT полностью обновить запись на ресурсе.

PATCH

Благодаря отправке запроса с методом PATCH можно частично изменять указанный ресурс. У запроса обязательно должно быть тело, где передаются параметры для корректировки данных на стороне сервера

DELETE

Метод позволяет отправить запрос на удаление указанной сущности. У запроса может быть тело, но оно необязательно. В нем можно указать параметры для поиска записи в базе данных и ее последующего удаления.

OPTIONS

Данный HTTP-метод позволяет получить сведения о деталях соединения с ресурсом. Благодаря данному методу можно узнать какие другие методы допустимы при обращении к ресурсу (передается в ответе в хэдере Allow). Если в стартовой строке вместо URI передается звездочка (*), то запрос направлен ко всему серверу, а не к конкретному ресурсу.

CONNECT

Метод дает возможность установить связь с ресурсом, организовывает своеобразный “туннель”. Может использоваться для установления соединения с ресурсами, которые применяют шифрование соединения по SSL. Клиент отправляет запрос прокси-сервер, который устанавливает зашифрованное соединение с сервером, устанавливая канал, по которому клиент и сервер могут безопасно обмениться сообщениями.

У запроса CONNECT нет тела, данный метод не является ни идемпотентным, ни кэшируемым.

TRACE

Позволяет следить за тем, что происходит с запросом на пути к целевому ресурсу, как изменяется запрос промежуточными серверами, например, прокси-серверами. Метод предназначен прежде всего для целей диагностики. Если метод доступен для ресурса, то в ответ на запрос TRACE сервер “отразит” в ответ сам запрос в изначальном виде, который был получен.

 

Менее важные термины

Автоматизированное тестирование (Automated testing) — процесс тестирования программного обеспечения, используя специальные программы.

Альфа-тестирование (Alpha testing) — имитация реальной работы с системой разработчиками, или же реальная работа потенциальных пользователей на ранней стадии разработки продукта.

Анекспектед бехевиер (Unexpected behavior) – неожиданное поведение.

Апдейт (Update) – обновление.

Аутпут (Output) – исходные данные, результат.

Аутсорсинг (Outsourcing) – полная или частичная передача задач, процессов для выполнения посторонним лицам – юридическим или физическими.

Багзилла (bugzilla) – система отслеживания ошибок и ведения задач.

Багтрекер (bug tracker) – система отслеживания ошибок; компьютерная программа, помогающая команде разработчиков и тестировщиков отслеживать и контролировать ошибки и пожелания пользователей, а также следить за устранением ошибок и исполнением пожеланий.

Баундри вельюс (boundary values) – предельные значения.

Бек лог (backlog) – документ, в котором по уровню важности собран перечень требований к функциональности, которые должны быть реализованы.

Бета-тестирование (Beta testing) — интенсивное использование почти готовой версии продукта с целью выявить и исправить как можно больше дефектов перед окончательным выпуском для пользователей.

Гайдлайн (guideline) – инструкция. В ИТ-сфере – руководство от одних разработчиков для других для правильной трактовки определенной работы.

Генерить (generate) – создавать, предлагать.

Голд плейтинг (gold plating) – лишен пользы.

Дебагинг (debugging) — процесс, во время которого находят и исправляют ошибки.

Девелопер (developer) – специалист, занимающийся разработкой программного обеспечения.

Деплоймент (deployment) – процесс развертывания программного продукта в готовности к использованию. Задеплоить – перенос программы в следующую среду, например в тестовую систему или на другой сервер.

Десктоп (desktop) – персональный компьютер.

Дефект репорта (defect report) – отчет об ошибке.

Домен – набор символов, которые определяют сайт в поисковой сети и идентифицируют для пользователей.

Дропдаун (dropdown) – выпадающий список.

Дымное тестирования (Smoke test) — проверка выполнения функций продуктом после сборки нового или исправленного текущего кода.

Эквивалентное разделение (equivalence partitioning) — техника, при которой функционал разделяется на группы значений, эквивалентных по воздействию на систему.

Жизненный цикл программного обеспечения — это условная схема, включающая в себя отдельные этапы, которые являются стадиями развития процесса создания ПО.

Сбой (failure) — несоответствие фактического результата работы системы или компонента тому результату, который ожидали.

Инсталляционное тестирование (Installation Testing) — процесс тестирования стадии установки.

Интродакшн (introduction) – знакомство с продуктом, командой и т.п.; представление кого-то, чего-нибудь.

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

Кликабельность (clickable) – возможность щелкнуть курсором мышки и перейти на ту или иную страницу.

Кодинг, кодирование – процесс написания кода.

Коммон сенс (common sense) – здравый смысл.

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

Кэш (cache) – временное хранилище для часто используемых файлов.

Лог (log) – файл со служебной и системной информацией о событиях в системе.

Манки джоб (monkey job, обезьянья работа) – простая, повторяющаяся или рутинная работа, не требующая больших затрат.

Мануальный (manual) – ручной.

Матрица соответствия требованиям (Traceability matrix) — двухмерная таблица, где определено соответствие функциональных требований и подготовленных тестовых сценариев.

Нагрузочное тестирование (Load testing) — определение работоспособности, стабильности, потребления ресурсов и других атрибутов качества приложения в условиях различных сценариев использования и нагрузок.

Натянуть ПО – использование готового программного обеспечения.

Нефункциональное тестирование (Non-functional testing) — тестирование свойств, которые не отвечают функциональности системы.

Оверлокинг (Overclocking) — увеличение частоты компонента компьютера с целью увеличения скорости его работы.

Операционное тестирования (Release Testing) — процесс проверки системы на удовлетворение всех потребностей пользователя и соответствия бизнес-требованиям.

Ошибка (error) — действие, после которого возникает неправильный результат.

Пофиксить (to fix) – исправить ошибку.

Предсказание ошибки (Error Guessing) — возможность тестировщика, благодаря своим знаниям и пониманию системы, предсказать, при каких условиях система может выдать ошибку.

Повторное тестирование (retesting) — тестирование, которое проводиться, чтобы убедиться в решении ранее найденных ошибок.

Пост-релиз (Post-release to manufacturing) — издание продукта с несколькими отличиями от RTM; является самой первой стадией разработки нового продукта.

Пре-альфа (Pre-alpha) — самая первая стадия разработки — от самого начала до стадии альфа.

Приемное тестирование (acceptance testing) — тестирование, направленное на проверку продукта с точки зрения конечного пользователя.

Причина/следствие (Cause/Effect) — введение определенных комбинаций для получения определенного результата.

Продакт стайл гайд (product style guide) – документ, в котором указано правильное использование графических и функциональных элементов платформы для разработки программного обеспечения под эту платформу.

Продакшн (production) – выпуск готового продукта.

Профит (profit) – польза, доход.

Регрессионное тестирование (regression testing) — проверка на наличие ошибок после выполнения определенных действий или внесения изменений в систему.

Релиз (Release to manufacturing) — выпуск продукта.

Релиз-кандидат (Release candidate) — предварительный релиз, который имеет потенциал стать окончательным, если не будут выявлены значительные нарушения.

Репозиторий (repository) – хранилище; специальный сервер, на котором хранится доступное для загрузки ПО.

Ручное тестирование (manual testing) — процесс ручной проверки программного обеспечения на наличие ошибок.

Санитарное тестирование (Sanity testing) — тестирование определенной функции с целью проверки, соответствует ли ее работа заявленным требованиям.

Система отслеживания ошибок (bug tracking system) — система контроля багов.

Скрам (scrum) – подход управления проектами для гибкой разработки программного обеспечения.

Скрипт (script) – сценарий; программа, содержащая последовательность действий, предназначенных для автоматического выполнения определенной задачи.

Скриншот (screen shot) – копия изображения экрана, хранящаяся и распространяемая в графическом формате.

Сравнительное тестирование (Back-To-Back Testing) — анализ плюсов и минусов продукта в сравнении с его ближайшими конкурентами.

Стадии разработки ПО — определенные этапы, которые проходит команда разработчиков от старта до того, как продукт станет доступен широкой аудитории.

Стейт транзишн тейбл (state transition table) – таблица переходов системы из одного состояния в другое.

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

Тестирование взаимодействия (Interoperability Testing) — функциональное тестирование, цель которого проверить, как может приложение взаимодействовать с одними или несколькими элементами/системами.

Тестирование восстановления (recovery testing) — проверка способности продукта восстанавливать свои функции после незапланированной ситуации.

Тестирование доступности (Accessibility Testing) — используется для выявления возможности использования системы и удобства для людей с ограниченными возможностями.

Тестирование сборки (Build Verification Test) — предварительная проверка разрабатываемого программного продукта перед запуском полномасштабного тестирования по всем параметрам, проведенного QA-командой.

Тестирование интернационализации/локализации — проверка готовности продукта к использованию его на разных языках, учитывая национальные и культурные особенности.

Тестирование пользовательского интерфейса (UI Testing) — тестирование, основная цель которого выявить, удобный ли определенный элемент для использования.

Тестирование масштабирования (Scalability Test) — изучение возможности увеличивать показатели производительности по мере увеличения количества доступных приложением ресурсов.

Тестирование сборки (Build Verification Test) — тестирование, цель которого выявить, соответствуют ли требования выпущенной версии критериям качества для начала тестирования.

Тестирование совместимости (Compatibility testing) — проверка возможности продукта работать в заданных условиях.

Фрилансер (freelancer) – специалист, который сам ищет проекты, компании для работы, часто работает в удаленном формате.

Функциональное тестирование (Functional Testing) — процесс проверки с целью определения функциональных возможностей приложения.

Эджайл (agile) – метод управления проектами, направленный на предоставление конечного результата на каждом этапе работы с возможным изменением конечного результата.

ISTQB (International Software Testing Qualification Board) – Международная коллегия тестирования программного обеспечения.

Software architecture document – документ, описывающий архитектуру программы, подходы и технологии, которые будут использоваться для ее разработки.

QA Engineer

QA Engineer

💻💻💻🖥