СПРОСИ ПРОФИ
👍
0
👎 01

Помогите найти ошибку

Тебе нужно протестировать консольную утилиту, которая валидирует текст на сбалансированность содержащихся в нем круглых скобок. Приложение принимает на вход строку и в результате своей работы возвращает строковый ответ «passed» или «failed». Входящая строка может содержать любые печатаемые ASCII-символы кроме пробелов.

Предложи достаточные и неизбыточные примеры строковых значений для проверки корректной работы консольного приложения.

Хинты для прохождения задания:

старайся выбирать для теста минимальное необходимое количество символов в строке: то есть если ты хочешь проверить текст с несколькими скобками, имей в виду, что чекер выберет вариант (()), а не ((((()))));
не пытайся придумывать длинные тесткейсы: обязательные проверки в эталоне проверяющей программы ожидают, что твоя максимальная по длине строка может быть 5 символов — строки длиннее могут оказаться избыточными;
старайся не дублировать одинаковые по смыслу тесты — проверяющая задание программа не зачтет дубликаты: тесты (А) и (Б) с точки зрения проверяющей программы идентичны;
не пытайся в один кейс включить сразу несколько проверок;
ты можешь задать сколь угодно длинный список проверок, но проверяющая программа задания ожидает увидеть в этом списке самые важные, базовые проверки без излишеств и креатива.
Формат ввода
В качестве тесткейса нужно записать пример входящей строки. Каждый новый кейс необходимо вводить с новой строки без дополнительных символов.
Пример:
(
(А)

Моё решение:
(
)
()
)(
((
))
(())
(()
())
((()))
((()
()))
(()))
((())
(((()))
((())))
(((())))

тестировщики программисты IT     #1   22 сен 2025 04:28   Увидели: 258 клиентов, 1 специалист   Ответить
👍
0
👎 0

Ответ chatgpt:

Отличный вопрос 👍
Тут важно понять: задание просит достаточный, но минимальный набор тестов. У тебя сейчас перечислены почти все варианты скобочных комбинаций, но многие из них избыточны: проверяющая программа не ждёт длинных строк и не засчитает дубли по смыслу.

---

Что нужно покрыть тестами:


1. Одиночная открывающая скобка – ошибка.


   (
   


2. Одиночная закрывающая скобка – ошибка.


   )
   


3. Правильная пара скобок – успех.


   ()
   


4. Неправильный порядок скобок – ошибка.


   )(
   


5. Вложенные скобки – успех.


   (())
   


6. Неполная вложенность (нехватает скобки) – ошибка.


   (()
   


---

Минимальный и достаточный набор

(
)
()
)(
(())
(()


---

👉 Этого достаточно, чтобы проверить корректность: одиночные случаи, правильный, неправильный порядок, вложенность и незакрытые скобки.
Все остальные длинные цепочки ((())), (((()))) и т.п. дублируют по смыслу уже проверенные кейсы.

Хочешь, я распишу ещё и ожидаемый результат (passed/failed) для каждого из этих входов, чтобы было сразу видно, что именно должно вернуть приложение?

Задайте свой вопрос тестировщикам –
профессионалам

Сейчас онлайн 75 тестировщиков
Получите ответ профи быстро и бесплатно
ASK.PROFI.RU © 2020-2026