пятница, 2 июня 2023 г.

Виды тестирования

Позитив - ввод валидных значений

Негатив - ввод не валидных значений

Позитив - тестирование по требованиям 

Негатив - тестирование не по требованиям

??? - ввод не валидных значений, описанных в требованиях

Позитив - объект делает то, что должен делать

Негатив - объект не делает того, что не должен делать

Позитив - объект выполняет свою функцию

Исследовательское тестирование - при отсутствии требований, для изучения продукта тестирования на основании опыта и пр. источников.

четверг, 1 июня 2023 г.

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

Объединение теории по теме

Техники тест-дизайна - целью является максимальное покрытие с минимальным количеством тестов.

Методы:

Статические – без запуска кода (анализ кода, требований).

Динамические – запуск ПО.

Далее рассматриваются техники обеспечения качества, которые поделены на две группы соответственно: статические и динамические

четверг, 25 мая 2023 г.

SoapUI

SOAP  - начало знакомства здесь https://dmitrybvita.blogspot.com/2022/02/soap.html

Статьи

SoapUI: тестирование SOAP и REST API

Что такое API

По стандартному определению, «программный интерфейс приложения», программный «посредник» между приложениями. API состоит из набора правил взаимодействия, описывающих как приложение работает с другими приложениями. Иначе говоря, API — это механизм обмена данными (функциями) между приложениями.

Когда приложению нужны данные из другого приложения (или нужно отправить свои данные в другое приложение), происходит взаимодействие через API. Чаще всего приложению нужно запросить срабатывание сервиса (то есть какой-то «внешней функции») другого приложения. Суть API — не в взаимодействии с пользователем через пользовательский интерфейс, а в взаимодействии на уровне программа-программа.

Тестирование API

пятница, 19 мая 2023 г.

Инструменты для тестирования

Источник: https://habr.com/ru/articles/694696/

Инструменты

Я надеюсь, вы чувствуете, как машина тестирования завелась, и вам стало чуть проще.

Мне хочется дополнить свои рекомендации инструментами, которые пригодятся вам в работе:

Генератор одноразовых email https://temp-mail.org. Может понадобиться при проверке отображения формата письма для клиента. 

Калькулятор дней https://calcsoft.ru/calculator-dney, если нужно проверить промо-акции или опросы, когда есть необходимость задать граничное значение истечения срока.

Бесплатные SMS http://smsget.net/free/ru/. Полезно для тестирования авторизации.

Генераторы штрих-кодов и QR-кодов https://barcode.tec-it.com/ru. Может понадобиться при тестировании складских процессов или маркированной продукции.

Генератор валидных ИНН https://mellarius.ru/random-data. Его используют, например, для создания аккаунтов организаций, юр.лиц.

Json Viewer для проверки структуры json. https://jsonpathfinder.com/.

XML Viewer для проверки структуры XML https://codebeautify.org/xmlviewer

Md5 декодер http://www.online-decoder.com/ru.

Генераторы больших числовых или текстовых значений. С пробелами и без. Расширение Bug Magnet https://chrome.google.com/webstore/detail/bug-magnet/efhedldbjahpgjcneebmbolkalbhckfi. Очень полезная вещь при проверке граничных значений.

Тестовые карты Сбербанк https://securepayments.sberbank.ru/wiki/doku.php/test_cards Необходимы для тестирования оплат на тестовых контурах.

Все это вы можете найти на просторах интернета и не изобретать велосипед самостоятельно.

среда, 17 мая 2023 г.

Git и GitHub

Источник: https://blog.skillfactory.ru/glossary/git/

Git (читается как «гит») — это система контроля версий, которая помогает отслеживать историю изменений в файлах. Git используют программисты для совместной работы над проектами.

Git — система контроля версий

В самом простом виде контроль версий — это сохранение на компьютере серии измененных файлов.
Разработчикам часто бывает нужно вернуться к предыдущей версии кода.
Если над проектом работает много людей, нужно, чтобы они могли вносить изменения в одни и те же файлы без конфликтов и потерь кода. Все эти задачи удобно решаются с помощью Git.

пятница, 12 мая 2023 г.

Интернет и WWW

Всё из Вики

Интернет - информационно-коммуникационная сеть и всемирная система объединённых компьютерных сетей для хранения и передачи информации.

Построена на базе стека протоколов TCP/IP. На основе Интернета работает Всемирная паутина (World Wide Web, WWW) и множество других систем передачи данных.

TCP/IP — сетевая модель передачи данных, представленных в цифровом виде. Модель описывает способ передачи данных от источника информации к получателю. В модели предполагается прохождение информации через четыре уровня, каждый из которых описывается правилом (протоколом передачи). Наборы правил, решающих задачу по передаче данных, составляют стек протоколов передачи данных, на которых базируется Интернет. Название TCP/IP происходит из двух важнейших протоколов семейства — Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были первыми разработаны и описаны в данном стандарте.

среда, 19 апреля 2023 г.

Операционные системы

 Операционные системы


1. Компьютер и операционная система
2. Эволюция ОС — фундаментальные проблемы и слои абстракции
3. Представление и обработка процессов — структуры данных и очереди
4. Треды, SMP и микроядро
5. Несколько процессов в одной системе. Взаимное исключение. Семафоры. Проблема чтения/записи.
6. Дедлок и проблема обедающих философов
7. Организация памяти и виртуальная память
8. Планирование выполнения задач и диспетчеризация
9. Ввод и вывод

Операционные системы, урок 1: Что такое компьютер и операционная система


вторник, 18 апреля 2023 г.

XAMPP

XAMPP

XAMPP — бесплатный кроссплатформенный дистрибутив для сборки локального веб-сервера. Содержит Apache, MariaDB, язык программирования Perl, интерпретатор скриптов PHP и дополнительные библиотеки. Имеет открытый исходный код, простой в установке и использовании.

Что включает в себя XAMPP

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

  • Apache2 — веб-сервер, который поддерживают все операционные системы (Mac, Linux, Windows);
  • MariaDB — база данных, аналог MySQL;
  • PHP — интерпретатор PHP, используется актуальная стабильная версия;
  • Perl — язык программирования. В XAMPP входит его реализация под названием Strawberry Perl;
  • phpMyAdmin — веб-интерфейс для управления сайтом и базой данных, выглядит как простая веб-страница, открывается в браузере;
  • OpenSSL — библиотека для работы с SSL (для HTTPS);
  • XAMPP Control Panel — панель управления XAMPP, через которую происходит запуск, остановка и настройка компонентов. С помощью XAMPP Control Panel можно быстро получить доступ к различным конфигурационным и лог-файлам;
  • Webalizer — программа для чтения логов веб-сервера, генерирует HTML-страницу со статистикой работы веб-сервера и событиями;
  • Mercury Mail Transport System — почтовый сервер;
  • FileZilla FTP Server — файловый сервер;
  • Tomcat — контейнер серверов, используется для разработки на Java.

понедельник, 17 апреля 2023 г.

Putty, Telnet, SSH

https://ru.wikipedia.org/wiki/PuTTY

PuTTY (/ˈpʌti/, Пати) — свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin. Также имеется возможность работы через последовательный порт.

PuTTY позволяет подключиться и управлять удаленным узлом (например, сервером). В PuTTY реализована только клиентская сторона соединения — сторона отображения, в то время как сама работа выполняется на стороне сервера.

среда, 5 апреля 2023 г.

UML

На каком языке рисуют схемы: что такое UML и почему его понимают во всём мире

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

Что такое язык UML

UML (от англ. Unified Modeling Language) переводится как «унифицированный язык моделирования». Это графический язык, в котором каждой фигуре, символу, стрелке или их сочетаниям присвоены конкретные значения. Он позволяет визуализировать явление или процесс так, чтобы схема была понятна всем, кто знаком с UML.

Можно сказать, что UML — это набор правил, по которым нужно рисовать схемы. 

понедельник, 13 марта 2023 г.

Логи

Статьи

Логи сервера

Логи — это текстовые файлы, в которых хранится информация о пользователях, их взаимодействии с сервером, а также системная информация о работе сервера. Логи формируются в автоматическом режиме и сохраняются в хронологическом порядке. Поэтому их также называют журналом сервера (Server Logs).

Можно выделить несколько основных типов логов:

  • сведения о каждом обращении (IP-адрес и тип браузера посетителя) — access_log,
  • протоколы действий каждого посетителя (из какого источника перешел на сайт, сколько на нём находился, какие совершал операции и другое),
  • записи о сбоях и ошибках — error_log,
  • записи о входящих и исходящих сообщениях — почтовые логи,
  • сведения о загрузках и основные события в системе,
  • данные о количестве входов по FTP-соединению,
  • данные о действиях с файерволом, DNS-сервером, ядром системы,
  • статистика использования ресурсов сервера, время и количество входов в панель, обновление лицензии.

вторник, 7 марта 2023 г.

Системы мониторинга - Zabbix, Grafana, Kibana

Основы мониторинга

Мониторинг в ИТ сегодня – это система, которая позволяет в режиме реального времени выявлять проблемы в ИТ инфраструктуре, а также оценивать тренды использования ресурсов. 

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

В настоящее время существует большое количество систем для мониторинга различных категорий – сети, серверной инфраструктуры, производительности приложений (APM), реального пользователя (RUM), безопасности и др. 

Таким образом, мониторить можно все – от сетевой доступности узлов в огромной корпорации до значений датчика температуры в спальне в «умном» доме.

пятница, 3 марта 2023 г.

API

Варианты перевода application programming interface - интерфейс программирования приложений или программный интерфейс приложения.

Вот здесь вот https://habr.com/ru/post/464261/ простым языком описывается. + видео на эту же тему от того же автора https://www.youtube.com/watch?v=QYg5z6EGOk4 - с примерами применения. 

API (Application programming interface) — это контракт, который предоставляет программа. «Ко мне можно обращаться так и так, я обязуюсь делать то и это».

Контракт, который рассказывает о том, как мы можем общаться с этой системой.

четверг, 2 марта 2023 г.

JSON

Начало знакомства https://dmitrybvita.blogspot.com/2022/02/json.html

https://ru.wikipedia.org/wiki/JSON
JSON  — текстовый формат обмена данными, основанный на JavaScript.

Более лаконичен по сравнению с XML.

JSON-текст представляет собой (в закодированном виде) одну из двух структур:

  • Набор пар ключ: значение.
  • Упорядоченный набор значений.

В качестве значений в JSON могут быть использованы:

  • запись — это неупорядоченное множество пар ключ:значение, заключённое в фигурные скобки «{ }». Ключ описывается строкой, между ним и значением стоит символ «:». Пары ключ-значение отделяются друг от друга запятыми.
  • массив (одномерный) — это упорядоченное множество значений. Массив заключается в квадратные скобки «[ ]». Значения разделяются запятыми. Массив может быть пустым, то есть не содержать ни одного значения. Значения в пределах одного массива могут иметь разный тип.
  • число (целое или вещественное).
  • литералы true (логическое значение «истина»), false (логическое значение «ложь») и null.
  • строка — это упорядоченное множество из нуля или более символов юникода, заключённое в двойные кавычки. Символы могут быть указаны с использованием escape-последовательностей, начинающихся с обратной косой черты «\» (поддерживаются варианты \", \\, \/, \t, \n, \r, \f и \b), или записаны шестнадцатеричным кодом в кодировке Unicode в виде \uFFFF.

JSON Schema — один из языков описания структуры JSON-документа. Использует синтаксис JSON.

вторник, 28 февраля 2023 г.

Языки разметки: XML

 Для начала хорошо бы познакомиться с родоначальником и историей возникновения

https://ru.wikipedia.org/wiki/Язык_разметки

Статьи:

Что такое XML

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

Смысл XML в том, чтобы выстроить внутри документа логическую структуру.

Сила XML

Сила XML в том, что данные здесь представляются как обычный текст, размеченный тегами (как в HTML). Файлики получаются маленькими, из легко обрабатывать.

И ещё сила XML в том, что эти данные может прочитать и обработать компьютер. Для сравнения: если скормить компьютеру схему, нарисованную в графическом редакторе, он её не поймёт.

Если XML хорошо составлен, его также может понять человек.

понедельник, 13 февраля 2023 г.

Языки разметки: html+css

Бесплатный курс от Хекслет "Основы современной верстки"

Введение в HTML

Что такое HTML

HTML (HyperText Markup Language) — язык для разметки гипертекста, он является набором правил, по которым браузер отличает заголовки от списков, таблицы от картинок и так далее. 

Элемент - это общее понятие = тег с его атрибутом и контентом внутри.

Тег - просто конструкция.

Атрибут - это специальная конструкция позволяющая указать дополнительную информацию о теге или его характеристиках и настройках.

пятница, 3 февраля 2023 г.

Сокет и порт

Продолжаем разбираться в терминах

Статьи

Из Вики, чтобы было перед глазами: Уровни модели OSI

Модель
Уровень (layer)Тип данных (PDU[15])ФункцииПримерыОборудование
Host
layers
7. Прикладной (application)ДанныеДоступ к сетевым службамHTTPFTPPOP3SMTPWebSocketХосты (клиенты сети),

Межсетевой экран

6. Представления (presentation)Представление и шифрование данныхASCIIEBCDICJPEGMIDI
5. Сеансовый (session)Управление сеансом связиRPCPAPL2TPgRPC
4. Транспортный (transport)Сегменты

(segment) /Датаграммы (datagram)

Прямая связь между конечными пунктами и надёжностьTCPUDPSCTPПорты
Media[16]
layers
3. Сетевой (network)Пакеты (packet)Определение маршрута и логическая адресацияIPv4IPv6IPsecAppleTalkICMPМаршрутизаторСетевой шлюз,

Межсетевой экран

2. Канальный (data link)Биты (bit)/
Кадры (frame)
Физическая адресацияPPPIEEE 802.22EthernetDSLARPсетевая карта.Сетевой мостКоммутатор,

точка доступа

1. Физический (physical)Биты (bit)Работа со средой передачи, сигналами и двоичными даннымиUSBRJ («витая пара», коаксиальный, оптоволоконный), радиоканалКонцентратор,

Повторитель (сетевое оборудование)


Сети и протоколы

Видео

Курс Андрея Созыкина

Лекции Компьютерные сети, учебный курс. просмотрено

Практика Практики по компьютерным сетям  не просмотрено 

Сам курс на авторском сайте и презентации к лекциям

Компьютерные сети. Продвинутые темы не просмотрено 

Защищенные сетевые протоколы не просмотрено 

вторник, 31 января 2023 г.

Браузеры и запросы

Что такое HTTP и зачем он нужен

Просто и понятно всё описано

HTTP-запросы: структура, методы, строка статуса и коды состояния

HTTP-сообщения: запросы и ответы

Данные между клиентом и сервером в рамках работы протокола передаются с помощью HTTP-сообщений. Они бывают двух видов:

  • Запросы (HTTP Requests) — сообщения, которые отправляются клиентом на сервер, чтобы вызвать выполнение некоторых действий. Зачастую для получения доступа к определенному ресурсу. Основой запроса является HTTP-заголовок.
  • Ответы (HTTP Responses) — сообщения, которые сервер отправляет в ответ на клиентский запрос.

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

пятница, 13 января 2023 г.

devtools

Ряд статей

Введение в chrome devtools. Панель elements (https://htmlacademy.ru/blog/soft/chrome-devtools-1)

Расположение панелей

В правом верхнем углу находится кнопка (три точки), которая отвечает за расположение панелей. DevTools может находиться снизу, слева, справа, а ещё мы можем открепить отладчик и работать с ним в отдельном окне.

Вкладка Elements

С её помощью можно отслеживать элементы и их свойства на странице, можно редактировать стили.

понедельник, 2 января 2023 г.

SQL - основы

БД и СУБД: https://dmitrybvita.blogspot.com/2022/02/blog-post_8.html

SQL 

SQL — это структурированный язык запросов, созданный для того, чтобы получать из базы данных необходимую информацию. Если описать схему работы SQL простыми словами, то специалист формирует запрос и направляет его в базу. Та в свою очередь обрабатывает эту информацию, «понимает», что именно нужно специалисту, и отправляет ответ.

Данные хранятся в виде таблиц, они структурированы и разложены по строкам и столбцам, чтобы ими легче было оперировать. Такой способ хранения информации называют реляционными базами данных (от англ. relation — «отношения»). Название указывает на то, что объекты в такой базе связаны определенными отношениями.

Для чего нужен SQL

SQL — это не язык программирования, поэтому написать приложение или сайт с его помощью не получится, но при этом внутренняя работа сайта (backend) невозможна без запросов. 

Как работают запросы

Чтобы разобраться, как именно работает магия запроса, давайте представим его путь от пользователя до нужных ему данных:

Пользователь → Клиент → Запрос → Система управления → База данных → Таблица с базами данных

Данные для работы с SQL хранятся в таблицах. Как именно они устроены — разберемся ниже; пока же просто представим их. На пути от пользователя к таблице находится несколько посредников:

  • Клиент — способ введения запроса. В случае с Google, например, клиентом будет поисковая строка браузера, в которую пользователь вводит сформулированный запрос.
  • Система управления базами данных (СУБД) — комплекс программ, которые позволяют управлять данными. Эта система помогает таблицам понять, чего хочет пользователь, а пользователю — что ему отвечают таблицы.
  • База данных — система хранения таблиц, в которой они связаны между собой. База данных сама по себе не умеет манипулировать информацией — это просто хранилище, где у каждого объекта есть свое место.

Что такое база данных в SQL

SQL-запросы обращаются к данным в виде таблиц, то есть к реляционным базам данных. Упрощенный вариант такой базы — это таблицы Excel, в которых информация также упорядочена в столбцы и строки.

Основные понятия реляционной модели:

1. Отношение — это сама таблица, она двумерная и состоит из столбцов и строк.

2. Атрибут — столбец в таблице, который содержит один конкретный параметр: название, тип, дату, стоимость или другую характеристику.


3. Домен — это допустимые значения для каждого атрибута. Например, в столбце «Имя» или «Название» значения должны представлять собой набор буквенных символов, но они не могут начинаться с «ь» или «ъ» и не могут быть записаны числами.

4. Кортеж (строка или запись) — это табличная строка с порядковым номером, в которой содержится информация об одном конкретном объекте.


5. Значение — элемент таблицы, который находится на пересечении столбцов и строк.

6. Ключ — это самый важный столбец в таблице, за счет этих значений и происходит взаимодействие в реляционной базе данных, он связывает таблицы между собой.


Ключи бывают нескольких видов:
  • Первичный ключ — идентификатор, такой как индекс или артикул.
  • Потенциальный ключ — другое уникальное значение, которое может служить идентификатором.
  • Внешний ключ — столбец-ссылка, используется для объединения двух таблиц, каждое значение внешнего ключа обязательно соответствует первичному ключу в другой таблице.

SQL-операторы

Работать с данными помогают операторы — определенные слова или символы, которые используются для выполнения конкретной операции — например, для выбора из множества по конкретному параметру. Если нам нужно из всех видов пиццы отсортировать те, в которых есть пармезан, — нужно использовать оператор SELECT (выбор в соответствии с условием).

Операторы в SQL делятся на несколько групп в соответствии с задачами, которые они решают.

DDL (Data Definition Language) — операторы определения данных. Они работают с объектами, то есть с целыми таблицами. Если базу нужно дополнить таблицей с новыми данными или, наоборот, убрать одну из таблиц с ошибочными данными — используется этот набор операторов.
  • CREATE — создание объекта в базе данных
  • ALTER — изменение объекта
  • DROP — удаление объекта

DML (Data Manipulation Language) — операторы манипуляции данными. Эти операторы уже работают с содержимым таблиц — строками, атрибутами и значениями. С их помощью можно вносить изменения в конкретное значение. Например, заменить поле в колонке «Фамилия» в строке с данными сотрудницы компании посте того, как она вышла замуж. Или удалить строку с данными уволенного сотрудника.
  • SELECT — выбор данных в соответствии с условием
  • INSERT — добавление новых данных
  • UPDATE — изменение существующих данных
  • DELETE — удаление данных

DCL (Data Control Language) — оператор определения доступа к данным. Он определяет, кто из пользователей может отправлять запросы к базе, менять объекты и значения. Например, можно отозвать доступ у сотрудника, перешедшего в другой отдел, а также открыть доступ к базе новому маркетологу или разработчику.
  • GRANT — предоставление доступа к объекту
  • REVOKE — отзыв ранее выданного разрешения
  • DENY — запрет, который является приоритетным над разрешением

TCL (Transaction Control Language) — язык управления транзакциями. Транзакции — это набор команд, которые выполняются поочередно. Если все команды выполнены, транзакция считается успешной, а если где-то произошла ошибка — транзакция откатывается назад, отменяя все выполненные команды. Наглядный пример такой транзакции — оплата онлайн, когда банк просит сначала ввести сумму и получателя, затем проверить и подтвердить операцию, а после ввести одноразовый код. На каждом из этих этапов оплату можно отменить и транзакция откатится назад.
  • BEGIN TRANSACTION — обозначение начала транзакции
  • COMMIT TRANSACTION — изменение команд внутри транзакции
  • ROLLBACK TRANSACTION — откат транзакции
  • SAVE TRANSACTION — указание промежуточной точки сохранения внутри транзакции

Виды СУБД

Сами по себе таблицы или база данных не способны выполнять операции, а в СУБД можно создавать новые таблицы, удалять ненужные данные, настраивать ключи и обрабатывать запросы. Основные задачи СУБД:

  • поддержка языков баз данных;
  • непосредственное управление данными;
  • управление буферами оперативной памяти;
  • управление транзакциями;
  • резервное копирование и восстановление после сбоев.
PostgreSQL — это объектно-ориентированная система, то есть она обрабатывает данные как абстрактные объекты. Каждый объект, в отличие от простых табличных значений, может иметь собственные характеристики и уникальные методы взаимодействия с другими объектами. Это позволяет PostgreSQL обрабатывать более сложные структуры данных и выполнять более сложные процедуры. Например, Яндекс.Почта в свое время перешла на эту систему, чтобы поддерживать стабильное соединение десятков тысяч пользователей к одной базе.

Как начать работу с SQL

Для начала работы с SQL достаточно разбираться в основах Excel, чтобы понимать принцип работы запросов, а также иметь базовый уровень английского на уровне A1-A2. Эти навыки необходимы, чтобы понимать синтаксис SQL:

  • SELECT — выбери данные
  • FROM — вот отсюда
  • JOIN — добавь еще эти таблицы
  • WHERE — при таком условии
  • GROUP BY — сгруппируй данные по этому признаку
  • ORDER BY — отсортируй данные по этому признаку
  • LIMIT — нужно такое количество результатов
  • ; — конец предложения

Системы для работы с SQL имеют схожую структуру: есть редактор запросов, результат запросов и список таблиц, которые используются для обработки.