Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - All about QA - Все про тестування ПЗ
Added 23 Jun 2023

All about QA - Все про тестування ПЗ

@allaboutqa
Number of subscribers: 2 488
Photos: 305
Videos: 4
Links: 1,080
Description:
Все про тестування ПЗ YouTube канал для тестувальників https://www.youtube.com/c/AllaboutQA Manual testing, Performance testing, Automated testing, Security testing, Mobile testing Курси, навчання, івенти, вакансії. Для питань —> @d_bezt

👥 Number of subscribers

2 488
Average/Day:: -1
Average/Week:: +3
Average/Month:: -6

👁️ Average views per message

709
Average/Day:: 730
Average/Week:: 705
ERR: 28.5%

📊 Messages per Day

0.6
Last day: 1
Week average: 0.4
Average per day: 0.6

Status change history

Officially not confirmed 2023-06-23

Wall

Telegram statistics channel

Техніки Тест-Дизайну: Граф причинно-наслідкових зв’язків (Cause-Effect Graphing) 🤔 Чи доводилось стикатися з ситуацією, коли функціональність має багато умов і комбінацій, а ручне написання тестів для кожної з них здається надто складним або ризикованим? Саме тоді варто звернутися до техніки Cause-Effect Graphing — потужного інструменту для логічного моделювання вимог.🎯 Cause-Effect Graphing: Суть технікиЦе метод перетворення функціональних вимог у логічний граф, де «причини» (вхідні умови, події) пов’язуються з «наслідками» (результати, дії системи) через логічні зв’язки (AND, OR, NOT тощо).Мета — формалізувати зв’язки та згенерувати оптимальний набір тестів, які покривають важливі комбінації умов і результатів.🛠️ Як це працює?Визначити Причини (Causes):Всі вхідні умови, події, які впливають на поведінку системи.Наприклад: «Пароль не порожній», «Ім’я користувача валідне».Визначити Наслідки (Effects):Очікувані результати або дії системи.Наприклад: «Успішний вхід», «Відображення помилки».Побудувати логічний граф:Причини з’єднуються з наслідками через логічні оператори. Створюється граф, який відображає всі залежності.Конвертувати граф у таблицю рішень:Із графу формується таблиця з комбінаціями умов, яка лягає в основу для створення тест-кейсів.Створити тести:Вибираються найважливіші, граничні або унікальні комбінації для перевірки.📋 Приклад:Причини:C1: Email валіднийC2: Пароль валіднийC3: Кнопка «Login» натиснутаНаслідок:E1: Вхід дозволеноЗв’язок: E1 = C1 AND C2 AND C3На основі графу створюється таблиця рішень → тести.💡 Переваги Cause-Effect Graphing: Виявлення неочевидних логічних помилок у специфікації Зменшення кількості тестів без втрати покриття Підходить для складних бізнес-правил Можна використовувати для автоматизації генерації тестів⚠️ Обмеження:Залежність від точності вимогПобудова графа вимагає часу та досвідуНе підходить для дуже динамічних або слабоформалізованих систем💬 Цікаво знати:Ця техніка активно використовується в аерокосмічній, фінансовій та медичній галузях, де критично важливе повне та логічно коректне покриття умов.🎯 Висновок:Cause-Effect Graphing — це аналітична та системна техніка, яка дозволяє структурувати вимоги і перетворити їх на ефективні тести. Це чудовий вибір, коли мова йде про складну логіку, численні залежності та потребу в контрольованому покритті.#ТестДизайн #CauseEffectGraphing #QA #TestDesignTechniques #ТестуванняПЗ #AllAboutQA #ЧорнаСкринька
🧪 Тестування баз даних: що має знати QA?Багато хто вважає, що тестування БД — це справа лише backend-розробників. Але насправді якісний QA завжди перевіряє, що твориться під капотом.Що обов’язково варто враховувати:🔹 Перевірка структури БД • Чи відповідають назви таблиць, полів і типи даних вимогам? • Чи є обмеження (constraints), індекси, унікальні ключі?🔹 Тестування CRUD-операційCreate, Read, Update, Delete — переконайтесь, що все працює коректно.Приклади: • Чи створюється запис після реєстрації? • Чи видаляється він при видаленні акаунту?🔹 Перевірка збереження даних • Чи правильно обробляється null? • Чи зберігається дата/час у потрібному форматі? • Чи не обрізаються поля?🔹 Тестування зв’язків між таблицями (JOIN-и) • Наприклад, замовлення має бути пов’язане з існуючим клієнтом. • Чи повертається правильна інформація при складному запиті?🔹 Тестування продуктивності запитів • Не всі запити однаково швидкі. • Перевіряй, скільки часу займають найважчі вибірки.🔹 Data Integrity • Дані мають бути узгодженими. • Наприклад: не може бути замовлення без товару або ID клієнта, який не існує.⚙️ Інструменти, які стануть у пригоді:📌 SQL (MySQL, PostgreSQL, MSSQL…)📌 DBeaver / DataGrip / pgAdmin📌 Postman (для перевірки API + БД)📌 JMeter (навантаження на запити)🎓 Якщо ти автоматизуєш:Інтегруй запити до БД у тести через JDBC, Python (psycopg2), або ORM.🔍 Тестування БД = глибина + уважність.Ти не просто клікаєш кнопки — ти відповідаєш за цілісність і надійність!#AllAboutQA #DatabaseTesting
🧠 5 речей, які обовʼязково треба зробити перед запуском навантажувального тестуЯкщо цього не зробити — ваш тест покаже вам що завгодно, але не реальну продуктивність системи.1️⃣ Чітко визначіть ціль тесту.Ви хочете перевірити поведінку при 1000 одночасних користувачах? Чи зʼясувати, скільки максимум витримає сервер?Різні цілі = різна логіка сценарію.2️⃣ Зберіть реальні дані користувацької поведінки.Часто тести будуються "в лоб": логін — клік — замовлення. Але реальні користувачі поводяться складніше.Використовуйте логи, аналітику, heatmaps, щоб створити життєвий сценарій.3️⃣ Виділіть середовище для тестів.Навантаження на прод? 🙃 Ні, дякую.Тестуйте на окремому, максимально подібному до бойового середовищі.4️⃣ Протестуйте сам JMeter-скрипт.Так, перед запуском на повну.Часто в самих скриптах бувають помилки: неправильна параметризація, некоректна обробка відповіді, зайвий трафік на API.5️⃣ Домовтесь, хто буде дивитись на метрики.CPU, RAM, БД, мережа, логи, відповіді серверів — все це має хтось моніторити. Бо без цього навантаження — просто цифра, яка нічого не означає.👨‍💻 Хочеш навчитись робити це правильно — від створення сценарію до візуалізації в Grafana?📢 24 липня стартує курс "Навантажувальне тестування з JMeter"🧰 9 практичних занять🔁 З реальними кейсами🛠 І глибоким розумінням, а не просто “де клікати”Ресєтрація: https://qalight.ua/kursy/testirovanie/jmeter/
Вже в суботу 5 липня о 18.00 дізнайся, як штучний інтелект може змінити твоє життя! 🤖Ти готовий зазирнути у світ, де роботи не просто фантастика, а реальність, яка працює на тебе? 😎 😍На нашому БЕЗКОШТОВНОМУ онлайн-воркшопі "Як користуватися ШІ-агентом: від основ до заміни людини на робота" ти дізнаєшся:Як ШІ-агент може автоматизувати твою роботу і звільнити час для улюбленої справи.Чи реально замінити людину на робота? І якщо так, то як це зробити ефективно та етично.Секрети використання ШІ, які вже змінюють індустрію.🔐Практичні інструменти, які ти зможеш застосувати одразу після події!Микола Бобошко – це не просто експерт, а справжній провідник у світі технологій, який доступно пояснить складні речі та зарядить тебе ідеями для майбутнього. Його досвід і харизма не залишать байдужим нікого! 🔥Чому варто приєднатися?🌟Інтерактивна сесія з живими прикладами та демонстраціями ШІ в дії.🌟Відповіді на твої запитання: від "з чого почати?" до "як не втратити роботу через ШІ?".📌Ми розкриємо один секрет: на івенті ти побачиш, як ШІ-агент виконує завдання, яке здається непростим для людини! 😲 Не пропусти шанс стати частиною цього технологічного прориву!Коли? В суботу, 5 липня о 18:00Де? Zoom (посилання на підключення буде опубліковане в чаті телеграм-каналу https://t.me/qalight_club )Хто? спікер Микола Бобошко – експерт, який розкриє секрети штучного інтелекту!
Продовження... ⚠️ Недоліки та Обмеження:Складність вибору/побудови масиву: Для систем з великою кількістю параметрів або різною кількістю рівнів вибір або створення відповідного ортогонального масиву може бути нетривіальним і вимагати спеціальних знань або інструментів.Не покриває всі комбінації: Як і попарне тестування, OATs не тестує взаємодії трьох і більше параметрів.Абстракція від значень: Масив працює з "рівнями" (0, 1, 2), і потрібне правильне відображення цих рівнів на реальні значення параметрів.Доменні знання важливі: Якщо існують відомі або підозрілі взаємодії трьох і більше параметрів, їх потрібно тестувати окремо.🎯 Висновок:OATs – це ще одна потужна техніка для зменшення кількості тест-кейсів при тестуванні систем з багатьма параметрами. Вона забезпечує більш збалансоване покриття парних взаємодій порівняно з деякими реалізаціями попарного тестування. OATs особливо корисні, коли важлива не тільки наявність кожної пари, а й рівномірність їх перевірки, що може бути цінним для аналізу продуктивності або надійності системи при різних конфігураціях.#ТестДизайн #OrthogonalArrayTesting #OATs #CombinatorialTesting #TestDesignTechniques #AllAboutQA
Техніки Тест-Дизайну: Покриття Модифікованих Умов/Рішень (MC/DC) 🤔 Як переконатися, що кожна умова в складному рішенні дійсно впливає на результат, не тестуючи всі можливі комбінації?У попередніх постах ми розглядали Покриття Операторів, Рішень/Гілок та Умов. Кожна з цих технік має свої переваги, але іноді нам потрібен більш строгий підхід, особливо коли йдеться про критично важливі системи (авіоніка, медицина, фінанси). Тут на допомогу приходить MC/DC.🎯 Покриття Модифікованих Умов/Рішень (MC/DC): Суть технікиMC/DC – це техніка тестування білої скриньки, яка вимагає, щоб:Кожна умова в рішенні (decision point) приймала всі можливі логічні значення (true/false).Кожне рішення приймало всі можливі логічні значення (true/false).Кожна умова в рішенні була продемонстрована як така, що незалежно впливає на результат рішення."Незалежно впливає" – це ключовий момент! Це означає, що для кожної умови X у рішенні (наприклад, A and (B or C)) ми маємо знайти два тест-кейси, де:Значення всіх інших умов (окрім X) фіксовані.Значення умови X змінюється (з true на false або навпаки).Ця зміна значення X призводить до зміни результату всього рішення.Простіше кажучи, ми показуємо, що саме ця умова, і ніяка інша, в даний момент визначає результат.📝 Як це працює (спрощений приклад):Уявімо рішення: R = (A and B) or CЩоб задовольнити MC/DC, нам потрібні тест-кейси, які показують незалежний вплив A, B та C:Для умови A:Тест 1: A=true, B=true, C=false => R=true (A впливає)Тест 2: A=false, B=true, C=false => R=false (A впливає)(Тут B=true, C=false – фіксовані; зміна A змінює R)Для умови B:Тест 3: A=true, B=true, C=false => R=true (B впливає, це той самий Тест 1)Тест 4: A=true, B=false, C=false => R=false (B впливає)(Тут A=true, C=false – фіксовані; зміна B змінює R)Для умови C:Тест 5: A=false, B=false, C=true => R=true (C впливає)Тест 6: A=false, B=false, C=false => R=false (C впливає)(Тут A=false, B=false – фіксовані; зміна C змінює R)У цьому прикладі для 3 умов нам знадобилося 4 унікальних тест-кейси (Тест 1 і Тест 3 – однакові). Загалом, для N умов, MC/DC зазвичай вимагає N+1 тест-кейсів. Це значно менше, ніж повний перебір (2^N).💡 Переваги MC/DC:Сильне покриття: Значно ретельніше, ніж просто покриття рішень чи умов окремо. Добре виявляє помилки в логіці складних умов.Ефективність: Забезпечує високий рівень впевненості при значно меншій кількості тестів, ніж повне покриття всіх комбінацій умов.Стандарт в критичних системах: Широко використовується і часто є вимогою в стандартах безпеки (наприклад, DO-178C для авіаційного ПЗ).Фокус на впливі: Допомагає зрозуміти, яка саме умова "зламала" логіку, якщо тест падає.⚠️ Недоліки та Обмеження:Складність аналізу: Визначення мінімального набору тест-кейсів для MC/DC може бути складним для дуже складних рішень. Часто потрібні спеціалізовані інструменти аналізу коду.Не завжди досяжне 100%: Деякі умови можуть бути "замасковані" іншими (наприклад, у A and B, якщо A = false, то B ніколи не вплине на результат). Це називається "coupled conditions".Фокус на логіці, не на даних: MC/DC перевіряє логічні шляхи, але не обов'язково виявляє помилки, пов'язані з конкретними значеннями даних (для цього потрібні техніки чорної скриньки).Потребує доступу до коду: Це техніка білої скриньки.🎯 Висновок:Покриття Модифікованих Умов/Рішень (MC/DC) – це потужна і строга техніка тест-дизайну, яка забезпечує глибоку перевірку логіки прийняття рішень у коді. Хоча її застосування може бути складнішим, ніж для простіших критеріїв покриття, вона є незамінною для систем, де ціна помилки дуже висока. Розуміння принципів MC/DC дозволяє тестувальникам створювати більш ефективні та цілеспрямовані тести.#ТестДизайн #ТестуванняПЗ #БілаСкринька #MCDC #ПокриттяКоду #QA #TestDesignTechniques #AllAboutQA #SoftwareTesting
Техніки Тест-Дизайну: Тестування попарно (Pairwise/All-Pairs Testing) 🤔 Що робити, коли кількість комбінацій для тестування сягає тисяч?Уявіть, що ви тестуєте форму з кількома параметрами: 3 типи ОС, 4 браузери, 3 ролі користувача, 5 форматів експорту. Повне тестування вимагало б 3 * 4 * 3 * 5 = 180 тест-кейсів. Додайте ще один параметр — і кількість тестів зросте експоненційно. Це "комбінаторний вибух", який робить повне тестування неможливим. Техніки, як аналіз граничних значень чи таблиці рішень, тут не завжди допоможуть, бо вони не фокусуються на комбінації всіх параметрів.🎯 Тестування попарно: Суть технікиМета тестування попарно — створити мінімально можливий набір тест-кейсів, який покриває всі унікальні пари значень між усіма параметрами.В основі лежить емпіричне спостереження: більшість багів виникають через взаємодію одного або двох параметрів одночасно. Помилки, спричинені складною взаємодією трьох і більше параметрів, трапляються значно рідше.Отже, замість того, щоб тестувати всі можливі комбінації, ми гарантуємо, що:Кожне значення параметра А було протестоване в парі з кожним значенням параметра Б.Кожне значення параметра А було протестоване в парі з кожним значенням параметра В, і так далі.Як це працює?Визначаємо параметри та їх значення: Складаємо список всіх параметрів, які впливають на поведінку системи, та всіх можливих значень для кожного з них.Наприклад: ОС (Win, Mac), Браузер (Chrome, Firefox), Роль (Admin, User).Використовуємо інструмент для генерації: Створення оптимального набору тестів вручну — складна задача. Для цього існують спеціалізовані інструменти, які роблять це автоматично.Наприклад: PICT, AllPairs, онлайн-генератори.Отримуємо таблицю тест-кейсів: Інструмент генерує таблицю, де кожен рядок — це один тест-кейс. Кількість таких тест-кейсів буде значно меншою за повний перебір, але покриття взаємодій залишиться високим.Для прикладу вище (2*2*2=8 комбінацій) Pairwise може звести все до 4 тест-кейсів, покривши всі пари.💡 Переваги тестування попарно:Суттєве зменшення кількості тест-кейсів: Економія часу та ресурсів на 80-90% у порівнянні з повним перебором.Висока ефективність: Добре виявляє баги, пов'язані з взаємодією двох параметрів, що є найчастішим випадком.Систематичний підхід: На відміну від випадкового вибору, Pairwise гарантує покриття всіх парних взаємодій.Ідеально для тестування конфігурацій: Незамінний при перевірці сумісності ПЗ з різними ОС, браузерами, базами даних, налаштуваннями тощо.⚠️ Недоліки та Обмеження:Не гарантує 100% покриття: Техніка свідомо ігнорує комбінації трьох і більше параметрів. Якщо критичний баг виникає лише при одночасній взаємодії трьох конкретних значень, Pairwise може його пропустити.Залежить від правильного вибору параметрів: Ефективність техніки повністю залежить від того, наскільки точно тестувальник визначив усі параметри, що впливають на систему.Потребує інструментів: Ручна генерація оптимального набору тестів для реальних задач практично неможлива.Висновок:Тестування попарно — це прагматичний компроміс між повнотою покриття та обмеженістю ресурсів. Це потужна техніка чорної скриньки, яка дозволяє ефективно тестувати складні системи з великою кількістю налаштувань. Вона є обов'язковим інструментом в арсеналі будь-якого тестувальника, що працює з конфігураційним тестуванням або складними формами.#ТестДизайн #ТестуванняПЗ #ЧорнаСкринька #PairwiseTesting #AllPairsTesting #CombinatorialTesting #QA #TestDesignTechniques #AllAboutQA
Техніки Тест Дизайну: Тестування на основі Варіантів Використання (Use Case Testing) (ч. 2).💡 Переваги Тестування на основі Варіантів Використання:Фокус на користувачеві: Тести відображають реальні сценарії використання системи.Зрозумілість: Use Cases легко зрозуміти як технічним спеціалістам, так і представникам бізнесу.Хороше покриття бізнес-логіки: Допомагає перевірити наскрізні сценарії.Раннє виявлення проблем у вимогах: Аналіз Use Cases для тестування може виявити неоднозначності або прогалини у специфікаціях.Пріоритезація: Дозволяє зосередитися на найважливіших для користувача функціях.⚠️ Недоліки:Залежність від якості Use Cases: Якщо варіанти використання погано написані або неповні, тестове покриття буде недостатнім.Не покриває всі аспекти: Може не виявити помилок на рівні окремих компонентів або нефункціональних проблем, якщо вони не описані у Use Cases.Складність для дуже великих систем: Створення та підтримка детальних Use Cases для всіх взаємодій може бути трудомістким.Висновок:Тестування на основі варіантів використання – це чудовий спосіб переконатися, що система відповідає потребам користувачів і дозволяє їм досягати своїх цілей. Воно є невід'ємною частиною тестування на системному рівні та приймального тестування. Найкраще працює в поєднанні з іншими техніками для забезпечення всебічного покриття.#ТестДизайн #ТестуванняПЗ #ВаріантиВикористання #UseCaseTesting #QA #SoftwareTesting #TestDesignTechniques #AllAboutQA #TechTips #UserExperience
Техніки Тест-Дизайну: Таблиці Рішень (Decision Table Testing) 🤔 Коли звичайних підходів недостатньо?Уявіть ситуацію: поведінка системи залежить від комбінації кількох умов, і для кожної комбінації передбачена своя унікальна дія або результат. Наприклад, надання знижки клієнту залежить від типу його картки, суми покупки та наявності промокоду. Перебирати всі варіанти вручну може бути складно і легко щось пропустити. Ось тут на допомогу приходять Таблиці Рішень!🔍 Таблиці Рішень: Суть технікиТаблиця рішень – це структурований спосіб представити складну логіку. Вона допомагає систематизувати умови, можливі дії та правила, які пов'язують ці умови з діями.Як це працює?Ідентифікуємо Умови (Conditions): Визначаємо всі фактори, які впливають на поведінку системи. Це можуть бути вхідні дані, стани системи тощо.Ідентифікуємо Дії (Actions): Визначаємо всі можливі дії або результати, які система може виконати у відповідь на умови.Будуємо Таблицю:Рядки Умов: Кожен рядок представляє одну умову. Для кожної умови ми вказуємо можливі значення (наприклад, Так/Ні, True/False, або конкретні значення).Рядки Дій: Кожен рядок представляє одну можливу дію.Стовпці Правил (Rules): Кожен стовпець представляє унікальну комбінацію значень умов та відповідні дії, які мають бути виконані. По суті, кожен стовпець – це потенційний тест-кейс.Заповнюємо Таблицю: Для кожного правила (стовпця) визначаємо, які дії виконуються (позначаємо X або ✓) при заданій комбінації умов.Оптимізуємо (за потреби): Іноді таблицю можна скоротити, об'єднавши правила, де деякі умови не впливають на результат (позначаються - або N/A).Створюємо Тест-Кейси: Кожен стовпець (правило) в таблиці рішень стає основою для одного або кількох тест-кейсів.Приклад: Уявімо логіку реєстрації на сайті з такими умовами та діями:Умови:1. Користувач новий? (Так/Ні)2. Email валідний? (Так/Ні)3. Пароль відповідає вимогам? (Так/Ні)Дії:A. Створити акаунтB. Показати повідомлення про успішну реєстраціюC. Показати помилку "Email невалідний"D. Показати помилку "Пароль не відповідає вимогам"E. Показати помилку "Користувач вже існує"Розглянемо правила (тест-кейси):➡️ Правило 1 (Успішна реєстрація): - Умова 1: Так (новий) - Умова 2: Так (email валідний) - Умова 3: Так (пароль валідний) - Дії: A, B➡️ Правило 2 (Невалідний email): - Умова 1: Так (новий) - Умова 2: Ні (email невалідний) - Умова 3: - (не має значення) - Дія: C➡️ Правило 3 (Невалідний пароль): - Умова 1: Так (новий) - Умова 2: Так (email валідний) - Умова 3: Ні (пароль невалідний) - Дія: D➡️ Правило 4 (Новий користувач, невалідний пароль - інший сценарій, якщо потрібно): - Умова 1: Так (новий) - Умова 2: Так (email валідний) - Умова 3: Ні (пароль занадто короткий - приклад) - Дія: D (або інша специфічна помилка пароля)➡️ Правило 5 (Користувач вже існує): - Умова 1: Ні (не новий) - Умова 2: - (не має значення) - Умова 3: - (не має значення) - Дія: E💡 Переваги Таблиць Рішень:- Забезпечують систематичне покриття складної логіки.- Допомагають виявити прогалини або суперечності у вимогах.- Зменшують надлишковість тестів.- Тест-кейси, створені на основі таблиць, легко документувати та підтримувати.- Корисні для комунікації з бізнес-аналітиками та розробниками.Таблиці рішень – потужний інструмент, особливо для функціоналу з розгалуженою бізнес-логікою. Хоча їх створення може зайняти час, результат у вигляді якісного тестового покриття того вартий!#ТестДизайн #ТестуванняПЗ #ТаблиціРішень #DecisionTableTesting #QA #SoftwareTesting #TestDesignTechniques #AllAboutQA
Техніки Тест-Дизайну: Аналіз Граничних Значень (Boundary Value Analysis) 🤝 Класи Еквівалентності та Аналіз Граничних Значень йдуть пліч-о-пліч?Якщо Класи Еквівалентності допомагають нам вибрати типових представників з кожної групи даних, то Аналіз Граничних Значень фокусується на "краях" або "межах" цих груп. Саме на стиках діапазонів найчастіше ховаються підступні баги! 🐛🔍 Аналіз Граничних Значень: Суть технікиІдея BVA полягає в тому, що помилки частіше виникають на граничних значеннях вхідних даних, а не всередині діапазонів. Тому ми тестуємо значення:- Безпосередньо на межі- Трохи менше за межу- Трохи більше за межуЦе дозволяє перевірити, як система обробляє переходи між різними станами або діапазонами.Як це працює?Визначаємо Класи Еквівалентності: Так, спочатку ми все одно ідентифікуємо класи (як у попередньому пості).Знаходимо Границі: Для кожного валідного та невалідного класу визначаємо його чіткі межі.Обираємо Тестові Значення:Для валідного діапазону: мінімальне значення, (мінімальне значення + 1), максимальне значення, (максимальне значення - 1).Для невалідних діапазонів, що прилягають до валідного: значення, що на одиницю менше мінімального валідного, та значення, що на одиницю більше максимального валідного.Приклад (продовжуємо з полем віку):Нагадую, поле для введення віку користувача (ціле число) приймає значення від 18 до 60 років включно.Класи еквівалентності ми вже визначили. Тепер застосуємо BVA:Нижня межа (18):17 (невалідний, безпосередньо перед межею)18 (валідний, на межі)19 (валідний, безпосередньо після межі)Верхня межа (60):59 (валідний, безпосередньо перед межею)60 (валідний, на межі)61 (невалідний, безпосередньо після межі)📋 Тест-кейси, що випливають з BVA (для цього прикладу):Ввести 17 -> очікуваний результат: помилка/відхилення.Ввести 18 -> очікуваний результат: успішне прийняття.Ввести 19 -> очікуваний результат: успішне прийняття.Ввести 59 -> очікуваний результат: успішне прийняття.Ввести 60 -> очікуваний результат: успішне прийняття.Ввести 61 -> очікуваний результат: помилка/відхилення.📌 Важливо! BVA не замінює Класи Еквівалентності, а доповнює їх. Тобто, ми б також залишили тест-кейс з представником валідного класу (наприклад, 35), щоб перевірити "середнє" значення.💡 Переваги BVA:Дуже ефективний для виявлення помилок типу "off-by-one" (помилка на одиницю).Дозволяє ретельно протестувати поведінку системи на межах діапазонів.Легко застосовується, коли класи еквівалентності вже визначені.Значно підвищує надійність тестування без надмірного збільшення кількості тест-кейсів.Аналіз Граничних Значень – це простий, але надзвичайно дієвий інструмент в арсеналі кожного тестувальника. Комбінуючи його з Класами Еквівалентності, ви значно підвищуєте шанси знайти важливі дефекти!#ТестДизайн #ТестуванняПЗ #АналізГраничнихЗначень #BoundaryValueAnalysis #QA #SoftwareTesting #TestDesignTechniques #AllAboutQA