Fuente
All about QA - Все про тестування ПЗ | Техніки Тест-Дизайну: Синтаксичне vs Семантичне Тестування (Syntax / S...
660 Vistas/Alcance
2025-11-05 09:58
Mensaje №1245
✨ Техніки Тест-Дизайну: Синтаксичне vs Семантичне Тестування (Syntax / Semantic Testing) ✨🤔 Чи траплялося, що система приймає запит формально правильний — але робить зовсім не те, що очікується? Наприклад, API приймає поле date: "2025-13-45" (правильний тип, але нереальна дата) або форма зберігає ім’я користувача, яке складається лише з пробілів.Щоб такі ситуації не прослизали у продакшн, застосовується синтаксичне і семантичне тестування.🎯 Суть технікиЦе дві взаємодоповнюючі техніки тестування чорної скриньки, які перевіряють форму і зміст вхідних даних.Синтаксичне тестування (Syntax Testing) перевіряє структуру, формат і відповідність даних заданим правилам — чи правильно побудований запит, чи вірний тип змінної, чи дотримано регулярний вираз.Семантичне тестування (Semantic Testing) фокусується на логічному змісті — чи мають дані сенс у контексті бізнес-правил системи.Разом вони гарантують, що система не лише “розуміє” запит, а й робить те, що потрібно.🛠️ Як це працює?1️⃣ Синтаксичний рівень:Перевіряється коректність формату введення.Система повинна приймати тільки валідні структури (JSON, XML, SQL-запити, параметри CLI).2️⃣ Семантичний рівень:Перевіряється зміст даних: логічна послідовність, зв’язки між полями, бізнес-правила.Наприклад, дата народження не може бути у майбутньому, або знижка не може перевищувати 100%.📋 Приклади:Сценарій: форма створення користувачаПоля: email, age, country.✅ Валідні синтаксично та семантично:email = "[email protected]", age = 25, country = "Ukraine"❌ Синтаксична помилка:email = "[email protected]", age = "twenty", country = 123❌ Семантична помилка:email = "[email protected]", age = -5, country = "Mars"💡 Переваги техніки:✅ Дає повне покриття обробки даних — від формату до змісту.✅ Ефективна для API, вебформ, CLI, ETL-процесів, баз даних.✅ Допомагає виявити як некоректні запити, так і логічно безглузді.✅ Ідеальна для тестування систем, що обробляють великі обсяги користувацьких або інтеграційних даних.⚠️ Обмеження:🔸 Потрібно чітке визначення правил — формальних і бізнесових.🔸 Семантичне тестування часто вимагає глибокого знання домену системи.🎯 Висновок:Синтаксичне тестування перевіряє, чи можна прочитати дані, а семантичне — чи мають вони сенс. Разом вони формують основу якісного тестування вводу/виводу, гарантують стабільність інтеграцій і захищають від непередбачуваних збоїв.#ТестДизайн #TestDesignTechniques #SyntaxTesting #SemanticTesting #QA #AllAboutQA