Форма Бакус-Наур
Форма Бакуса-Наура (BNF ) - це формальна нотація, яка використовується для точного та однозначного визначення синтаксису мов програмування, структур даних та протоколів. Вона являє собою набір правил для опису структури тексту або коду в ієрархічному порядку за допомогою символів і правил граматики. BNF названо на честь Джона Бакуса та Пітера Наура, які запровадили його для опису синтаксису мови програмування ALGOL. У тестуванні програмного забезпечення BNF в першу чергу використовується для визначення вхідних форматів або синтаксичних структур для додатків, що дозволяє тестувальникам розробляти тестові кейси, які охоплюють всі правильні і неправильні синтаксичні сценарії.
Ключові компоненти форми Бакус-Наур
- Не-термінали:
- Представляти змінні або абстракції в граматиці.
- Позначається кутовими дужками, наприклад,
<expression>або<statement>.
- Термінали:
- Представляють буквальні значення або токени в граматиці.
- Позначаються як рядки або символи, наприклад,
+,ifабоa-z.
- Правила виробництва:
- Визначити, як нетермінали будуються з терміналів та інших нетерміналів.
- Пишеться як
<non-terminal> ::= rule, де::=означає “визначається як”.
- Альтернативи:
- Представляти вибір у граматиці.
- Позначається символом
|.
Використання форми Бакуса-Наура в тестуванні програмного забезпечення
- Перевірка вхідних даних: визначте допустимий синтаксис вхідних даних для додатків, що дозволяє тестувати граничні випадки та невірні вхідні дані.
- Тестування синтаксичного аналізатора: перевірка того, що синтаксичні аналізатори та компілятори правильно інтерпретують та обробляють визначену граматику.
- Розробка тестових кейсів: використовуйте BNF для створення систематизованих тестових кейсів, що охоплюють всі можливі синтаксичні комбінації.
- Автоматизація: генерування вхідних даних або скриптів програмно на основі визначеної граматики.





