Привіт! Ви на курсі тестування програмного забезпечення українського. З вами Пополюха, і сьогодні ми вивчаємо Equivalence Partitioning, або еквівалентне розділення. Це перша техніка тест-дизайну, яка відноситься до технік чорного ящика.
Еквівалентне розділення поділяє всі дані, які ми можемо ввести, на групи або ж класи еквівалентності, які обробляються схожим способом. Я зараз зроблю пояснювальну бригаду в наступному слайді. Для досягнення 100% покриття за допомогою цього методу, тестові сценарії, тобто тест-кейси, повинні покривати всі позитивні та негативні класи, перевіряючи хоча б одне значення із кожного класу. Тобто в еквівалентному розділенні з одного діапазону створюється один тест-кейс. Давайте пояснювальну бригаду.
Отже, уявімо собі ситуацію, коли в нас є якийсь прихований клуб, в який є доступ не всім. Доступ туди є тільки людям від 18 до 60 років. Тоді ми малюємо невелику табличу, в якій ділимо всі варіанти воду на невалідні, валідні і знов-таки невалідні. Валідні в нас це вік від 18 до 60. Це може бути 18, 19, 30, 40, 45, 40,1, 59, 59,999 яких-небудь і 60. Це все валідні варіанти віку.
Які можуть бути невалідні варіанти? Мінус безмежність. Мінус 100, 0, 1, 16, 17, 17,99, 61, 61, не знаю, 0,1, 62, 70, 100, 1000, мільярд, безмежність. Також ковбаса, собака-гмайлком, будь-що, що не являється числами від 18 до 60. Сподіваюсь, було зрозуміло.
Отже, ми всі... Варіанти, які ми можемо вписати, ділимо знов-таки на дві категорії на невалідні і валідні. І вже відштовхуючись від цього, працюємо. Повернусь на попередній слайд, де в останньому пункті сказано, що в еквівалентному поділі з одного діапазону створюється один тест-кейс.
Тут ми створюємо один тест-кейс на першу групу невалідних, ті, що менше цього числа, на валідні, і на другу групу невалідних, ті, що більше 60. Рухаємося до прикладів. Одразу, що... Почнемо із жорсткого, із питань з ISTQB, тобто одразу підготовка до екзамена.
Отже, питання звучить так. Числове поле має містити значення між 1 та 15, використовуючи еквівалентне розділення, скільки мінімум тест-кейсів потрібно створити для максимального покриття. Ми, як тільки бачимо завдання, креслимо табличку, розділяємо, що може бути менше 1 та 15, валідні від 1 до 15 та невалідні, більше 16 включно. І, відповідно, ми дивимося, що в нас є три категорії, три еквівалентних класа, і, відповідно, з них ми можемо створити три тест-кейси для того, щоб зробити максимальне покриття.
Рухаємося до наступного питання. Сенс такий самий, але питання трошки відрізняється. Отже, числове поле має містити значення між 1 та 15, використовуючи еквівалентне розділення, який із можливих варіантів є валідною колекцією еквівалентних класів в цьому сценарії.
І є. різні варіанти відповіді. Ми знов таки малюємо табличку, невалідні, валідні та невалідні, і дивимося на варіанти відповіді. Перший варіант менше одиниці від 1 до 15, більше 15. Звучить норм. Далі, другий варіант негативні числа від 1 до 15 і більше 15. Звучить не норм, тому що, наприклад, 0 це менше одиниці, і тому всі негативні числа нам не підходять.
Далі, менше одиниці від 1 до 14 та більше 15 нам не підходить, оскільки задача звучить від 1 до 15, а не до 14. І четвертий варіант, менше 0 від 1 до 14, 15 і більше, також нам не підходить, тому правильний варіант перший. Рухаємося далі, і тут буде питання для фанатів пожоще. Отже, у системі для розрахунку податків, які потрібно сплатити.
У працівника 4 тисячі зарплати не оподатковуються, тобто 4 тисячі гривень зарплати не оподатковуються. Наступні 1500 гривень оподатковуються 10% податку. Наступні 28 тисяч оподатковуються 22% податку.
А усі наступні суми зарплат оподатковуються 40% податку. Які з наступних груп зарплат потраплять до одного еквівалентного класу? Ми креслимо табличку, але... Звертаємо увагу на питання.
Питання до одного еквівалентного класу. Тобто, щоб всі числа із варіантів відповідей відносились або сюди, від 1 до 4 тисяч, або від 4 тисяч 1 до 5 500, або від 5 501 до 33 500, або більше 30 501. Я порахувала ці всі відсотки в ICQB-задачниках, але отак от виглядають ці числа, ці числа абсолютно валідні, якщо що, ці, що намальовані в таблицях. І давайте тепер дивитись на результати відповідей.
Отже, 4 800 знаходиться в другому діапазоні, 14 000 знаходиться... Вже в 3-му діапазоні, тому цей варіант відповіді в нас відпадає. Дивимося далі. 5200 знаходиться в 2-му діапазоні, 5500 знаходиться також в 2-му, 28000 знаходиться в 3-му, цей варіант відпадає. Третій варіант.
28001 знаходиться в 3-му діапазоні, 32000 знаходяться також в 3-му діапазоні, 35000 знаходиться в 4-му діапазоні, тому що 35000 більше, ніж 33500. Тому третій варіант також відпадає. Дивимося на 4-й. 5800 знаходиться в третьому діапазоні, 28000 в третьому і 32 також в третьому, тому правильна відповідь буде четверта.
Як багато чисел скажете ви? Але я скажу вам, що тут можна працювати не тільки з числами. Ми можемо поділяти на валідні і невалідні також текст.
Уявімо собі, що наша задача зареєструватися в інстаграмі і ми можемо зареєструватися за допомогою номеру телефону або емейлу. Відповідно, я... Наперед підготувалася, підготувала трошки валідних та невалідних варіантів номеру телефону та емейлу.
І ми зараз будемо з вами їх буквально перевіряти. Отже, до валідних я віднесла звичайний номер телефону, робочий, який містить код країни, плюс 380. Далі, номер телефону, також абсолютно легальний, той самий, але без коду країни. Далі, емейл, який складається з якогось тексту і звичайного домену.
Емейл, який складається з чисел і домену. І емейл, який складається з великої кількості символів, із андерскорами і також з доменом. Тепер невалідні. На противагу валідному номеру телефона я вставила сюди номер телефона на один символ більше, ніж потрібно. Далі номер телефона, який містить літеру замість цифри.
Далі емейл, який виглядає повністю валідним, але він вже зареєстрований. Зауважте, що така штука працює в інстаграмі, але може не працювати в інших сайтах. Тут воно відноситься до невалідних, оскільки вимоги інстаграму говорять про те, що вже зареєстрований емейл одразу невалідний. Але на інших сайтах це може бути не багом, можуть бути інші вимоги. Далі, таке саме, вже зареєстрований, створений 100% емейл, але складається з цифр.
Емейл, який не містить знаку «ат» собачки, і емейл, який не містить крапки. Ми подивилися на цю табличку, тепер давайте практикуватися. Переходимо до Інстаграму і будемо потрошку копіювати звідси інформацію. У мене вже відкрита регістрація Інстаграму. Натискаємо сюди.
І нам потрібно зареєструватися. Давайте я одразу вже заповню валідно всі інші поля, для того, щоб в мене не було ніяких помилок, для того, щоб зареєструватися можна було. Отже, повне ім'я, ім'я користувача. Треба якийсь унікальний, тому будь-що. Отак от піде.
І пароль. Хай це буде пасворт 123. Валідний? Ніби валідний.
Окей, тепер починаємо нашу магію. Почнімо із номера телефону із кодом країни. Одразу ж відбувається валідація і нам говориться про те, що даний номер телефона вже зреєстрований.
Давайте я натисну сюди. Хай я заберу звідси 9, вставлю 6, і тоді... Да, магія.
Цей номер телефона абсолютно валідний, тому він нам подобається. Тепер давайте одразу невалідний, на противагу цьому, додаємо один екстра символ. Додаємо сюди екстра 9, і в нас відбувається помилка. Натискаю на зареєструватися для того, щоб її побачити.
Схоже, що ваш номер телефона може бути неправильний. Введіть повний номер. Включно із кодом країни.
До речі, про код країни це означає, що оця частинка в нас зараз не спрацює і нам її потрібно буде перемістити до невалідних, тому я їх спробую забрати. Давайте так, я забираю екстра символ і я забираю код країни, переходимо до наступного кейсу. Дивимось, це валідний номер телефону. Ні, в нас немає ніяких проблем, тому я не буду його забирати. Отже, в нас немає помилок, валідація пройшла, тому цей номер дійсно вважається валідним.
А тепер пробуємо з літерою замість одної цифри. Спробуємо отак. І в нас помилка.
Натискаю «Зареєструватися». «Enter a valid email address». Вона бачить, що в нас є літера, значить вона думає, що це емейл, тому що тут або номер телефона, або електронна скринька. Окей, спробували вже чотири кейси. Рухаємося далі.
Тепер я хочу емейл, який, на мою думку, є невикористовуваним ще. Тому пробуємо. Вставляємо його сюди.
І в нас такий емейл ще не використаний, тому ми можемо зареєструватися. Давайте спробуємо тепер той, що 100% вже хтось зареєстрував. Я вже пробувала Наташа гмейлком, але в мене тут скопіпашено ABC.
І ABC по-любому в нас використовувався. Too many accounts are using the same email. Не підходить.
Відповідно, він невалідний. Тепер пробуємо з цифрами в емейлі. Але я собі вважаю, що ці цифри є, що такий емейл є унікальним.
Тик, пробуємо, що нам каже. Тут помилка. Цей емейл вже використовується, тому що дуже популярний номер телефону.
Давайте так. Опа, бачите, він валідний. Тобто я можу зареєструватися з емейлом, який складається тільки з чисел і домену.
Нам підходить. Пробуємо тепер. Ну, ми вже, в принципі, спробували, так. Пробуємо тепер 100% заюзаний емейл. 1, 2, 3, 4, 5. В нас є помилка.
To many users. Правильно? Правильно.
Тепер пробуємо емейл, який складається з багатьох символів. Це не відноситься до багатьох символів, це я так говорю для вас. Емейл, який містить андерскори.
Хочу отакий емейл. Придумала спеціально супер-ускладнення для того, щоб він був унікальним. Отже... з цим емейлом можна зареєструватися.
Тому underscore в нас дозволені. Тепер пробуємо отакі два варіанти емейла. Без знаку собачка, без знаку add. Нам зараз каже, це невалідний емейл. Enter a valid email address.
Тепер пробуємо без крапки, але з знаком add. Копіюємо, виставляємо і намагаємося зареєструватися. І знов-таки Enter a valid email address.
Отже, в нас вийшло. От стільки тест-кейсів. Відповідно, в принципі, до кожного із цих варіантів ми створили тест-кейси.
В кінці кожної техніки наша основна мета це скласти тест-кейси. Першим тест-кейсом буде зареєструватися з валідним номером телефона, і саме цей номер телефона можна використовувати як тестові дані, тобто ввести номер телефона такий-то. Другий тест-кейс зареєструватися з валідною електронною скринькою і використовувати якийсь із цих прикладів трьох. Третій приклад це негативна реєстрація за електронкою.
Тут можна використовувати хоч всі скриньки в одному тест-кейсі, але головна умова, що в різних кроках. Тобто, ми там натискаємо на «Зареєструватися», вводимо валідні повне ім'я, пароль та що ми там ще вводили, і тепер прийшла черга емейлу або номеру телефону. Наступний крок буде ввести email abc.sobacagmail.com.
Очікуваний результат ми отримали таку-то помилку. Далі. Витерти цей емейл і наступним кроком ввести наступний 12345-e-mail.com.
Очікуваний результат повідомлення про помилку. Витерти цей емейл як окремий крок і ще наступний крок ввести емейл такий, без собачки, при чому обов'язково завжди ми вказуємо, які тестові дані ми використовуємо. І знов таки очікуваний результат витерти цей емейл і наступний крок ввести емейл без крапків на звідомлену.
І очікуваний результат нас не зареєструє. На цьому все. Я дуже вдячна вам за перегляд, за увагу.
І з вас в коментарі більше 4 слів, лайк та підписка. Підтримуйте українське та до зустрічі в наступному уроці.