146
dev/Universal Unique IDentifier.md
Normal file
@ -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/Автоинкремент|Автоинкремент]]
|
||||||
|
### Дочерние заметки
|
||||||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
34
dev/testing/Нагрузочное тестирование.md
Normal file
@ -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]]
|
||||||
|
### Дополнительные материалы
|
||||||
|
-
|
||||||
|
### Дочерние заметки
|
||||||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
32
dev/testing/Объемное тестирование.md
Normal file
@ -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]]
|
||||||
|
### Дополнительные материалы
|
||||||
|
-
|
||||||
|
### Дочерние заметки
|
||||||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
33
dev/testing/Стресс тестирование.md
Normal file
@ -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 Тестирование ПО]]
|
||||||
|
**Родитель**::
|
||||||
|
**Источник**::
|
||||||
|
**Автор**::
|
||||||
|
**Создана**::
|
||||||
|
### Дополнительные материалы
|
||||||
|
-
|
||||||
|
### Дочерние заметки
|
||||||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
30
dev/testing/Тестирование масштабирования.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
aliases:
|
||||||
|
tags:
|
||||||
|
- maturity/🌱
|
||||||
|
date:
|
||||||
|
- - 2024-01-28
|
||||||
|
zero-link:
|
||||||
|
parents:
|
||||||
|
linked:
|
||||||
|
---
|
||||||
|
**Тестирование масштабирования.**
|
||||||
|
|
||||||
|
Отвечает на вопросы:
|
||||||
|
- Поможет ли увеличение памяти в 2 раза?
|
||||||
|
- Какой предел на другом железе?
|
||||||
|
- Какая производительность при N серверах/репликах
|
||||||
|
|
||||||
|
Важно:
|
||||||
|
- имеет физический предел
|
||||||
|
***
|
||||||
|
## Мета информация
|
||||||
|
**Область**:: [[../../meta/zero/00 Тестирование ПО|00 Тестирование ПО]]
|
||||||
|
**Родитель**::
|
||||||
|
**Источник**::
|
||||||
|
**Автор**::
|
||||||
|
**Создана**:: [[2024-01-28]]
|
||||||
|
### Дополнительные материалы
|
||||||
|
-
|
||||||
|
### Дочерние заметки
|
||||||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
BIN
meta/files/images/Pasted image 20231112132644.png
Normal file
After Width: | Height: | Size: 403 KiB |
BIN
meta/files/images/Pasted image 20231112133236.png
Normal file
After Width: | Height: | Size: 493 KiB |
BIN
meta/files/images/Pasted image 20231112133512.png
Normal file
After Width: | Height: | Size: 420 KiB |
BIN
meta/files/images/Pasted image 20231112133824.png
Normal file
After Width: | Height: | Size: 351 KiB |
BIN
meta/files/images/Pasted image 20231112133916.png
Normal file
After Width: | Height: | Size: 348 KiB |
BIN
meta/files/images/Pasted image 20231112134012.png
Normal file
After Width: | Height: | Size: 341 KiB |
BIN
meta/files/images/Pasted image 20231112135724.png
Normal file
After Width: | Height: | Size: 230 KiB |
BIN
meta/files/images/Pasted image 20231112141139.png
Normal file
After Width: | Height: | Size: 259 KiB |
BIN
meta/files/images/Pasted image 20231112141352.png
Normal file
After Width: | Height: | Size: 242 KiB |
BIN
meta/files/images/Pasted image 20231112141530.png
Normal file
After Width: | Height: | Size: 337 KiB |
BIN
meta/files/images/Pasted image 20240128202510.png
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
meta/files/images/Pasted image 20240128204046.png
Normal file
After Width: | Height: | Size: 2.0 MiB |
BIN
meta/files/images/Pasted image 20240128204149.png
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
meta/files/images/comp/Pasted image 20231112132644.png
Normal file
After Width: | Height: | Size: 116 KiB |
@ -0,0 +1 @@
|
|||||||
|
54b981b57be652f0497aa45f1cd2caa8
|
BIN
meta/files/images/comp/Pasted image 20231112133236.png
Normal file
After Width: | Height: | Size: 101 KiB |
@ -0,0 +1 @@
|
|||||||
|
9089682c4ce30d092841cd56b83e45dc
|
BIN
meta/files/images/comp/Pasted image 20231112133512.png
Normal file
After Width: | Height: | Size: 104 KiB |
@ -0,0 +1 @@
|
|||||||
|
cdff89f89c87657e8156d33cf04d1b0e
|
BIN
meta/files/images/comp/Pasted image 20231112133824.png
Normal file
After Width: | Height: | Size: 91 KiB |
@ -0,0 +1 @@
|
|||||||
|
09cee464e8cde107fb749fc52c85ea5e
|
BIN
meta/files/images/comp/Pasted image 20231112133916.png
Normal file
After Width: | Height: | Size: 94 KiB |
@ -0,0 +1 @@
|
|||||||
|
40a9f3f2a42b3c4d0b32ef1005c53615
|
BIN
meta/files/images/comp/Pasted image 20231112134012.png
Normal file
After Width: | Height: | Size: 93 KiB |
@ -0,0 +1 @@
|
|||||||
|
3c76630cb2970d95ef5071465c1df3cf
|
BIN
meta/files/images/comp/Pasted image 20231112135724.png
Normal file
After Width: | Height: | Size: 88 KiB |
@ -0,0 +1 @@
|
|||||||
|
843fae8f7c28b46b78993647eb216136
|
BIN
meta/files/images/comp/Pasted image 20231112141139.png
Normal file
After Width: | Height: | Size: 76 KiB |
@ -0,0 +1 @@
|
|||||||
|
013539aafe2f090b059b440e61bc8a92
|
BIN
meta/files/images/comp/Pasted image 20231112141352.png
Normal file
After Width: | Height: | Size: 67 KiB |
@ -0,0 +1 @@
|
|||||||
|
5112f9539443c082b5f652d352fd89dc
|
BIN
meta/files/images/comp/Pasted image 20231112141530.png
Normal file
After Width: | Height: | Size: 107 KiB |
@ -0,0 +1 @@
|
|||||||
|
c63efc54950293ca8defff62eb7d404a
|
BIN
meta/files/images/comp/Pasted image 20240128202510.png
Normal file
After Width: | Height: | Size: 513 KiB |
@ -0,0 +1 @@
|
|||||||
|
bd6c3d527598e74a98c7806eae5142a2
|
BIN
meta/files/images/comp/Pasted image 20240128204046.png
Normal file
After Width: | Height: | Size: 397 KiB |
@ -0,0 +1 @@
|
|||||||
|
e2854530ad29c872e60c5944a7a5d3f9
|
BIN
meta/files/images/comp/Pasted image 20240128204149.png
Normal file
After Width: | Height: | Size: 503 KiB |
@ -0,0 +1 @@
|
|||||||
|
a90be5868e83851e4c7252e90297b516
|
BIN
meta/files/images/webp/Pasted image 20231112132644.webp
Normal file
After Width: | Height: | Size: 62 KiB |
@ -0,0 +1 @@
|
|||||||
|
54b981b57be652f0497aa45f1cd2caa8
|
BIN
meta/files/images/webp/Pasted image 20231112133236.webp
Normal file
After Width: | Height: | Size: 62 KiB |
@ -0,0 +1 @@
|
|||||||
|
9089682c4ce30d092841cd56b83e45dc
|
BIN
meta/files/images/webp/Pasted image 20231112133512.webp
Normal file
After Width: | Height: | Size: 50 KiB |
@ -0,0 +1 @@
|
|||||||
|
cdff89f89c87657e8156d33cf04d1b0e
|
BIN
meta/files/images/webp/Pasted image 20231112133824.webp
Normal file
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1 @@
|
|||||||
|
09cee464e8cde107fb749fc52c85ea5e
|
BIN
meta/files/images/webp/Pasted image 20231112133916.webp
Normal file
After Width: | Height: | Size: 47 KiB |
@ -0,0 +1 @@
|
|||||||
|
40a9f3f2a42b3c4d0b32ef1005c53615
|
BIN
meta/files/images/webp/Pasted image 20231112134012.webp
Normal file
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1 @@
|
|||||||
|
3c76630cb2970d95ef5071465c1df3cf
|
BIN
meta/files/images/webp/Pasted image 20231112135724.webp
Normal file
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1 @@
|
|||||||
|
843fae8f7c28b46b78993647eb216136
|
BIN
meta/files/images/webp/Pasted image 20231112141139.webp
Normal file
After Width: | Height: | Size: 56 KiB |
@ -0,0 +1 @@
|
|||||||
|
013539aafe2f090b059b440e61bc8a92
|
BIN
meta/files/images/webp/Pasted image 20231112141352.webp
Normal file
After Width: | Height: | Size: 51 KiB |
@ -0,0 +1 @@
|
|||||||
|
5112f9539443c082b5f652d352fd89dc
|
BIN
meta/files/images/webp/Pasted image 20231112141530.webp
Normal file
After Width: | Height: | Size: 66 KiB |
@ -0,0 +1 @@
|
|||||||
|
c63efc54950293ca8defff62eb7d404a
|
BIN
meta/files/images/webp/Pasted image 20240128202510.webp
Normal file
After Width: | Height: | Size: 116 KiB |
@ -0,0 +1 @@
|
|||||||
|
bd6c3d527598e74a98c7806eae5142a2
|
BIN
meta/files/images/webp/Pasted image 20240128204046.webp
Normal file
After Width: | Height: | Size: 120 KiB |
@ -0,0 +1 @@
|
|||||||
|
e2854530ad29c872e60c5944a7a5d3f9
|
BIN
meta/files/images/webp/Pasted image 20240128204149.webp
Normal file
After Width: | Height: | Size: 114 KiB |
@ -0,0 +1 @@
|
|||||||
|
a90be5868e83851e4c7252e90297b516
|
33
meta/zero/00 Тестирование ПО.md
Normal file
@ -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]]
|
||||||
|
**Автор**::
|
||||||
|
### Дополнительные материалы
|
||||||
|
-
|
||||||
|
|
||||||
|
### Дочерние заметки
|
||||||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||||||
|
|