Теория Flashcards
Что такое тестирование?
Тестирование ПО – это проверка соответствия между реальным и ожидаемым поведением программы
Основная цель тестирования?
Предоставить актуальную информацию о том, насколько продукт соответствует требованиям
Какие виды тестирования вы знаете? (Нефункциональное)
- Нефункциональное
. Тестирование интерфейсов UI
. Юзабилити (UX)
. Интернализация
. Локализация
. Конфигурационное
. Совместимости
. Инсталляционное
. Производительности
. Документации
Какие виды тестирования вы знаете? (Функциональные)
-Функциональное
. Тестирование GUI
. Функции ПО
. Безопасности
Какие виды тестирования вы знаете? (По степени автоматизации)
- Ручное
- Автоматизированное
Какие виды тестирования вы знаете? (По доступу к коду)
- Черный ящик
- Белый ящик
- Серый ящик
Какие виды тестирования вы знаете? (Уровни тестирования)
- Модульное
- Интеграционное
- Системное
Что такое баг?
Несоответствие фактического результата ожидаемому
Что такое приоритет и серьезность ?
Приоритет – с точки зрения бизнеса, серьезность – с точки зрения функционала
Высокий приоритет и низкая серьезность?
Логотип компании
Высокая серьезность и низкий приоритет?
Например, отображение сайта на старых версиях браузера, где пользователи очень редко заходят на сайт
Классификация багов?
- Blocker
- Critical
- Major
- Minor
- Trivial
Атрибуты баг-репорта, какие основные поля он имеет?
- Заголовок
- Описание шагов воспроизведения ошибки
- Фактический/ожидаемый результат
- Вложения
- Приоритет
- Окружение
Расскажите о техниках тест-дизайна?
- эквивалентные классы
- граничные значения
- попарное тестирование
- таблица принятия решений
- сценарий использования
Зачем нужны техники тест-дизайна?
Техники тест дизайна помогают сократить количество тестов.
Что такое эквивалентные классы?
Это техника тест-дизайна, то есть набор данные, где система или программа будет себя вести одинаково, а именно приводит к одному и тому же результату
Что такое предельные значения, в чем их преимущество?
Это граничные значения входных данных, границах классов эквивалентности
Что такое таблица решений/decision table и как её можно использовать?
Это техника-тест дизайна, позволяющая наглядно показать все варианты событий
Что такое сценарий использования?
Описывает сценарий взаимодействия двух и более участников, как правило пользователя и систему. Пользователь может быть человек, так и другая система
Что такое попарное тестирование?
Это техника-тест дизайна, суть в том, что каждый тестируемый элемент должен хоть единожды пересекаться с другим тестируемым элементом
Зачем тестировать ПО?
Дать актуальную информацию о работоспособности всего функционала программного продукта и то, что он соответствует требованиям
Какие вы знаете тестовые артефакты?
Тест-план, чек-лист, тест-кейс и баг-репорт
Что такое тест-план?
Это документ, где присутствует полная информация о тестируемом продукте, а именно: сроки выполнения, объем работ по тестированию, детальное описание всех процессов (критерии, расписание, риски, оборудование)
Что такое тест-кейс?
Документ, в котором пошагово описан способ тестирования конкретно одного функционала
Что такое чек-лист?
Список необходимых проверок, очередность шагов, чтобы ничего не забыть при тестировании
Что такое баг-репорт?
Документ, где емко и подробно описана ошибка и как произвести данный баг
Какая разница между чек-листом и тест-кейсом?
В чек-листе описаны шаги тестирования, краткое описание того, что нужно сделать, а в тест-кейсе подробно описан каждый шаг, чтобы проверить корректность работы определенного функционала
Какая разница между тест-кейсом и баг-репортом?
В баг-репорте присутствует фактический результат
В чем разница между валидацией и верификацией?
Валидация – это проверка того, что продукт функционирует, как оно и планировалось (правильный продукт)
Верификация – это подтверждение, что тз было выполнено в полном объёме (продукт такой, какой должен быть)
Что такое динамическое тестирование?
Запуск программного кода
Что означает тестирование с верху вниз?
Постепенное тестирование всех модулей, сначала верхние, а потом нижние
Что такое Traceability Matrix?
Метод визуализации связей между элементами в форме таблицы
Что такое Smoke и Sanity тестирование и какая между ними разница?
Smoke – это проверка имеющегося функционала
Sanity – это узконаправленное тестирование одной фичи
Назовите обязанности QA?
Основная задача – это обеспечение качества программного продукта, предотвращение проблем и дефектов
Что такое A/B тестирование?
Это эксперимент, при котором есть две версии программного продукта и идет сравнение, какая версия будет лучше
Что такое HotFix ?
Быстрое исправление
Что такое http?
Это протокол запроса и передачи данных от клиента к серверу
Какие дополнительно протоколы можно отнести к HTTP?
HTTPS, TCP, IP, UDP, FTP
Отличие запроса от ответа?
Клиент отправляет запрос серверу, сервер его обрабатывает и систематизирует, затем отправляет ответ клиенту
Структура http request
- Метод (get, put, post, delete)
- Запрошенный URL
- Версия http
- Заголовок, Headers (User-Agent, Cookie, Refer, Host)
- Body
Структура http response
- Версия http
- Код состояния
- Пояснение второго этапа (OK, Found, Not Found)
- Заголовок, Headers (Server, Set Cookie)
- Body
Что такое CRUD, как расшифровывается
CRUD — акроним, обозначающий четыре базовые функции: создание, чтение, модификация, удаление.
По одному примеру букв CRUD
Post / Get / Put / Delete
Что такое метод GET?
Get – запрос на получение данных с сервера ( HTTP GET метод запрашивает представление указанного ресурса. Запросы с использованием GET должны использоваться только для запроса данных (они не должны включать данные).
Что такое метод HEAD?
Head – делает все тоже самое, что и Get, только без тела ответа
Что такое метод PUT?
Put – заменяет данные на сервере данными запроса ( PUT создаёт новый ресурс или заменяет представление целевого ресурса, данными представленными в теле запроса )
Что такое метод POST?
Post – отправка данных ( POST предназначен для отправки данных на сервер. Тип тела запроса указывается в заголовке Content-Type.
В чем разница методов PUT / POST?
Разница между PUT и POST состоит в том, что PUT является идемпотентным: повторное его применение даёт тот же результат, что и при первом применении (то есть у метода нет побочных эффектов), тогда как повторный вызов одного и того же метода POST может иметь такие эффекты, как например, оформление одного и того же заказа несколько раз.
Что такое метод DELETE?
Delete – удаляет указанный ресурс
Какие коды ответов могут прийти с DELETE?
Если метод DELETE успешно выполняется, то возможны следующие коды состояния ответа:
202 (Accepted) код состояния, если удаление будет успешным, но ещё не выполнено.
204 (No Content) код ответа, если удаление было выполнено, но тело ответа отсутствует.
200 (OK) код ответа, если удаление было выполнено, и ответ содержит код и объект описывающий состояние. )
Что такое метод CONNECT?
Connect – устанавливает связь к серверу, определенному по ресурсу
Что такое метод OPTIONS?
Options – используется для описания параметров соединения
Что такое метод TRACE?
Trace – выполняет вызов возвращаемого тестового сообщения с ресурса
Что такое метод Patch?
Patch – частичное изменения ресурса метод запроса HTTP PATCH частично изменяет ресурс.
Что такое идемпотентный запрос?
Идемпотентный запрос - это запрос который независимо сколько раз эго отправит клиент, сервер вернет один и тот же ответ, без изменений. Другими словами, создание большого количества идентичных запросов имеет такой же эффект, как и один запрос.
Какие есть идемпотентные методы?
По HTTP спецификации GET, HEAD, PUT, и delete имеют этот атрибут, POST и PATCH - нет.
Разница между PUT, POST и PATCH
методами
Метод PUT является идемпотентным, что означает, что многократный вызов одного и того же запроса приведет к одинаковому состоянию ресурса на сервере.
Весь ресурс обновляется новыми данными в теле запроса, что означает, что любые поля, не включенные в тело запроса, будут перезаписаны значениями null или по умолчанию.
PUT часто используется для создания нового ресурса, когда клиент указывает идентификатор ресурса. Например, при создании нового пользователя с определенным идентификатором.
Если ресурс, указанный в строке запроса, не существует, сервер может создать новый ресурс или вернуть ошибку, в зависимости от дизайна API.
Что такое HTTPS?
HTTPS – является расширением HTTP, данный протокол безопасный
Что такое сертификат SSL?
SSL-сертификат – это цифровой сертификат, удостоверяющий подлинность веб-сайта и позволяющий использовать зашифрованное соединение. Аббревиатура SSL означает Secure Sockets Layer – протокол безопасности, создающий зашифрованное соединение между веб-сервером и веб-браузером
Какие бывают ответы от сервера ?
1xx – информационные
2xx - успешно выполненные
3xx – редирект
4xx – ошибка со стороны клиента
5xx – ошибка со стороны сервера
Что такое URL?
Унифицированный показатель ресурса, то есть адрес, который выдан уникальный номер ресурсу в интернете
На чьей стороне должна быть валидация на клиенте или на сервере?
Валидация проходит на стороне клиента
Что такое SOAP?
Это формат обмена сообщениями, используется soap xml. Формат протокола.
Что такое VSDL?
VSDL – язык описания веб-служб, представляет из себя стандартную спецификацию описания служб с поддержкой XML
Что такое XSD?
XSD – язык описания структуры XML документа, его еще называют XML схема
Что такое XML?
XML – расширяемый язык разметки, предоставляет правила для определения любых данных
Что такое REST?
это архитектурный стиль, используется JSON.
Ориентирован на использование HTTP в качестве транспортного протокола.
Нет фиксированного формата в отличии от SOAP, мы можем обмениваться сообщениями, как и через XML, так и через JSON и использовать другие варианты. JSON – самый распространенный и часто используемый формат обмена сообщениями.
Различия REST и RESTful
Rest означает передачу состояния, то есть шаблон, а RESTful реализует данный шаблон.
Что такое JSON и его особенности
JSON – это формат передачи данных в интернете.
Основой является синтаксис объектов JS, которые используются для представления данных. Данные в данном формате хранятся «пара:значение» и упорядочивают списки.
Что такое SoupUI?
приложение с открытым исходным кодом для тестирования веб-сервисов сервис-ориентированных архитектур и передачи состояний представлений
Что такое Postman?
это платформа API, позволяющая разработчикам проектировать, создавать, тестировать и повторять свои API.
Какие ключевые функции выполняет Postman?
Создание коллекций и папок с запросами к вашему API (юбой разработчик или тестировщик, открыв коллекцию, сможет с лёгкостью разобраться в работе вашего сервис)
Составление запросов
Функция Collection Runner
Как создать метод в Postman?
Чтобы создать новый метод необходимо выбрать из списка имеющиеся, с целью что мы хотим получить
Для чего используют системы контроля версий?
Необходима для возможности управления изменениями в исходном коде с течением времени, помогают работать эффективнее и быстрее.
Защищает программный код от катастрафических сбоев, от случайных ухудшений, также от непредвиденных обстоятельствах
Что такое Git?
это один из способов контроля версий. Данная система записывает изменения в набор файлов, а позже позволяет вернуться к определенной версии.
Что такое commits, branches в Git?
Ветка (branch) — это история коммитов
Коммит (commit) — это единица состояния нашего проекта, ни одного файла, а всего проекта в целом, то есть может входить одно измнение, а также пакет изменений
Для чего нужны GitHub, GitLab и другие, базирующиеся на Git, вебхостинги проектов?
Эти сервисы помогают с легкостью управлять изменениями в проектах с открытым исходным кодом, обеспечивая при этом сохранение эффективности по мере продолжения разработки.
GitHub поддерживает размещение открытого исходного кода, он не является полностью открытым. Проекты на платформе публично доступны, также можно сделать полностью закрытыми
GitLab — это еще один веб-репозиторий git
В отличие от GitHub, GitLab предлагает бесплатные частные репозитории для проектов с открытым исходным кодом.
Вот некоторые из основных функций, которыми они обладают:
- Запрос изменение (pull request)
- Сторонние интеграции
- Вилка (fork) / клонирование репозитория
- Ревью кода
- Фрагменты кода
- Отслеживание проблем
- Расширенное управление разрешениями
Что такое клиент-серверная архитектура?
Это принцип разделения процессов на три взаимосвязанных элемента, которые работают независимо друг от друга
Объясните клиент-серверную архитектуру
бла-бла-бла
Что может выступать в роли клиента?
В качестве роли клиента выступает программный продукт
Что такое REST API, SOAP? В чем разница?
REST API
это архитектурный стиль
реализация: JSON через HTML
Ориентирован на использование HTTP в качестве транспортного протокола
Нет фиксированного формата (XML, JSON и др)
SOAP
это протокол передачи сообщений
реализация: XML поверх SOAP через HTTP
Ограничивает структуру сообщений на верхнем уровне
Формат обмена сообщениями: SOAP-XML
Какие протоколы передачи данных знаете?
HTTP, NTP, SSH, FTP и так далее
Как можно протестировать API, что там нужно проверять?
Протестировать API можно с помощью специальных инструментов, таких как, например “Postman”
Чем отличается GET от POST?
Основное отличие метода GET от POST в способе передачи данных. Запрос GET передает данные в URL в виде пар “имя-значение” (другими словами, через ссылку), а запрос POST передает данные в теле запроса
Какие отличия между XML и JSON?
Ключевое различие между JSON и XML заключается в том, что JSON имеет меньший размер файла и эффективно передает данные в Интернет по сравнению с XML. JSON обращается к данным через объекты JSON, тогда как XML требует анализа данных. JSON легко читается, поскольку имеет более организованную структуру кода
Как происходит шифрование?
- это процесс изменения информации таким образом, чтобы её смогли получить только нужные пользователи.
· конфиденциальность – данные скрыты от посторонних
· целостность – предотвращение изменения информации
· идентифицируемость – возможность определить отправителя данных и невозможность их отправки без отправителя
Какие бывают виды баз данных?
Реляционные и нереляционные
Термин «реляционный» пришел из алгебры (теория множеств). В формате БД это значит, что данные реляционных баз хранятся в виде таблиц и строк. Нереляционные БД размещают информацию в коллекциях документов JSON. Реляционные БД используют язык SQL (структурированных запросов)
Для чего необходимы инструменты разработчика в браузере (Chrome DevTools) и как они помогают в тестировании.
Chrome DevTools — это набор инструментов, встроенных в браузер Google Chrome, для создания и отладки сайтов. С их помощью можно просматривать исходный код сайта, отлаживать работу frontend: HTML, CSS и JavaScript. Также DevTools позволяет проверять сетевой трафик, быстродействие сайта и многое другое.
Что такое кэш?
Кэш – это предзагруженные данные, а именно файлы сайта, также картинки и тому подобное.
Какие есть типы дефектов
BUG - ош. программиста
ERROR - ош. пользователя (15 раз на кнопку)
FAILURE - краш системы, результат бага
Причины багов
- Непонимание или отсутствие инфы
- Сложность ПО
- Изменение требований
- Плохо задокументированный код
- Строение библиотек
Жизненный цикл бага
- обнаружен (open)
- назначен (assigned)
- в работе (in progress)
- на перепроверке (тут решение)
a. исправлен (fixed)
b. перепроверен (verified)
c. открыт заново (reopened)
d. отклонен (declined)
e. отложен (defferred)
f. закрыт (closed)
Какая есть тестова документация ?
Внутренняя
Внешняя
Что входит во внутреннюю документацию ?
ВНУТРЕННЯЯ (среди команды)
● ТЕСТ-СТРАТЕГИЯ
на компанию в целом, политика компании
● ТЕСТ-ПЛАН
док, который описывает полный объем работ по тестированию, детальное описание процесса (критерии, расписание, риски, оборудование) как и что будем делать?
● ЧЕК-ЛИСТ
список необходимых проверок, чтобы охватить обширный функционал и убедиться, что система в целом работает
очередность шагов
● ТЕСТ-КЕЙС
описание проверки конкретного функционала при детальном тестировании конкретного функционала
шаги
Что входит во внешнюю документацию ?
ВНЕШНЯЯ (отправляем разрабам)
● БАГ-РЕПОРТ
документ, где ёмко, подробно, понятно описывается баг и как его воспроизвести. Приоритет (с точки зрения бизнеса) серьезность (с точки зрения разрабов)
S1 - блокирующая S2 - критическая S3 - значительная
S4 - незначительная S5 - тривиальна
Что такое жизненный цикл ПО ?
Это период времени, который начинается с момента принятия решения о создании программного продукта и заканчивается в момент полного изъятия программы из эксплуатации.
Что входит в жизненный цикл ПО ?
● анализ требований
● проектирование (дизайн, макеты)
● кодирование (программирование)
● тестирование и отладка
● эксплуатация и сопровождение
Для чего нужна методология ?
Нужна, чтобы все сотрудники понимали как они работают, очередность этапов, методы оценки и контроля
Какие вы знаете методологии ПО
waterfall
V-model
spiral
scrum
kanban
Какая цель техник тест-дизайна ?
Сократить количество проверок. Хороший тест-дизайн приводит к оптимизации времени на тестирование, но при этом увеличивает покрытие и качество тестирования
Какие есть техники тест-дизайна ?
● Классы эквивалентности
● Анализ граничных значений
● Тестирование переходов между состояниями
● Таблица принятия решений
● Попарное тестирование
● Тестирование по сценариям использования
Расскажите про классы эквивалентности
Класс эквивалентности (equivalence class) - набор данных, обработка которых приводит к одному и тому же результату.
Два теста можно считать эквивалентными, в случае когда:
● они проверяют одну и ту же часть системы
● один тест находит ошибку, то и другой, скорее всего, найдет ошибку и наоборот
● они используют сходные наборы входных данных
● чтобы выполнить тесты, необходимо совершить одни и те же операции и выходит одна ошибка
Расскажите про технику тест-дизайна попарное тестирование
Значения всех блоков хотя бы единожды тестируются с каждым значением из всех остальных блоков. Подавляющее большинство багов выявляется тестом, проверяющим либо один параметр, либо сочетание двух
Главные цели Pairwise Testing:
● убрать избыточные проверки
● обеспечить хорошее тестовое покрытие
● выявить наибольшее количество багов на минимальном наборе тестов
Расскажите про технику тест-дизайна сценарий пользователя
Описывает сценарий взаимодействия двух и более участников (как правило – пользователя и системы). Пользователем может выступать как человек, так и другая система.
ПРИМЕР. ТЕСТИРОВАНИЕ ФОРМЫ РЕГИСТРАЦИИ
ШАГИ
1. Проверка того, что можно вообще тестировать форму: ввести валидные данные
2. Провести позитивные тесты на различных условиях, требованиях
1. Тестирование негативных тестов - система не сломается при невалидных данных, при нелогичном взаимодействии
Что такое симуляция ?
Симуляция — это воспроизведение работы программы-оригинала сугубо виртуально, на движке специальной программы (средство разработки курсов, к прим). Симуляция лишь имитирует выполнение кода, а не копирует его, всё виртуально на 100%, всё «понарошку».
«Я могу представить, как это должно ощущаться»
Что такое эмуляция ?
Эмуляция — это воспроизведение работы программы или системы (а не какой-то её мизерной части) с сохранением ключевых её свойств и принципов работы. Эмуляция выполняет программный код в привычной для этого кода среде, состоящей из тех же компонентов, что и эмулируемый объект.
«Я знаю что это такое»
Что можно посмотреть во вкладках devtools ?
Elements - отображается HTML-код, CSS
Console - могут отображаться какие-то ошибки, вводиться логи, здесь можно налету вводить JS-код Sources - данные, файлы, которые используются при работе странички (здесь есть возможность остановки каких-то скриптов)
Network - отображаются все запросы между клиентом и сервером и статусы их выполнения Performance - можно отследить загрузку страницы, какая нагрузка осуществляется Memory - сколько памяти занимает загруженный JS-код
Application - куки (личная информация) и кэш (картинки, стили, загруженные ранее)
Security - инфа по поводу сертификатов (HTTP/HTTPS)
Lighthouse - отвечает за то, как быстро прогрузится сайт. Тестирует скорость прогрузки страницы
HTML-код - язык разметки. Структура, функционал сайта - все строится на этом уровне. CSS - отображение сайта. Визуальная часть прописывается в CSS-блоке.
JS - динамика на сайте. Динамическое взаимодействие с элементами сайта, фичи создаются на JS.
Что такое АPI ?
API (Application Programming Interface) - программный интерфейс приложения. Способ взаимодействия двух серверов, помогает взаимодействовать различным сервисам между собой, использовать возможности друг друга. API позволяет слать информацию напрямую из одной программы в другую, минуя интерфейс взаимодействия с пользователем.
Каким может быть API ?
API может быть внутренним, частным — когда программные компоненты связаны между собой и используются внутри системы. А может быть открытым, публичным — в таком случае он позволяет внешним пользователям или другим программам получать информацию, которую можно интегрировать в свои приложения.
Как тестировать API ?
Тестирование API относится к интеграционному тестированию, а значит в ходе него можно отловить ошибки взаимодействия между модулями системы или между системами. Для тестирования используют специальные инструменты, где можно отправить входные данные в запросе и проверить точность выходных данных. Одним из таких инструментов как раз и является Postman.
Что умеет Postman ?
Составлять и отправлять запросы;
● Сохранять запросы в папки и коллекции;
● Параметризовать запросы;
● Добавлять к вызову API контрольные точки;
● Создавать разные окружения для одних и тех же запросов;
● Запускать коллекции с помощью Collection Runner и использовать их как автоматизированные тесты.
В чем разница REST / SOAP ?
REST - это архитектурный стиль - в основном для всего сообщества разработчиков, желательные правила (применяют и JSON, и XML)
SOAP - это формат обмена сообщениями xml(soap) - все в тегах /json - более читабельный больше для банковских сфер, где строгие правила,
REST - это архитектурный стиль - JSON
SOAP - протокол обмена данными - в банковской сфере - XML-код
Кэш и куки какие различия ?
Кеш - предзагруженные данные: медиа, стили, шрифты и пр.
Куки - сохраненные данные для авторизации, персонализированная инфа (напр, товары в корзине)
Объясните, что такое верификация ?
Верификация
Делают ли разработчики продукт правильно
Все ли функции реализованы
Предшествует валидации. Включает в себя полноценную проверку правильности написания.
Испытания организовываются разработчиками
Тип анализа – статистический. Проводится сравнение с установленными требованиями к итоговому проекту.
Оценка объективна. Она базируется на соответствии определенным стандартам.
Объясните, что такое валидация ?
Валидация
Правильный ли получился проект
Насколько грамотно реализована функциональность
Проводится после verification. Это – оценка качества итогового проекта.
Испытания организованы тестировщиками
Тип анализа – динамический. Проект проходит испытания по эксплуатации. Это помогает понять, насколько продукт соответствует действующим нормам.
Оценка субъективна. Она является личной. Это – оценка, которую ставит каждый тестировщик.
Что такое Спек ?
Это спецификация, документ, который описывает, как должна работать система (программа, сайт, мобильное приложение).
Что такое План тестирования ?
План тестирования — это документ, в котором описываются шаги, необходимые для выполнения необходимого тестирования. В нем также указано, кто в вашей организации будет отвечать за каждую задачу, какие функции продукта тестируются и когда проверка должна быть завершена.
Что такое исследовательское тестирование ?
Исследовательское тестирование больше основано на том, чтобы следовать своей интуиции и тестировать все, о чем вы можете подумать в данный момент.
Что такое функциональное тестирование ?
Функциональное тестирование фокусируется на функциях продукта и проверке их соответствия требованиям.
Что такое тестирование локализации ?
Тестирование локализации проверяет, что продукт работает должным образом с разными языками, валютой и часовыми поясами.
Что такое тестирование производительность ?
Тестирование, которое проводится с целью определения, как быстро работает вычислительная система или её часть под определённой нагрузкой.
Что такое тестирование безопасности ?
Тестирование безопасности гарантирует, что ваше приложение безопасно и не представляет риска для личной информации или личных данных.
Что такое критерии приостановки ?
Это условия, которые требуют временной остановки тестирования.
Что такое критерии выхода ?
Это условия, составляющие успешное испытание. Когда критерий выхода выполнен, тест может перейти к следующему этапу.
Что такое сводка тестирования ?
Краткий обзор того, что было протестировано, и были там ли обнаружены какие-либо проблемы.
Тестовые элементы — все характеристики и функции, которые были протестированы.
Зачем нужен идентификатор плана тестирования (ID)
Идентификатор плана тестирования требуется, чтобы отличить один план обеспечения качества от другого.
Зачем нужно расписание в тест-плане ?
Включает, когда тесты должны начинаться и останавливаться, кто несет ответственность, где это будет происходить и т. д.
Для чего нужен подход в тест-плане ?
Подход – как будет проходить тестирование.
Что такое требования к приостановке и возобновлению ?
Этот пункт представляет собой список условий, которые требуют приостановки и/или возобновления тестирования.
Что такое результаты тестирования ?
Это список всех результатов, которые потребуются после завершения тестирования.
Что такое задачи тестирования ?
Список всех задач, которые необходимы для выполнения QA-тестирования.
Что такое смета ?
Плановая смета времени и стоимости.
Что такое график ?
Список всех этапов и сроков, которые необходимо выполнить.
Что такое инструменты и ресурсы ?
Здесь будут подробно описаны любые инструменты, которые будут использоваться для тестирования.
Что такое риски ?
Включает в себя любые риски со значительными последствиями, которые необходимо учитывать.
Что такое метрики и KPI ?
Метрики и KPI — включает все элементы, которые необходимо отслеживать.
Зачем нужны фреймворки ?
Ускорить разработку. При использовании фреймворка программисту не нужно писать много кода с нуля. Он берёт готовый набор инструментов и подстраивает их под свой проект.
Предотвратить ошибки. Благодаря фреймворкам разработчик может избежать распространённых ошибок — как архитектурных, так и функциональных.
Упростить адаптацию новых разработчиков в команде. Если программист освоил один или несколько фреймворков, он быстро разберётся в любом проекте, который создан на их базе.
Что такое модель OSI ?
Эталонная модель взаимодействия открытых систем описывает, как устройства в локальных и глобальных сетях обмениваются данными и что происходит с этими данными.
Какие есть уровни OSI ?
- Физический
- Канальный
- Сетевой
- Транспортный
- Сеансовый
- Уровень представления данных
- Прикладной
Какие системы баг трекинга вы знаете ?
Jira, Redmine, Mantis, Trac, YouTrack, Trello, Google Таблицы
Что такое критичность бага ?
Критичность бага – это атрибут, который характеризует влияние бага на общую функциональность разрабатываемого ПО.
Какие критерии есть критичности бага ?
По критичности баги делят на:
S1. Блокирующий (Blocker). Всё тестируемое ПО не может работать без устранения бага. Например, приёмник начинает перезагружаться сразу после включения, мы не сможем больше ничего протестировать из-за этого бага.
S2. Критический (Critical). Большая часть ПО не может корректно работать. Например, приёмник не может открывать закодированные каналы. До устранения этого дефекта можно протестировать UI, а также функционал, не связанный с расшифровыванием каналов.
S3. Значительный (Major). Блокирует работу одной из основных логических цепочек ПО. Например, неправильное сообщение об ошибке при отсутствии подписки на пакет оператора.
S4. Незначительный (Minor). Не нарушает основные логические цепочки приложения, с ним можно продолжать работать почти без потери качества. Здесь можно привести неточный перевод с русского на английский в меню приёмника.
S5. Тривиальный (Trivial). Эта степень присваивается, когда баг вообще не влияет на общее качество работы ПО. Например, незначительное пересечение элементов в меню.
Что такое приоритет бага ?
Приоритет бага — это то, в каком порядке нужно решать проблемы.
Какие есть критерии приоритета бага ?
Существует три степени приоритетности:
P1. Высокий приоритет (High). Нужно исправить немедленно, потому что баг является крайне важным для всего релиза. Например, старое сообщение об отсутствии подписки на пакет, хотя обновление текстов являлось целью этого релиза.
P2. Средний приоритет (Medium). Точно нужно будет исправить, баг достаточно важен, но не требует немедленного решения. Например, некорректный перевод в меню приёмника.
P3. Низкий приоритет (Low). Нужно будет исправить, но баг не очень важный и не требует немедленного решения. Например, это могут быть баги в функционале, который уже не используется оператором, но ещё не был удалён из кода.
Пример с Баг репортом (не отвечать)
Заголовок (Summary)
Короткое описание проблемы, явно указывающее на причину и тип ошибочной ситуации.
Проект (Project)
Название тестируемого проекта
Компонент приложения (Component)
Название части или функции тестируемого продукта
Номер версии (Version)
Версия, на которой была найдена ошибка
Критичность
(Severity)
Наиболее распространена пятиуровневая система критичности:
S1 Блокирующий (Blocker)
S2 Критический (Critical)
S3 Значительный (Major)
S4 Незначительный (Minor)
S5 Тривиальный (Trivial)
Приоритет (Priority)
Приоритет дефекта:
P1 Высокий (High)
P2 Средний (Medium)
P3 Низкий (Low)
Статус (Status)
Статус бага. Зависит от используемой процедуры и жизненного цикла бага. Например:
Новый
Открыт
Закрыт
Автор (Author)
Создатель баг репорта
Назначен на (Assigned To)
Имя сотрудника, назначенного на решение проблемы
Описание (Description)
Информация об окружении, на котором был найден баг: операционная система, сервис пак, имя и версия браузера, версия ПО чипа, версия библиотеки и т.д.
Шаги, по которым можно легко воспроизвести ситуацию, приведшую к ошибке.
Полученный результат
Ожидаемый результат
Прикрепленный файл (Attachment)
Файл с логами, скриншот или любой другой документ, который может помочь прояснить причину ошибки или указать на способ решения проблемы
Источники ожидаемого результата и фактического
Ожидаемый результат - СПЕК
Фактический - Наблюдения
Что может повлиять на работу приложения ?
Разные ОС (Microsoft, MAC, Linux)
Разное железо (Видеокарта, процессор и т.д.)
Разные браузеры (Chrome, Firefox, Safari)
Разный сторонний софт (В браузере расширения, на компе касперский и другое ПО)
Версия 17.52 , какие цифры, что обозначают ?
17 - Основной релиз (Большой релиз)
5 - Доп. релиз (Планово выпускается новая функциональность, не связано с багами)
2 - Заплаточный релиз (Исправление багов)
Где тестят Альфа / Бета ?
Альфа - внутреннее / Бета - внешнее
Какие есть причины багов ?
Причины багов:
(Короткие сроки для сдачи ПО, Сложность системы, Отсутствие Юнит-тестирования, Баги в ПО третьих-лиц, Пренебрежение стандартам кодирования, Отсутствие опыта, Личностные качества программиста, Некачественный спек)
Через что улучшает качество QA и Test’er ?
QA призвано улучшить качество через улучшение разработки ПО.
Тестировщик через обнаружение багов
Что такое XML ?
XML — расширяемый язык разметки. Используется для хранения и передачи данных.
Что такое JSON ?
JSON - текстовый формат обмена данными, основанный на JavaScript. Но при этом формат независим от JS и может использоваться в любом языке программирования.
Что такое фрейм?
Frame — это отдельная область окна, являющаяся по своей структуре законченным документом HTML
Что такое HTML/CSS/JavaScript?
HTML – это язык разметки
CSS – это визуальная часть
JS – это динамика на сайте
Зачем чистить кэш?
Веб-страницы могут отображаться некоррекнто в связи с тем, что в них были внесены изменения, а браузер продолжает использовать устаревшие данные из кэша. С накоплением кэша место на компьютере, пусть незначительно, но уменьшается.
Как чистить кеш и cookie ?
Очистить историю браузера, там же можно и cookie
Что такое отладка ?
Отладка – это процесс поиска и исправления ошибок или неполадок в исходном коде какого-либо программного обеспечения.
Что такое легаси ?
Легаси-код — это код, который перешёл «по наследству» от предыдущих разработчиков.
Для чего в веб-страницах используют JavaScript?
Для придания интерактивности веб-страницам
Что такое AJAX?
Технология обращения к серверу без перезагрузки страницы
В чем отличие API, GUI и Unit-тестами? (пирамида тестирование)
UI-тесты — честный тест, робот делает все, что делал бы пользователь. Открывает браузер, тыкает на кнопочки… Но если что-то упадет, будете долго разбираться, где именно.
API-тесты — все то же самое, только без браузера. Мы просто подаем данные на вход и проверяем данные на выходе. Например, можно внести итоговый ответ в эксельку, и пусть робот выверяет ее, правильно ли заполняются данные? Локализовать проблему становится проще.
Unit-тесты — это когда мы проверяем каждую функцию отдельно. Отдельно смотрим расчет для ячейки 1, отдельно — для ячейки 2, и так далее. Такие тесты шустрее всего гоняются и баги по ним легко локализовать.
Unit-тесты – проверка небольших функций (интеграционное тестирование);
API-тесты – тесты конкретного функционала;
GUI-тесты, посредством использования графического интерфейса (использование методики, как бы это сделал пользователь).
В чем отличие QA от QC?
QA – это обеспечивает правильность и предсказуемость процесса,
QC – это обеспечение контроля, предполагает контроль соблюдения требований
Также QC часть QA.
Особенности тестирования desktop-приложений
- не требуют подключения к интернету
- размещение приложения на компьютере пользователя
- есть зависимость от операционной системы и требуют установки
- быстродействие данных приложений
Этот тип более уязвим, поскольку дает доступ к системным файлам программы
Виды тестирования, которые применяются к desktop-приложениям
- тестирование скачивания/удаления
- тестирование обновления
- функциональное тестирвоание
- ui/ux testing
- тестирование безопасности
- тестирование совместимости
Риски desktop-приложений
- потеря пользовательских данных
- вывод операционной системы из строя
- неработоспособность приложения
- риск некорректной работы приложения
Что такое тестирование установки
Тестирование установки проверяет, правильно ли установлена система, и корректно ли она работает на аппаратном обеспечении конкретного клиента.
- запускается ли программа после установки
- расположение программы в файловой системе по умолчанию
- расположение программы в файловой системе, если путь сохранения был изменен пользователем
- наличие ярлыков на рабочем столе
- есть установленный компонент в меню Пуск > Приложения
- установка приложения для текущего пользователя и для всех пользователей компьютера
- установка приложения пользователем с правами админа
-установка приложения пользователем без прав админа
Что такое тестирование обновления
Тестирование обновления — повторная установка приложения или обновление существующей версии приложения к более новой.
При тестировании обновления десктопного приложения следует обратить внимание, сразу ли приложение находит обновление и обновляется, или требует самостоятельного поиска версии обновлений и согласия пользователя.
После обновления приложения следует проверить:
- или данные пользователя не были повреждены
- все ли созданные ранее пользователем файлы остаются доступными
Что такое тестирование удаления
После удаления приложения следует убедиться, что:
- файлы удалились
-ярлык с рабочего стола исчез
- удалена запись из меню Пуск > Все программы
- выполняя команду %userprofile% с помощью командной строки (чтобы открыть личную папку текущего пользователя), нужно убедиться, что нет папок с названием программы
Распространенные дефекты десктопных приложений
- неправильная иконка ярлыка
- инсталляция дополнительных сервисов, на которые пользователь не давал согласия
- некоторые процессы приложения могут работать в фоне даже после его удаления проблемы, связанные с особенностями определенных операционных систем
- некорректные месседжи предупреждение
- проблемы с памятью, которые могут приводить к медленной работе, крешу программы или другим последствиям
- неавторизованный доступ к ограниченным приложениям со стороны сторонних пользователей
Какой движок использует Google?
Blink
Какой движок использует Safari?
WebKit
Какой движок использует Mozilla?
Gecko
Что такое Docker?
Это программа, которая позволяет положить любой софт в замкнутую среду, в контейнер, а после передавать данный контейнер на любую другую систему без потери работоспособности
Зачем нужен Docker для тестировщика?
- изоляция процессов (быстрее, чем с виртуалками)
- умеет быстро разворачивать систему
- поддерживать чистоту на рабочей машине
- отделение от ифраструктуры
Последовательность запросов SQL
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Основное отличие WHERE от HAVING
Заключается в том, что WHERE сначала выбирает строки, а затем группирует их и вычисляет агрегатные функции (таким образом, она отбирает строки для вычисления агрегатов), тогда как HAVING отбирает строки групп после группировки и вычисления агрегатных функций.
Что такое user agent ?
Пользовательский агент (user agent, UA), или агент пользователя, это компьютерная программа, представляющая пользователя и выполняющая действия от его лица, например, браузер в контексте Всемирной паутины
В чем разница rest и restful ?
На самом деле эти два понятия являются одним и тем же. Если вы создаете проект и в нем реализовали только URL для выборки данных, то это REST приложение или его ещё называют REST like приложение.
Если вы реализуете все серверные функции через REST, то это будет законченным REST приложением или другими словами RestFul приложение.
Что такое токен - API Token ?
Идентификатор, выпущенный пользователем. Позволяет изменить способ аутентификации и получить Access Token для авторизации дальнейших вызовов API.
API Token создается и удаляется в консоли управления Enterprise.
API Token бессрочный, но может быть отозван пользователем.
Что такое Access Token ?
Идентификатор сессии, который используется для авторизации при вызовах API.
Из каких этапов стоит тестирование ?
Это процесс, который состоит из планирования, анализа, проектирования и реализации тестов, создания отчетов о ходе и результатах тестирования, а также включает в себя оценку качества объекта тестирования
Что такое ПО ?
Программное обеспечение – совокупность компьютерных программ и связанных с ними данных, которая содержит инструкции по указанию компьютеру, что и как делать.
Какие цели тестирования?
Оценку рабочих продуктов, таких как требования, пользовательские истории, проектирование и код.
Проверку, все ли указанные требования выполнены.
Проверку, завершен ли объект тестирования и работает ли он так, как ожидают пользователи и заинтересованные лица.
Создание уверенности в уровне качества объекта тестирования.
Предотвращение дефектов.
Обнаружение отказов и дефектов.
Снижение уровня риска ненадлежащего качества программного обеспечения.
Что такое жизненный цикл тестирования ?
Жизненный цикл тестирования — это последовательность действий, проводимых в процессе тестирования, с помощью которых гарантируется качество программного обеспечения и его соответствие требованиям.
Из каких этапов состоит жизненный цикл тестирования ?
Цикл состоит из:
Анализ требований (подготовка вопросов по требованиям, определение целей тестирования и приоритетов, анализ и подготовка тестовой среды)
Тестовое планирование (написание тест плана, составление тестовой стратегии, оценка времени ресурсов для тестирования)
Написание тестовых случаев (написание тест-кейсов, авто тестов, подготовка тестовых данных)
Подготовка тестовой среды (настройка тестовой среды, настройка инструментов для тестирования)
Выполнение тестов (тестирование ПО, обнаружение и фиксация дефектов, проверка дефектов после исправления)
Завершающая фаза (написание отчета о тестировании, подведение итогов)