diff --git a/dev/Universal Unique IDentifier.md b/dev/Universal Unique IDentifier.md new file mode 100644 index 00000000..1a2861a1 --- /dev/null +++ b/dev/Universal Unique IDentifier.md @@ -0,0 +1,146 @@ +--- +aliases: + - UUID +tags: + - maturity/🌱 +date: 2023-11-12 +zero-link: +parents: +linked: +--- +**UUID (Universal Unique IDentifier)** — это 128-битный идентификатор, представленный в виде строки. Однако для пользовательских данных доступно только 122 бита, так как 6 бит зарезервировано: +- 4 бита используются для указания версии UUID; +- 2 бита определяют вариант UUID. + +![](../meta/files/images/Pasted%20image%2020231112132644.png) + +**Заполнение 122 бит зависит от версии UUID:** +- **Специальные UUID**: + - **Nil UUID** — все биты равны 0. + - **Max UUID** — все биты равны 1 (или “f” в шестнадцатеричной записи). +- **Стандартные версии UUID** (по спецификации RFC 4122) — всего 5 версий. +- **Новые версии** — три дополнительных варианта, не описанных в RFC 4122. +## UUID V1 +![](../meta/files/images/Pasted%20image%2020231112133236.png) + +UUID версии 1 использует текущее время по григорианскому календарю и имеет следующие особенности: +- Время записывается в обратном порядке, что делает невозможной сортировку UUID по времени создания. +- Включает случайную компоненту для увеличения уникальности. +- Node ID привязан к сетевому оборудованию (обычно к MAC-адресу). Это значение рекомендуется подменять на псевдослучайное для повышения конфиденциальности. + +**Недостатки:** +- Не подходит для сортировки по времени. + +**Преимущества:** +- Быстрая вставка в базу данных, независимо от размера данных. +- UUID сложно перебрать за счет высокой энтропии. +- Возможность извлечь метку времени из идентификатора. +## UUID V3 +![](../meta/files/images/Pasted%20image%2020231112133916.png) + +UUID версии 3 (V3) — это идентификатор, основанный на алгоритме хеширования [[cryptography/MD5|MD5]]. В отличие от UUID версии 1, который использует текущее время, UUID V3 генерируется на основе имени (строки) и пространства имен (namespace). Основная идея заключается в том, что при использовании одинаковых имени и пространства имен результатом всегда будет один и тот же UUID. + +**Пример использования:** Когда нужно сгенерировать уникальный идентификатор для имени домена в сети, применяется UUID V3 с пространством имен **DNS** и строкой, содержащей доменное имя. Например: + +``` +UUID(DNS, "example.com") → 5df41881-3aed-3515-88a7-2f4a814cf09e +``` + +**Преимущества:** +- **Детерминированность**: один и тот же вход (имя + пространство имен) всегда генерирует одинаковый UUID, что удобно, если требуется уникальный идентификатор для конкретного объекта, который может быть повторно создан. + +**Недостатки:** +- **Зависимость от MD5**: Алгоритм [[cryptography/MD5|MD5]] считается криптографически уязвимым, что делает UUID V3 неподходящим для использования в приложениях, требующих высокой безопасности. +- **Не случайный**: В отличие от UUID версии 1 или 4, UUID V3 предсказуем, так как основывается на статическом входе. +## UUID V4 +![](../meta/files/images/Pasted%20image%2020231112133824.png) + +UUID версии 4 (V4) — это случайный идентификатор, где большинство битов генерируются случайным образом. Вся структура UUID V4 почти полностью случайна, за исключением 6 бит, зарезервированных для указания версии и варианта. + +**Преимущества:** +- **Сложность перебора**: Из-за случайной природы UUID V4 крайне сложно предугадать следующий идентификатор или перебрать все возможные значения. Всего существует 2^{122} возможных вариантов UUID V4, что делает их практически уникальными в реальных условиях. +- **Простота генерации**: Процесс создания UUID V4 не требует внешних данных (время, имя или пространство имен), что делает его проще в реализации и использовании. +- **Конфиденциальность**: Поскольку в UUID V4 нет привязки к времени или аппаратному обеспечению (в отличие от V1), он не раскрывает никакой дополнительной информации, такой как метка времени или MAC-адрес устройства. + +**Недостатки:** +- **Не сортируемый**: UUID V4 нельзя отсортировать по времени или другим критериям, так как он полностью основан на случайных данных. +- **Замедленная вставка в БД**: В больших базах данных, по мере увеличения количества записей, время вставки новых записей с UUID V4 может расти. Это связано с тем, что случайные значения распределяются неравномерно, что может вызывать фрагментацию [[../../../_inbox/Индекс в БД|индексов]], особенно при использовании кластеризованных индексов. +- **Не содержит полезной информации**: В отличие от UUID версий 1 и 3, UUID V4 не хранит никаких дополнительных данных (например, метку времени или привязку к конкретному объекту). +## UUID V5 +![](../meta/files/images/Pasted%20image%2020231112134012.png) + +UUID версии 5 (V5) очень похож на UUID версии 3 (V3), с той лишь разницей, что вместо [[cryptography/Хеш-функция|хеш-функции]] [[cryptography/MD5|MD5]] используется более современная и безопасная [[cryptography/Хеш-функция|хеш-функция]] SHA-1. Как и в случае с V3, UUID V5 генерируется на основе входных данных — имени и пространства имен (namespace). + +**Преимущества:** +- **Детерминированность**: Как и UUID V3, версия 5 всегда генерирует один и тот же UUID для одного и того же сочетания имени и пространства имен. +- **Современная хеш-функция**: В отличие от устаревшего и криптографически слабого [[cryptography/MD5|MD5]], SHA-1 обеспечивает более высокую безопасность, хотя и не является идеальной для криптографических приложений в наше время. +- **Уникальность в пределах пространства имен**: Гарантирует уникальность идентификаторов при использовании различных пространств имен. + +**Недостатки:** +- **Время вставки в базу данных**: В больших базах данных с увеличением количества записей может увеличиваться время вставки, особенно если UUID используется как индекс. Это связано с неравномерностью распределения случайных значений. +- **Не сортируемый**: Как и UUID V4, идентификаторы версии 5 не могут быть отсортированы по времени или другим логическим критериям, поскольку они зависят от хеширования входных данных. +- **Не хранит полезной информации**: UUID V5 не содержит дополнительных данных, таких как метка времени, информация о хосте или устройстве. +## UUID V6 +![](../meta/files/images/Pasted%20image%2020231112133512.png) + +UUID версии 6 (V6) был разработан для устранения одного из ключевых недостатков UUID версии 1 (V1) — невозможности сортировки. UUID V6 сохраняет идею использования времени для генерации идентификатора, но изменяет порядок записи временной метки, что позволяет идентификаторам быть сортируемыми по времени. + +**Преимущества:** +- **Сортируемость**: Главное отличие UUID V6 от V1 — это возможность сортировки идентификаторов по времени их создания. UUID V6 можно отсортировать по времени. +- **Метка времени**: UUID V6 сохраняет возможность извлечения метки времени из идентификатора, что полезно для некоторых приложений, где важно отслеживать время создания записи. +- **Конфиденциальность**: Как и в V1, UUID V6 может включать привязку к оборудованию (например, MAC-адрес), но рекомендуется использовать псевдослучайные данные для повышения конфиденциальности. + +**Недостатки:** +- **Сложность в использовании с кластеризованными индексами**: Хотя UUID V6 улучшает сортировку, время вставки в базу данных может увеличиваться при большом количестве записей, особенно если используется кластеризованный индекс, который требует поддержания порядка. +- **Не случайный**: В отличие от UUID V4, версия 6 не является полностью случайной, что может быть недостатком в сценариях, где важна непредсказуемость. +## UUID V7 +![](Pasted%20image%2020231112133651.png) + +UUID версии 7 (V7) представляет собой новую версию UUID, которая использует Unix-время вместо григорианского, применяемого в UUID версии 1 (V1). Такой подход делает UUID V7 более компактным и эффективным для хранения временных меток, поскольку Unix-время занимает меньше места по сравнению с григорианским временем. + +**Преимущества:** +- **Сортируемость**: UUID V7 сохраняет временные метки в формате Unix, что делает его естественно сортируемым по времени создания. Это полезно для реляционных баз данных, где важен порядок записей. +- **Константное время вставки**: Поскольку UUID V7 монотонно увеличивается со временем и включает случайные данные, вставка в базу данных происходит с постоянным временем. +- **Метка времени**: UUID V7 сохраняет метку времени, что позволяет извлечь момент создания идентификатора. +- **Сложность перебора**: UUID V7 сохраняет высокий уровень уникальности за счет случайных битов, что делает его труднопредсказуемым и сложным для перебора. + +**Недостатки:** +- **Меньшая случайность в начальной части**: Поскольку первые биты связаны с временной меткой, это снижает уровень случайности в первой части UUID. Однако это компенсируется случайной частью идентификатора. + +UUID V7 может иметь несколько типов генерации, в зависимости от требуемого уровня случайности и последовательности. +1. **Тип 1 (по умолчанию)**: `UuidCreator.getTimeOrderedEpoch();` + - **Плюсы**: Сортируемый, достаточно быстрый, подходит для большинства приложений, где важна как уникальность, так и последовательность. + - **Минусы**: Более низкий уровень случайности по сравнению с другими типами. +2. **Тип 2 (плюс 1)**: `UuidCreator.getTimeOrderedEpochPlus1();` + - Обеспечивает более высокую уникальность и последовательность за счет монотонного увеличения. + - **Плюсы**: Подходит для приложений, требующих строгого соблюдения порядка идентификаторов. + - **Минусы**: Менее случаен, чем Тип 3. + - **Производительность**: Генерируется в 20 раз быстрее, чем `UUID.randomUUID()`. +3. **Тип 3 (плюс n)**: `UuidCreator.getTimeOrderedEpochPlusN()`; + - **Особенности**: Максимальная уникальность за счет случайного увеличения.` + - **Плюсы**: Подходит для сценариев, требующих высокой уникальности без строгих требований к последовательности. + - **Минусы**: Меньшая предсказуемость и последовательность по сравнению с Типами 1 и 2. + - **Производительность**: Генерируется в два раза быстрее, чем `UUID.randomUUID()`. +## Производительность +Генерируем по 200000 идентификаторов в цикле, после чего вставляем эти данные. + +![](../meta/files/images/Pasted%20image%2020231112141139.png) + +Массовое чтение, через IN +![](../meta/files/images/Pasted%20image%2020231112141352.png) + +![](../meta/files/images/Pasted%20image%2020231112141530.png) + +*** +## Мета информация +**Область**:: [[../meta/zero/00 Разработка|00 Разработка]] +**Родитель**:: +**Источник**:: +**Автор**:: +**Создана**:: +### Дополнительные материалы +- [ID-баттл: UUID vs автоинкремент / Валентин Удальцов - YouTube](https://www.youtube.com/watch?v=Xr_SNd9LIng&t=1762s) +- [Библиотека для генерации UUID в Java. Все версии](https://github.com/f4b6a3/uuid-creator) +- [[../../../_inbox/Автоинкремент|Автоинкремент]] +### Дочерние заметки + diff --git a/dev/testing/Нагрузочное тестирование.md b/dev/testing/Нагрузочное тестирование.md new file mode 100644 index 00000000..e3ae6d7b --- /dev/null +++ b/dev/testing/Нагрузочное тестирование.md @@ -0,0 +1,34 @@ +--- +aliases: +tags: + - maturity/🌱 +date: + - - 2024-01-28 +zero-link: +parents: +linked: +--- +Нагрузочное тестирование провести анализ и определить производительность системы в ответ на внешние запросы. + +Отвечает на вопросы: +- Выдержит ли система планируемую нагрузку? +- Есть ли узкие места? + +При тестировании производительности необходимы определить 4 точки: +- **точка работы**, когда система работает оптимальным образом. Обычно 80% от точки деградации +- **точка деградации**, когда увеличивается время ответа системы +- **точка ошибок**, когда в системе начали появляться ошибки, которых не было бы в точке работы +- **точка недоступности**, когда система отказывается обрабатывать часть или все запросы + +![](../../meta/files/images/Pasted%20image%2020240128202510.png) +*** +## Мета информация +**Область**:: [[../../meta/zero/00 Тестирование ПО|00 Тестирование ПО]] +**Родитель**:: +**Источник**:: +**Автор**:: +**Создана**:: [[2024-01-28]] +### Дополнительные материалы +- +### Дочерние заметки + diff --git a/dev/testing/Объемное тестирование.md b/dev/testing/Объемное тестирование.md new file mode 100644 index 00000000..44867974 --- /dev/null +++ b/dev/testing/Объемное тестирование.md @@ -0,0 +1,32 @@ +--- +aliases: +tags: + - maturity/🌱 +date: + - - 2024-01-28 +zero-link: +parents: +linked: +--- +**Объемное тестирование.** Тестирование при увеличенном объемов данных. + +Отвечает на вопросы: +- А что будет через 5-10 лет работы? +- Что если размер документов увеличить? + +Важно: +- Увеличивается объем БД, а не интенсивность +- Нужно иметь генератор нагрузки и данных +- Быстрые генераторы БД пишутся на SQL + +*** +## Мета информация +**Область**:: [[../../meta/zero/00 Тестирование ПО|00 Тестирование ПО]] +**Родитель**:: +**Источник**:: +**Автор**:: +**Создана**:: [[2024-01-28]] +### Дополнительные материалы +- +### Дочерние заметки + diff --git a/dev/testing/Стресс тестирование.md b/dev/testing/Стресс тестирование.md new file mode 100644 index 00000000..29bf5a81 --- /dev/null +++ b/dev/testing/Стресс тестирование.md @@ -0,0 +1,33 @@ +--- +aliases: +tags: + - maturity/🌱 +date: + - - 2024-01-28 +zero-link: +parents: +linked: +--- +**Стрессовое тестирование.** Тестирование за пределами рабочих нагрузок, в ограниченных ресурсах. + +![](../../meta/files/images/Pasted%20image%2020240128204046.png) + +**Отвечает на вопросы:** +- Если нагрузка ненадолго превысит максимум? +- Освобождаются ли не используемые ресурсы? +- Восстановится ли система после ошибок? +- Какие ошибки появляются под нагрузкой? + +Такое тестирование может позволить выявить утечки ресурсов. +![](../../meta/files/images/Pasted%20image%2020240128204149.png) +*** +## Мета информация +**Область**:: [[../../meta/zero/00 Тестирование ПО|00 Тестирование ПО]] +**Родитель**:: +**Источник**:: +**Автор**:: +**Создана**:: +### Дополнительные материалы +- +### Дочерние заметки + diff --git a/dev/testing/Тестирование масштабирования.md b/dev/testing/Тестирование масштабирования.md new file mode 100644 index 00000000..040f00c8 --- /dev/null +++ b/dev/testing/Тестирование масштабирования.md @@ -0,0 +1,30 @@ +--- +aliases: +tags: + - maturity/🌱 +date: + - - 2024-01-28 +zero-link: +parents: +linked: +--- +**Тестирование масштабирования.** + +Отвечает на вопросы: +- Поможет ли увеличение памяти в 2 раза? +- Какой предел на другом железе? +- Какая производительность при N серверах/репликах + +Важно: +- имеет физический предел +*** +## Мета информация +**Область**:: [[../../meta/zero/00 Тестирование ПО|00 Тестирование ПО]] +**Родитель**:: +**Источник**:: +**Автор**:: +**Создана**:: [[2024-01-28]] +### Дополнительные материалы +- +### Дочерние заметки + diff --git a/meta/files/images/Pasted image 20231112132644.png b/meta/files/images/Pasted image 20231112132644.png new file mode 100644 index 00000000..55e32f55 Binary files /dev/null and b/meta/files/images/Pasted image 20231112132644.png differ diff --git a/meta/files/images/Pasted image 20231112133236.png b/meta/files/images/Pasted image 20231112133236.png new file mode 100644 index 00000000..b25a5696 Binary files /dev/null and b/meta/files/images/Pasted image 20231112133236.png differ diff --git a/meta/files/images/Pasted image 20231112133512.png b/meta/files/images/Pasted image 20231112133512.png new file mode 100644 index 00000000..55b0dbb2 Binary files /dev/null and b/meta/files/images/Pasted image 20231112133512.png differ diff --git a/meta/files/images/Pasted image 20231112133824.png b/meta/files/images/Pasted image 20231112133824.png new file mode 100644 index 00000000..01c85425 Binary files /dev/null and b/meta/files/images/Pasted image 20231112133824.png differ diff --git a/meta/files/images/Pasted image 20231112133916.png b/meta/files/images/Pasted image 20231112133916.png new file mode 100644 index 00000000..dceac42f Binary files /dev/null and b/meta/files/images/Pasted image 20231112133916.png differ diff --git a/meta/files/images/Pasted image 20231112134012.png b/meta/files/images/Pasted image 20231112134012.png new file mode 100644 index 00000000..116db87f Binary files /dev/null and b/meta/files/images/Pasted image 20231112134012.png differ diff --git a/meta/files/images/Pasted image 20231112135724.png b/meta/files/images/Pasted image 20231112135724.png new file mode 100644 index 00000000..66b5edc2 Binary files /dev/null and b/meta/files/images/Pasted image 20231112135724.png differ diff --git a/meta/files/images/Pasted image 20231112141139.png b/meta/files/images/Pasted image 20231112141139.png new file mode 100644 index 00000000..0b4b8a5a Binary files /dev/null and b/meta/files/images/Pasted image 20231112141139.png differ diff --git a/meta/files/images/Pasted image 20231112141352.png b/meta/files/images/Pasted image 20231112141352.png new file mode 100644 index 00000000..7c580560 Binary files /dev/null and b/meta/files/images/Pasted image 20231112141352.png differ diff --git a/meta/files/images/Pasted image 20231112141530.png b/meta/files/images/Pasted image 20231112141530.png new file mode 100644 index 00000000..c0f85343 Binary files /dev/null and b/meta/files/images/Pasted image 20231112141530.png differ diff --git a/meta/files/images/Pasted image 20240128202510.png b/meta/files/images/Pasted image 20240128202510.png new file mode 100644 index 00000000..13219953 Binary files /dev/null and b/meta/files/images/Pasted image 20240128202510.png differ diff --git a/meta/files/images/Pasted image 20240128204046.png b/meta/files/images/Pasted image 20240128204046.png new file mode 100644 index 00000000..1d048a6f Binary files /dev/null and b/meta/files/images/Pasted image 20240128204046.png differ diff --git a/meta/files/images/Pasted image 20240128204149.png b/meta/files/images/Pasted image 20240128204149.png new file mode 100644 index 00000000..092e004d Binary files /dev/null and b/meta/files/images/Pasted image 20240128204149.png differ diff --git a/meta/files/images/comp/Pasted image 20231112132644.png b/meta/files/images/comp/Pasted image 20231112132644.png new file mode 100644 index 00000000..e7017d7e Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112132644.png differ diff --git a/meta/files/images/comp/Pasted image 20231112132644.png.md5 b/meta/files/images/comp/Pasted image 20231112132644.png.md5 new file mode 100644 index 00000000..29bdc4cb --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112132644.png.md5 @@ -0,0 +1 @@ +54b981b57be652f0497aa45f1cd2caa8 diff --git a/meta/files/images/comp/Pasted image 20231112133236.png b/meta/files/images/comp/Pasted image 20231112133236.png new file mode 100644 index 00000000..c7605b95 Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112133236.png differ diff --git a/meta/files/images/comp/Pasted image 20231112133236.png.md5 b/meta/files/images/comp/Pasted image 20231112133236.png.md5 new file mode 100644 index 00000000..242f1dc2 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112133236.png.md5 @@ -0,0 +1 @@ +9089682c4ce30d092841cd56b83e45dc diff --git a/meta/files/images/comp/Pasted image 20231112133512.png b/meta/files/images/comp/Pasted image 20231112133512.png new file mode 100644 index 00000000..bcf99f3e Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112133512.png differ diff --git a/meta/files/images/comp/Pasted image 20231112133512.png.md5 b/meta/files/images/comp/Pasted image 20231112133512.png.md5 new file mode 100644 index 00000000..8048e456 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112133512.png.md5 @@ -0,0 +1 @@ +cdff89f89c87657e8156d33cf04d1b0e diff --git a/meta/files/images/comp/Pasted image 20231112133824.png b/meta/files/images/comp/Pasted image 20231112133824.png new file mode 100644 index 00000000..12f693bd Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112133824.png differ diff --git a/meta/files/images/comp/Pasted image 20231112133824.png.md5 b/meta/files/images/comp/Pasted image 20231112133824.png.md5 new file mode 100644 index 00000000..604c896c --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112133824.png.md5 @@ -0,0 +1 @@ +09cee464e8cde107fb749fc52c85ea5e diff --git a/meta/files/images/comp/Pasted image 20231112133916.png b/meta/files/images/comp/Pasted image 20231112133916.png new file mode 100644 index 00000000..c0acfdd7 Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112133916.png differ diff --git a/meta/files/images/comp/Pasted image 20231112133916.png.md5 b/meta/files/images/comp/Pasted image 20231112133916.png.md5 new file mode 100644 index 00000000..2b810a4b --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112133916.png.md5 @@ -0,0 +1 @@ +40a9f3f2a42b3c4d0b32ef1005c53615 diff --git a/meta/files/images/comp/Pasted image 20231112134012.png b/meta/files/images/comp/Pasted image 20231112134012.png new file mode 100644 index 00000000..523d1077 Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112134012.png differ diff --git a/meta/files/images/comp/Pasted image 20231112134012.png.md5 b/meta/files/images/comp/Pasted image 20231112134012.png.md5 new file mode 100644 index 00000000..ab9f0570 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112134012.png.md5 @@ -0,0 +1 @@ +3c76630cb2970d95ef5071465c1df3cf diff --git a/meta/files/images/comp/Pasted image 20231112135724.png b/meta/files/images/comp/Pasted image 20231112135724.png new file mode 100644 index 00000000..b27246aa Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112135724.png differ diff --git a/meta/files/images/comp/Pasted image 20231112135724.png.md5 b/meta/files/images/comp/Pasted image 20231112135724.png.md5 new file mode 100644 index 00000000..04194dd8 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112135724.png.md5 @@ -0,0 +1 @@ +843fae8f7c28b46b78993647eb216136 diff --git a/meta/files/images/comp/Pasted image 20231112141139.png b/meta/files/images/comp/Pasted image 20231112141139.png new file mode 100644 index 00000000..e495c260 Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112141139.png differ diff --git a/meta/files/images/comp/Pasted image 20231112141139.png.md5 b/meta/files/images/comp/Pasted image 20231112141139.png.md5 new file mode 100644 index 00000000..ebebd7c0 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112141139.png.md5 @@ -0,0 +1 @@ +013539aafe2f090b059b440e61bc8a92 diff --git a/meta/files/images/comp/Pasted image 20231112141352.png b/meta/files/images/comp/Pasted image 20231112141352.png new file mode 100644 index 00000000..7f216c51 Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112141352.png differ diff --git a/meta/files/images/comp/Pasted image 20231112141352.png.md5 b/meta/files/images/comp/Pasted image 20231112141352.png.md5 new file mode 100644 index 00000000..ee2cc1c5 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112141352.png.md5 @@ -0,0 +1 @@ +5112f9539443c082b5f652d352fd89dc diff --git a/meta/files/images/comp/Pasted image 20231112141530.png b/meta/files/images/comp/Pasted image 20231112141530.png new file mode 100644 index 00000000..d5e3055d Binary files /dev/null and b/meta/files/images/comp/Pasted image 20231112141530.png differ diff --git a/meta/files/images/comp/Pasted image 20231112141530.png.md5 b/meta/files/images/comp/Pasted image 20231112141530.png.md5 new file mode 100644 index 00000000..6da5a8a3 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20231112141530.png.md5 @@ -0,0 +1 @@ +c63efc54950293ca8defff62eb7d404a diff --git a/meta/files/images/comp/Pasted image 20240128202510.png b/meta/files/images/comp/Pasted image 20240128202510.png new file mode 100644 index 00000000..4a1cb48f Binary files /dev/null and b/meta/files/images/comp/Pasted image 20240128202510.png differ diff --git a/meta/files/images/comp/Pasted image 20240128202510.png.md5 b/meta/files/images/comp/Pasted image 20240128202510.png.md5 new file mode 100644 index 00000000..9d34b241 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20240128202510.png.md5 @@ -0,0 +1 @@ +bd6c3d527598e74a98c7806eae5142a2 diff --git a/meta/files/images/comp/Pasted image 20240128204046.png b/meta/files/images/comp/Pasted image 20240128204046.png new file mode 100644 index 00000000..539f5dd5 Binary files /dev/null and b/meta/files/images/comp/Pasted image 20240128204046.png differ diff --git a/meta/files/images/comp/Pasted image 20240128204046.png.md5 b/meta/files/images/comp/Pasted image 20240128204046.png.md5 new file mode 100644 index 00000000..65a200af --- /dev/null +++ b/meta/files/images/comp/Pasted image 20240128204046.png.md5 @@ -0,0 +1 @@ +e2854530ad29c872e60c5944a7a5d3f9 diff --git a/meta/files/images/comp/Pasted image 20240128204149.png b/meta/files/images/comp/Pasted image 20240128204149.png new file mode 100644 index 00000000..e7578ef9 Binary files /dev/null and b/meta/files/images/comp/Pasted image 20240128204149.png differ diff --git a/meta/files/images/comp/Pasted image 20240128204149.png.md5 b/meta/files/images/comp/Pasted image 20240128204149.png.md5 new file mode 100644 index 00000000..1940ee07 --- /dev/null +++ b/meta/files/images/comp/Pasted image 20240128204149.png.md5 @@ -0,0 +1 @@ +a90be5868e83851e4c7252e90297b516 diff --git a/meta/files/images/webp/Pasted image 20231112132644.webp b/meta/files/images/webp/Pasted image 20231112132644.webp new file mode 100644 index 00000000..fdcf1f26 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112132644.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112132644.webp.md5 b/meta/files/images/webp/Pasted image 20231112132644.webp.md5 new file mode 100644 index 00000000..29bdc4cb --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112132644.webp.md5 @@ -0,0 +1 @@ +54b981b57be652f0497aa45f1cd2caa8 diff --git a/meta/files/images/webp/Pasted image 20231112133236.webp b/meta/files/images/webp/Pasted image 20231112133236.webp new file mode 100644 index 00000000..ca64dc0c Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112133236.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112133236.webp.md5 b/meta/files/images/webp/Pasted image 20231112133236.webp.md5 new file mode 100644 index 00000000..242f1dc2 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112133236.webp.md5 @@ -0,0 +1 @@ +9089682c4ce30d092841cd56b83e45dc diff --git a/meta/files/images/webp/Pasted image 20231112133512.webp b/meta/files/images/webp/Pasted image 20231112133512.webp new file mode 100644 index 00000000..c6c17ef8 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112133512.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112133512.webp.md5 b/meta/files/images/webp/Pasted image 20231112133512.webp.md5 new file mode 100644 index 00000000..8048e456 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112133512.webp.md5 @@ -0,0 +1 @@ +cdff89f89c87657e8156d33cf04d1b0e diff --git a/meta/files/images/webp/Pasted image 20231112133824.webp b/meta/files/images/webp/Pasted image 20231112133824.webp new file mode 100644 index 00000000..456084d3 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112133824.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112133824.webp.md5 b/meta/files/images/webp/Pasted image 20231112133824.webp.md5 new file mode 100644 index 00000000..604c896c --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112133824.webp.md5 @@ -0,0 +1 @@ +09cee464e8cde107fb749fc52c85ea5e diff --git a/meta/files/images/webp/Pasted image 20231112133916.webp b/meta/files/images/webp/Pasted image 20231112133916.webp new file mode 100644 index 00000000..195618c3 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112133916.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112133916.webp.md5 b/meta/files/images/webp/Pasted image 20231112133916.webp.md5 new file mode 100644 index 00000000..2b810a4b --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112133916.webp.md5 @@ -0,0 +1 @@ +40a9f3f2a42b3c4d0b32ef1005c53615 diff --git a/meta/files/images/webp/Pasted image 20231112134012.webp b/meta/files/images/webp/Pasted image 20231112134012.webp new file mode 100644 index 00000000..03870c42 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112134012.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112134012.webp.md5 b/meta/files/images/webp/Pasted image 20231112134012.webp.md5 new file mode 100644 index 00000000..ab9f0570 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112134012.webp.md5 @@ -0,0 +1 @@ +3c76630cb2970d95ef5071465c1df3cf diff --git a/meta/files/images/webp/Pasted image 20231112135724.webp b/meta/files/images/webp/Pasted image 20231112135724.webp new file mode 100644 index 00000000..226b1896 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112135724.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112135724.webp.md5 b/meta/files/images/webp/Pasted image 20231112135724.webp.md5 new file mode 100644 index 00000000..04194dd8 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112135724.webp.md5 @@ -0,0 +1 @@ +843fae8f7c28b46b78993647eb216136 diff --git a/meta/files/images/webp/Pasted image 20231112141139.webp b/meta/files/images/webp/Pasted image 20231112141139.webp new file mode 100644 index 00000000..ac8a1c77 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112141139.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112141139.webp.md5 b/meta/files/images/webp/Pasted image 20231112141139.webp.md5 new file mode 100644 index 00000000..ebebd7c0 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112141139.webp.md5 @@ -0,0 +1 @@ +013539aafe2f090b059b440e61bc8a92 diff --git a/meta/files/images/webp/Pasted image 20231112141352.webp b/meta/files/images/webp/Pasted image 20231112141352.webp new file mode 100644 index 00000000..ef1e51df Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112141352.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112141352.webp.md5 b/meta/files/images/webp/Pasted image 20231112141352.webp.md5 new file mode 100644 index 00000000..ee2cc1c5 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112141352.webp.md5 @@ -0,0 +1 @@ +5112f9539443c082b5f652d352fd89dc diff --git a/meta/files/images/webp/Pasted image 20231112141530.webp b/meta/files/images/webp/Pasted image 20231112141530.webp new file mode 100644 index 00000000..dc3184d5 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20231112141530.webp differ diff --git a/meta/files/images/webp/Pasted image 20231112141530.webp.md5 b/meta/files/images/webp/Pasted image 20231112141530.webp.md5 new file mode 100644 index 00000000..6da5a8a3 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20231112141530.webp.md5 @@ -0,0 +1 @@ +c63efc54950293ca8defff62eb7d404a diff --git a/meta/files/images/webp/Pasted image 20240128202510.webp b/meta/files/images/webp/Pasted image 20240128202510.webp new file mode 100644 index 00000000..a7e3dc74 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20240128202510.webp differ diff --git a/meta/files/images/webp/Pasted image 20240128202510.webp.md5 b/meta/files/images/webp/Pasted image 20240128202510.webp.md5 new file mode 100644 index 00000000..9d34b241 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20240128202510.webp.md5 @@ -0,0 +1 @@ +bd6c3d527598e74a98c7806eae5142a2 diff --git a/meta/files/images/webp/Pasted image 20240128204046.webp b/meta/files/images/webp/Pasted image 20240128204046.webp new file mode 100644 index 00000000..5376ab9d Binary files /dev/null and b/meta/files/images/webp/Pasted image 20240128204046.webp differ diff --git a/meta/files/images/webp/Pasted image 20240128204046.webp.md5 b/meta/files/images/webp/Pasted image 20240128204046.webp.md5 new file mode 100644 index 00000000..65a200af --- /dev/null +++ b/meta/files/images/webp/Pasted image 20240128204046.webp.md5 @@ -0,0 +1 @@ +e2854530ad29c872e60c5944a7a5d3f9 diff --git a/meta/files/images/webp/Pasted image 20240128204149.webp b/meta/files/images/webp/Pasted image 20240128204149.webp new file mode 100644 index 00000000..c2ff0cb5 Binary files /dev/null and b/meta/files/images/webp/Pasted image 20240128204149.webp differ diff --git a/meta/files/images/webp/Pasted image 20240128204149.webp.md5 b/meta/files/images/webp/Pasted image 20240128204149.webp.md5 new file mode 100644 index 00000000..1940ee07 --- /dev/null +++ b/meta/files/images/webp/Pasted image 20240128204149.webp.md5 @@ -0,0 +1 @@ +a90be5868e83851e4c7252e90297b516 diff --git a/meta/zero/00 Тестирование ПО.md b/meta/zero/00 Тестирование ПО.md new file mode 100644 index 00000000..38ba52d7 --- /dev/null +++ b/meta/zero/00 Тестирование ПО.md @@ -0,0 +1,33 @@ +--- +aliases: + - Тестирование ПО +tags: + - type/zero-link +title: Тестирование ПО +date: 2024-10-15 +zero-link: +parents: +linked: +--- +Методы и изменения в [[../../dev/architecture/Бизнес-логика|бизнес-логике]] не должны появляться только для удовлетворения потребностей тестов. Тесты должны проверять существующую функциональность без необходимости модификации основного кода ради тестирования. + +Виды тестов: +- Производительность + - [Нагрузочное тестирование](../../dev/testing/Нагрузочное%20тестирование.md) + - [Тестирование стабильности](Тестирование%20стабильности.md) + - [Стресс тестирование](../../dev/testing/Стресс%20тестирование.md) + - [Объемное тестирование](../../dev/testing/Объемное%20тестирование.md) + - [Тестирование масштабирования](../../dev/testing/Тестирование%20масштабирования.md) +*** +## Мета информация +**Область**:: [[../garden/ru/meta/zero/00 Разработка|00 Разработка]] +**Родитель**:: +**Источник**:: +**Создана**:: [[2024-10-15]] +**Автор**:: +### Дополнительные материалы +- + +### Дочерние заметки + +