7.77M
Категория: ПрограммированиеПрограммирование

Тестирование программного обеспечения и сетевые протоколы

1.

ТЕСТИРОВАНИЕ
Связанные с изменениями
По степени удалённости
• Альфа тестирование
• Бета тестирование 2 вида тестирования – открытый и закрытый. Как правило
проверяются нагрузочные параметры
Дымовое тестирование (smoke test) От начала до конца. Начиная с установки и запуска.
Регрессионное тестирование Проверка старого функционала после обновления.
Тестирование сборки Тестирование от начала до конца.
Санитарное тестирование Тестирование небольшого участка.
Уровни тестирования
Модульное тестирование Проверка небольших участков
Модульное тестирование Проверка взаимодействий разных модулей или программ
Системное тестирование (end to end) Проверка взаимодействий всех модулей или программ
Приёмочное тестирование Проверка заказчиком при сдаче проекта
Методы тестирования
• Чёрный ящик
• Белый ящик
• Серый ящик Частичный доступ. Например доступ к БЗ или к тех-й документации
По степени автоматизации
• Ручное
• Автоматизированное
Виды тестирования по объектам
• Функциональное тестирование
Требования
Входные данные
GUI тестирование
элемента
интерфейса
Выходные данные
Направления тестирования
• Статическое
• Работа над предотвращением появления дефектов. Проходит на стадии
проектирования. Выполняется без запуска приложения.
• Тестирование требований
• Проверка проекта и архитектуры проекта
• Проверка макета (дизайна)
• Проверка БЗ (проверка наличия необходимых полей)
• Проверка семантики кода (запускается ли)
• Проверка руководства пользователя
• Проверка тестовых данных
• Динамическое
По ожидаемому поведению
Прохождение
сценариев
Сравнение результатов
• Нефункциональное тестирование
Тестирование локализации
Тестирование Интерфейса (UI)
Юзабилити тестирование
Интернационализация
Безопасность
Конфигаруционное
Совместимости. Кроссбраузерное тестирование
Инсталяционное
Производительности
На отказ(помехоустойчивость)
Тестирование документации
Безопасность

2.

3.

Водопадная модель
Модели разработки
Водопадная модель
Инкрементальная модель
Итеративная модель
ПРОЕКТИРОВАНИЕ
ТРЕБОВАНИЯ
V образная модель
ПРОЕКТИРОВАНИЕ
КОДИРОВАНИЕ
Инкрементальная модель
ТЕСТИРОВАНИЕ
Итеративная модель
ЭКСПЛУАТАЦИЯ
Спиральная модель
ИДЕЯ
ПЛАНИРОВАНИЕ
ОЦЕНКА
РАЗРАБОТКА
ТЕСТИРОВАНИЕ
РАЗВЁРТЫВАНИЕ
Гибкая модель
Модель хаоса
Модель хаоса
Решается сама важная задача в первую очередь, по приоритетам.
V образная модель
Спиральная модель
БИЗНЕС
ТРЕБОВАНИЕЯ
ПРИЁМОЧНОЕ
ТЕСТИРОВАНИЕ
ФУНКЦИОНАЛЬНЫЕ
ТРЕБОВАНИЕЯ
ПЛАНИРОВАНИЕ
АНАЛИЗ РИСКОВ
ОЦЕНКА
РАЗРАБОТКА
ФУНКЦИОНАЛЬНОЕ
ТЕСТИРОВАНИЕ
АРХИТЕКТУРА
СИСТЕМЫ
ИНТЕРГРАЦИОННОЕ
ТЕСТИРОВАНИЕ
АРХИТЕКТУРА
КОМПОНЕНТОВ
МОДУЛЬНОЕ
ТЕСТИРОВАНИЕ
РАЗРАБОТКА

4.

Гибкая модель (SCRUM)
СТАРТ
СПРИНТ
СПРИНТ
2
N
ПЛАНИРОВАНИЕ
ДЕМОНСТРАЦИЯ
1
ТЕСТИРОВАНИЕ
ВНЕДРЕНИЕ
РАЗРАБОТКА

5.

ТЕСТИРОВАНИЕ
Связанные с изменениями
По степени автоматизации
• Ручное
• Автоматизированное
Дымовое тестирование (smoke test)
Регрессионное тестирование
Тестирование сборки
Санитарное тестирование
Уровни тестирования
Виды тестирования по объектам
• Функциональное тестирование
• Нефункциональное тестирование
Модульное тестирование
Модульное тестирование
Системное тестирование (end to end)
Приёмочное тестирование
Методы тестирования
По ожидаемому поведению
• Чёрный ящик
• Белый ящик
• Серый ящик
Направления тестирования
• Статическое
• Динамическое
По степени удалённости
• Альфа тестирование
• Бета тестирование

6.

Связанные с изменениями
Дымовое тестирование (smoke test)
От начала до конца. Начиная с установки и запуска.
Регрессионное тестирование
Проверка старого функционала после обновления.
Тестирование сборки
Тестирование от начала до конца.
Санитарное тестирование
Тестирование небольшого участка.
Уровни тестирования
Модульное тестирование
Проверка небольших участков
Интеграционное тестирование
Проверка взаимодействий разных модулей или программ
Системное тестирование (end to end)
Проверка взаимодействий всех модулей или программ
Приёмочное тестирование
Проверка заказчиком при сдаче проекта
Методы тестирования
Чёрный ящик
Без доступа к коду. Тестирование на уровне пользователя
Белый ящик
Полный доступ к коду
Серый ящик
Частичный доступ. Например доступ к БЗ или к тех-й док-ции

7.

Направления тестирования
Статическое
Динамическое
Работа над предотвращением появления дефектов.
Проходит на стадии проектирования. Выполняется без
запуска приложения.
• Тестирование требований
• Проверка проекта и архитектуры проекта
• Проверка макета (дизайна)
• Проверка БЗ (проверка наличия необходимых
полей)
• Проверка семантики кода (запускается ли)
• Проверка руководства пользователя
• Проверка тестовых данных
Поиск дефектов и их устранение при запуске
программы.
По степени удалённости
Альфа тестирование
Выполняется по готовности проекта, на ранних стадиях.
Бета тестирование
2 вида тестирования – открытый и закрытый.
Как правило проверяются нагрузочные параметры

8.

Объекты тестирование по объектам
Функциональное тестирование
Функциональное тестирование
GUI тестирование элемента интерфейса
Безопасность
Требования
Входные данные
Выходные данные
Прохождение сценариев
Сравнение результатов
Нефункциональное тестирование
Тестирование локализации
Язык
Формат даты
Начало недели
Часовой пояс
Единицы измерения
Денежная единица
Сортировка
Особенности имён
Контроль символики и цветов
Тестирование Интерфейса (UI)
Конфигаруционное
Производительности
Юзабилити тестирование
Совместимости
На отказ(помехоустойчивость)
Кроссбраузерное тестирование
Интернационализация
Безопасность
Тестирование документации
Инсталяционное

9.

Host Layers
TCP/IP
Модель организации сети
Модель и стек протоколов
Типы данных
Уровни
Данные
Прикладной
Доступ к сетевым
службам
HTTP, FTP, POP3, SMTP, WebSocket
Данные
Представления
Представление и
шифрование данных
EBCDIC, ASCII
Данные
Сеансовый
Поддержание сеанса
связи
RPC, PAP, L2TP, gRPC
Сегменты
Media Layers
OSI
Пакеты
Транспортный
Прямая связь между
конечными пунктами и
надёжность
Сетевой
Определение
маршрута и логическая
адресация (IP)
Прикладной
(Application layer)
Приложения.
Эти программы имеют свои собственные протоколы
обмена информацией, например, Интернетбраузер для протокола HTTP, ftp-клиент для
протокола FTP (передача файлов), почтовая
программа для протокола SMTP (электронная
почта), SSH (безопасное соединение с удалённой
машиной), DNS (преобразование символьных имён
в IP-адреса) и многие другие.
TCP, UDP, SCTP, Порты
Транспортный
могут решать проблему негарантированной доставки сообщений,
а также гарантировать правильную последовательность прихода
данных. В стеке TCP/IP определяют, для какого именно
приложения предназначены эти данные
IPv4, IPv6, IPsec, AppleTalk, ICMP
Межсетевой
разработан для передачи данных из одной сети в другую. На этом
уровне работают маршрутизаторы, которые перенаправляют
пакеты в нужную сеть путём расчёта адреса сети по маске сети
описывает способ кодирования данных для передачи пакета
данных на физическом уровне (то есть специальные
последовательности бит, определяющих начало и конец пакета
данных, а также обеспечивающие помехоустойчивость)
Кадры
Канальный
Физическая адресация
(MAC и LLC)
PPP, IEEE
802.22, Ethernet, DSL, ARP, сетева
я карта.
Канальный
Биты
Физический
Работа со средой
передачи, сигналами и
двоичными данными
USB, RJ («витая пара»,
коаксиальный,
оптоволоконный), радиоканал
Физический

10.

TCP/IP – сетевая модель передачи данных, представленных в цифровом виде. Модель описывает способ передачи данных от источника информации к получателю. В модели
предполагается прохождение информации через четыре уровня, каждый из которых описывается правилом (протоколом передачи). Наборы правил, решающих задачу по
передаче данных, составляют стек протоколов передачи данных, на которых базируется Интернет.
Название TCP/IP происходит из двух важнейших протоколов семейства — Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были первыми разработаны и
описаны в данном стандарте.
IP протокол – протокол сетевого уровня. Задача этого уровня – доставка IP-пакетов от отправителя к получателю. Данный пакет имеет IP-адреса отправителя и получателя.
Номера портов на сетевом уровне не используются, а так же неизвестно, был ли пакет доставлен.
TCP и UDP – протоколы транспортного уровня. Он находится над сетевым. На нём к пакету добавляются порты отправителя и получателя.
TCP – протокол с установлением соединения с гарантированной доставкой пакетов. Если пакет не доставлен, он посылается повторно.
UDP– протокол без установления соединения и с негарантированной доставкой пакетов.
Над транспортным уровнем находится прикладной уровень (Application layer), на котором работают такие протоколы как HTTP, FTP и пр.
SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи почты) — это широко используемый сетевой протокол, предназначенный для передачи электронной
почты в сетях TCP/IP.
FTP (англ. File Transfer Protocol) — протокол передачи файлов по сети, появившийся в 1971 году задолго до HTTP и даже до TCP/IP, благодаря чему является одним из
старейших прикладных протоколов. Изначально FTP работал поверх протокола NCP, на сегодняшний день широко используется для распространения ПО и доступа к
удалённым хостам. В отличие от TFTP, гарантирует передачу (либо выдачу ошибки).
HTTP (англ. Hypertext Transfer Protocol — «протокол передачи гипертекста») — сетевой протокол прикладного уровня, который изначально предназначался для получения с
серверов гипертекстовых документов в формате HTML, а с течением времени стал универсальным средством взаимодействия между узлами как Всемирной паутины, так и
изолированных веб-инфраструктур.
DNS (англ. Domain Name System «система доменных имён») — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для
получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты и/или обслуживающих узлах для протоколов в домене
(SRV-запись).
DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла) — сетевой протокол, позволяющий сетевым устройствам автоматически
получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации
компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP и получает от него нужные параметры. Сетевой
администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает
количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP.
Свойство
FTP
HTTP
Встроена аутентификация пользователей
Да
Нет
Изначально предусмотрен для передачи
Больших двоичных файлов
Небольших текстовых файлов
Модель соединения
Двойное подключение
Одиночное подключение
Поддерживает текстовый и двоичный режимы передачи
Да
Нет
Поддерживает указание типов передаваемых данных (MIME заголовки)
Нет
Да
Поддерживает операции над файловой системой (mkdir, rm, rename, и т. д.)
Да
Нет

11.

КАД
Р
разделител
ь
ра
зд
ел
ит
ел
ь

12.

REST
(от англ. Representational State Transfer — это архитектурный стиль взаимодействия между клиентом
и сервером через HTTP. Он определяет принципы построения API, обеспечивая стандартизированный и
эффективный обмен данными между различными системами.
Клиент
Данные (ресурсы)
Способ получения ресурсов
HTTP
HTTP запрос
URL
https:// librarian.com/books
Заголовки Headers
Content-Type: application/json
User_Agent: Mozila/5.0 (Win)
Date: Web, 21 Oct 2026
Accept-Language: ru-RU
Cookie:sessiod=FOSDOORQOD
{
“login”: “german”
“pasword”: “parol”
Тело Body
}
Тип запроса
Post
API
Сервер
• Сбор
• Обработка
• Выдача
API (от англ. application programming
interface, дословно интерфейс
программирования приложения) —
программный интерфейс, то есть
описание способов взаимодействия
одной компьютерной программы с
другими
SWAGER
это инструмент, который
помогает разработчикам
создавать, документировать и
проверять API. API — это
набор правил и и протоколов,
которые позволяют
различным системам
обмениваться информацией
между собой.
Используемый синтаксис:
• JSON
• YAML
Методы HTTP
• GET
• POST
• PUT
• PATCH
• DELETE
Тестирование
Интеграционные тесты
Вручную через Swagger
Автотесты через Postman

13.

URI (англ. Uniform Resource Identifier) — унифицированный (единообразный) идентификатор ресурса. URI — последовательность символов,
идентифицирующая абстрактный или физический ресурс. Ранее назывался Universal Resource Identifier — универсальный идентификатор ресурса.
URI является либо указателем ресурса URL, либо именем ресурса URN, либо одновременно обоими.
URL(end point) (англ. Uniform Resource Locator)— «единообразный указатель местонахождения ресурса») — адрес ресурса в сети Интернет.
URN — это URI, который только идентифицирует ресурс в определённом пространстве имён (и, соответственно, в определённом контексте), но не
указывает его местонахождение.
Например, URN urn:ISBN:0-395-36341-1 — это URI, который указывает на ресурс (книгу) 0-395-36341-1 в пространстве имён ISBN, но, в отличие от URL, URN
не указывает на местонахождение этого ресурса
Поскольку URI не всегда указывает на то, как получить ресурс, в отличие от URL, а только идентифицирует его, это даёт возможность описывать с
помощью RDF (Resource Description Framework) ресурсы, которые не могут быть получены через Интернет (например, личность, автомобиль, город и
проч.).
URL
URL
urn:isbn:5170224575 — URN книги, идентифицируемой номером ISBN.
urn:ietf:rfc:3406 — URN технической спецификации RFC 3406 организации «IETF».
urn:oid:2.16.643 — URN Российской Федерации, определённой по коду OID.
https://librarian.com/books?author=Gogol
URI
Протокол/Scheme
HTTP или HTTPS (S-Security)
HTTPS передаёт данные по
защищённому протоколу TLS
Квери
• Начинаются с ?
• Разделяются &
https://edadel.ru:443/moskva/offers?brand=milka&sort=price#menu
Домен/хост
Порт
От 0 до 65535
https – 443
http - 80
Путь (PATH)
Якорь
• Только один
• Начинается с #

14.

SOAP
SOAP (от англ. Simple Object Access Protocol — простой протокол доступа к объектам) — протокол обмена структурированными сообщениями
в распределённой вычислительной среде. Первоначально SOAP предназначался в основном для реализации удалённого вызова процедур (RPC).
Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. Официальная
спецификация последней версии 1.2 протокола никак не расшифровывает название SOAP[1].
SOAP является расширением протокола XML-RPC.
SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTP, HTTPS и др. Однако его взаимодействие с каждым из этих
протоколов имеет свои особенности, которые должны быть определены отдельно. Чаще всего SOAP используется поверх HTTP.
SOAP является одним из стандартов, на которых базируются технологии веб-служб.
Структура протокола
Сообщение SOAP
выглядит так:
Envelope — корневой элемент, который определяет сообщение и пространство имен, использованное в документе.
Header — содержит атрибуты сообщения, например: информация о безопасности или о сетевой маршрутизации.
Body — содержит сообщение, которым обмениваются приложения.
Fault — необязательный элемент, который предоставляет информацию об ошибках, которые произошли при обработке сообщений.
WSDL (англ. Web Services Description Language /ˈwɪz dəl/) — язык описания веб-сервисов и доступа к ним, основанный
на языке XML.
Структура
Каждый документ WSDL 1.1 можно разбить на следующие логические части:
1. определение типов данных (types) — определение вида отправляемых и получаемых сервисом XML-сообщений
2. элементы данных (message) — сообщения, используемые web-сервисом
3. абстрактные операции (portType) — список операций, которые могут быть выполнены с сообщениями
4. связывание сервисов (binding) — способ, которым сообщение будет доставлено
5. конкретная точка вызова сервиса (service) - эндпоинт/адрес по которому сервис доступен

15.

16.

17.

18.

Техники тест дизайна

19.

Физический
Канальная среда
Канальная среда
English     Русский Правила