tests
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# BUG-001 — Age boundary of 18 is incorrectly rejected
|
||||
|
||||
- **Priority:** High
|
||||
- **Severity:** Major
|
||||
- **Environment:** Chrome 128, desktop
|
||||
- **Steps to reproduce:**
|
||||
1. Open the registration form
|
||||
2. Fill in all fields with valid data
|
||||
3. Enter `18` in the "Age" field
|
||||
4. Click "Create account"
|
||||
- **Expected result:** Registration succeeds (the hint under the field states "registration is open from 18 years old")
|
||||
- **Actual result:** The form shows the error "Age must be between 18 and 99"
|
||||
- **Notes:** Looks like a classic off-by-one error in the comparison condition (`<=` used instead of `<`)
|
||||
@@ -0,0 +1,12 @@
|
||||
# BUG-002 — Terms and conditions checkbox is not validated
|
||||
|
||||
- **Priority:** Critical
|
||||
- **Severity:** Blocker
|
||||
- **Environment:** Chrome 128, desktop
|
||||
- **Steps to reproduce:**
|
||||
1. Fill in all form fields with valid data
|
||||
2. Do **not** check the "I agree to the Terms of Service" checkbox
|
||||
3. Click "Create account"
|
||||
- **Expected result:** The form blocks submission and shows an error below the checkbox
|
||||
- **Actual result:** The form submits successfully, as if consent had been given
|
||||
- **Impact:** Legal risk — a user can register without accepting the terms of service
|
||||
@@ -0,0 +1,13 @@
|
||||
# BUG-003 — Email without a top-level domain passes validation
|
||||
|
||||
- **Priority:** Medium
|
||||
- **Severity:** Major
|
||||
- **Environment:** Chrome 128, desktop
|
||||
- **Steps to reproduce:**
|
||||
1. Open the registration form
|
||||
2. Fill in all fields with valid data
|
||||
3. Enter `user@mail` in the "Email" field (no `.com`, `.net`, etc.)
|
||||
4. Click "Create account"
|
||||
- **Expected result:** The form shows the error "Please enter a valid email address"
|
||||
- **Actual result:** The form accepts the address as valid; registration succeeds
|
||||
- **Notes:** The regular expression only checks for the presence of `@`, but does not check for a top-level domain (a dot after `@`)
|
||||
@@ -0,0 +1,12 @@
|
||||
# BUG-004 — Password shorter than the stated minimum passes validation
|
||||
|
||||
- **Priority:** High
|
||||
- **Severity:** Major
|
||||
- **Environment:** Chrome 128, desktop
|
||||
- **Steps to reproduce:**
|
||||
1. Fill in all form fields with valid data
|
||||
2. Enter `abc123` (6 characters) in both "Password" and "Confirm password"
|
||||
3. Click "Create account"
|
||||
- **Expected result:** Error "Password must be at least 8 characters" (as stated in the field hint)
|
||||
- **Actual result:** The form accepts a 6-character password; registration succeeds
|
||||
- **Notes:** Mismatch between the displayed hint/error text (8 characters) and the actual validation logic (6 characters)
|
||||
@@ -0,0 +1,13 @@
|
||||
# BUG-005 — Password confirmation is compared case-insensitively
|
||||
|
||||
- **Priority:** Critical
|
||||
- **Severity:** Blocker
|
||||
- **Environment:** Chrome 128, desktop
|
||||
- **Steps to reproduce:**
|
||||
1. Fill in all form fields with valid data
|
||||
2. Enter `Secret12` in the "Password" field
|
||||
3. Enter `secret12` (same string, lowercase) in "Confirm password"
|
||||
4. Click "Create account"
|
||||
- **Expected result:** Error "Passwords do not match" — the strings differ when case is considered
|
||||
- **Actual result:** The form treats the passwords as matching; registration succeeds
|
||||
- **Impact:** A user may accidentally set a password that differs from what they intended to type — risk of being unable to log in later
|
||||
@@ -0,0 +1,12 @@
|
||||
# BUG-006 — Minimum username length is not validated
|
||||
|
||||
- **Priority:** Low
|
||||
- **Severity:** Minor
|
||||
- **Environment:** Chrome 128, desktop
|
||||
- **Steps to reproduce:**
|
||||
1. Fill in the form, enter a single character in "Username", e.g. `B`
|
||||
2. Fill in the remaining fields with valid data
|
||||
3. Click "Create account"
|
||||
- **Expected result:** Error "Username must be between 3 and 20 characters"
|
||||
- **Actual result:** The form accepts a 1-character username; registration succeeds
|
||||
- **Notes:** The code only checks for an empty string and the upper bound (20 characters); the lower bound is missing
|
||||
@@ -0,0 +1,12 @@
|
||||
# BUG-007 — Upper age boundary is not validated
|
||||
|
||||
- **Priority:** Medium
|
||||
- **Severity:** Major
|
||||
- **Environment:** Chrome 128, desktop
|
||||
- **Steps to reproduce:**
|
||||
1. Fill in all form fields with valid data
|
||||
2. Enter `200` in the "Age" field
|
||||
3. Click "Create account"
|
||||
- **Expected result:** Error "Age must be between 18 and 99"
|
||||
- **Actual result:** The form accepts the value `200`; registration succeeds
|
||||
- **Notes:** The code only checks the lower bound (`age <= 18`); the upper bound (99) is never checked
|
||||
@@ -0,0 +1,13 @@
|
||||
### BUG-001 — Граница возраста 18 лет ошибочно отклоняется
|
||||
|
||||
- **Приоритет:** High
|
||||
- **Серьёзность:** Major
|
||||
- **Окружение:** Chrome 128, десктоп
|
||||
- **Шаги воспроизведения:**
|
||||
1. Открыть форму регистрации
|
||||
2. Заполнить все поля корректными данными
|
||||
3. В поле "Возраст" указать `18`
|
||||
4. Нажать "Создать аккаунт"
|
||||
- **Ожидаемый результат:** Регистрация проходит успешно (лимит "с 18 лет" согласно подсказке под полем)
|
||||
- **Фактический результат:** Форма показывает ошибку "Возраст должен быть от 18 до 99 лет"
|
||||
- **Примечание:** Похоже на классическую off-by-one ошибку в условии сравнения (`<=` вместо `<`)
|
||||
@@ -0,0 +1,12 @@
|
||||
### BUG-002 — Чекбокс согласия с условиями не валидируется
|
||||
|
||||
- **Приоритет:** Critical
|
||||
- **Серьёзность:** Blocker
|
||||
- **Окружение:** Chrome 128, десктоп
|
||||
- **Шаги воспроизведения:**
|
||||
1. Заполнить все поля формы корректными данными
|
||||
2. **Не** отмечать чекбокс "Я согласен с условиями использования"
|
||||
3. Нажать "Создать аккаунт"
|
||||
- **Ожидаемый результат:** Форма блокирует отправку, показывает ошибку под чекбоксом
|
||||
- **Фактический результат:** Форма отправляется успешно, как будто согласие было дано
|
||||
- **Влияние:** Юридический риск — пользователь может зарегистрироваться, не приняв условия использования
|
||||
@@ -0,0 +1,13 @@
|
||||
### BUG-003 — Email без домена верхнего уровня проходит валидацию
|
||||
|
||||
- **Приоритет:** Medium
|
||||
- **Серьёзность:** Major
|
||||
- **Окружение:** Chrome 128, десктоп
|
||||
- **Шаги воспроизведения:**
|
||||
1. Открыть форму регистрации
|
||||
2. Заполнить все поля корректными данными
|
||||
3. В поле "Email" ввести `user@mail` (без `.com`/`.ru` и т.п.)
|
||||
4. Нажать "Создать аккаунт"
|
||||
- **Ожидаемый результат:** Форма показывает ошибку "Введите корректный email"
|
||||
- **Фактический результат:** Форма принимает адрес как валидный, регистрация проходит успешно
|
||||
- **Примечание:** Регулярное выражение проверяет только наличие `@`, но не проверяет домен верхнего уровня (отсутствие точки после `@`)
|
||||
@@ -0,0 +1,12 @@
|
||||
### BUG-004 — Пароль короче заявленного минимума проходит валидацию
|
||||
|
||||
- **Приоритет:** High
|
||||
- **Серьёзность:** Major
|
||||
- **Окружение:** Chrome 128, десктоп
|
||||
- **Шаги воспроизведения:**
|
||||
1. Заполнить все поля формы корректными данными
|
||||
2. В поле "Пароль" и "Подтверждение пароля" ввести `abc123` (6 символов)
|
||||
3. Нажать "Создать аккаунт"
|
||||
- **Ожидаемый результат:** Ошибка "Пароль должен содержать минимум 8 символов" (согласно подсказке под полем)
|
||||
- **Фактический результат:** Форма принимает пароль из 6 символов, регистрация проходит успешно
|
||||
- **Примечание:** Рассинхрон между текстом подсказки/ошибки (8 символов) и фактической проверкой в коде (6 символов)
|
||||
@@ -0,0 +1,13 @@
|
||||
### BUG-005 — Подтверждение пароля сравнивается без учёта регистра
|
||||
|
||||
- **Приоритет:** Critical
|
||||
- **Серьёзность:** Blocker
|
||||
- **Окружение:** Chrome 128, десктоп
|
||||
- **Шаги воспроизведения:**
|
||||
1. Заполнить все поля формы корректными данными
|
||||
2. В поле "Пароль" ввести `Secret12`
|
||||
3. В поле "Подтверждение пароля" ввести `secret12` (та же строка, но в нижнем регистре)
|
||||
4. Нажать "Создать аккаунт"
|
||||
- **Ожидаемый результат:** Ошибка "Пароли не совпадают" — строки различны с учётом регистра
|
||||
- **Фактический результат:** Форма считает пароли совпадающими, регистрация проходит успешно
|
||||
- **Влияние:** Пользователь может случайно задать пароль, отличающийся от того, что он думает, что задал — риск невозможности входа в будущем
|
||||
@@ -0,0 +1,12 @@
|
||||
### BUG-006 — Минимальная длина имени пользователя не проверяется
|
||||
|
||||
- **Приоритет:** Low
|
||||
- **Серьёзность:** Minor
|
||||
- **Окружение:** Chrome 128, десктоп
|
||||
- **Шаги воспроизведения:**
|
||||
1. Заполнить форму, в поле "Имя пользователя" ввести один символ, например `B`
|
||||
2. Остальные поля заполнить корректно
|
||||
3. Нажать "Создать аккаунт"
|
||||
- **Ожидаемый результат:** Ошибка "Имя пользователя должно быть от 3 до 20 символов"
|
||||
- **Фактический результат:** Форма принимает имя из 1 символа, регистрация проходит успешно
|
||||
- **Примечание:** В коде проверяется только пустая строка и верхняя граница (20 символов), нижняя граница отсутствует
|
||||
@@ -0,0 +1,12 @@
|
||||
### BUG-007 — Верхняя граница возраста не проверяется
|
||||
|
||||
- **Приоритет:** Medium
|
||||
- **Серьёзность:** Major
|
||||
- **Окружение:** Chrome 128, десктоп
|
||||
- **Шаги воспроизведения:**
|
||||
1. Заполнить все поля формы корректными данными
|
||||
2. В поле "Возраст" ввести `200`
|
||||
3. Нажать "Создать аккаунт"
|
||||
- **Ожидаемый результат:** Ошибка "Возраст должен быть от 18 до 99 лет"
|
||||
- **Фактический результат:** Форма принимает значение `200`, регистрация проходит успешно
|
||||
- **Примечание:** В коде проверяется только нижняя граница (`age <= 18`), верхняя граница (99) не проверяется вообще
|
||||
Reference in New Issue
Block a user