Офіс в Україні: +38 (063) 50 74 707

Офіс у США: +1 (212) 203-8264

Ручне тестування

Забезпечте найвищу якість вашого програмного забезпечення за допомогою наших послуг ручного тестування.

Мобільне тестування

Оптимізуйте свої мобільні додатки для бездоганної роботи на всіх пристроях і платформах за допомогою наших комплексних послуг з мобільного тестування.

Автоматизоване тестування

Покращуйте свою розробку програмного забезпечення за допомогою наших послуг автоматизованого тестування, розроблених для підвищення ефективності.

Функціональне тестування

Вдосконалюйте основний функціонал вашого додатку за допомогою наших послуг з функціонального тестування

ПЕРЕГЛЯНУТИ ВСІ ПОСЛУГИ

Обговорення -

0

Обговорення -

0

Інкапсуляція як один з фундаментальних принципів об’єктно-орієнтованого програмування

Знання основ об’єктно-орієнтованого програмування необхідне не тільки програмістам, але й, звичайно, тестувальникам, які взаємодіють з програмним кодом, вивчають його або пишуть. Знання основ програмування дозволяє QA-спеціалістам краще розуміти поведінку програми, давати ефективні рекомендації щодо покращення структури програмного коду, а також більш ефективно створювати код для автотестування.

Поняття інкапсуляції

Інкапсуляція - це набір практик для приховування частин реалізації або внутрішнього стану об’єкта та вибіркового надання доступу до внутрішньої механіки за допомогою певних загальнодоступних методів. Його часто використовують, щоб безпосередньо запобігти доступу користувачів до об’єкта та редагування цих властивостей, з метою веб-безпеки або для запобігання навмисній зміні інформації.

Приклад використання інкапсуляції у програмному коді

Щоб наочно продемонструвати використання інкапсуляції та її властивості, уявімо, що у нас є деякий клас TEST, який представляє собою банківський рахунок з 2 характеристиками: тип рахунку та залишок на рахунку.

Отже, найпростіше відображення такого класу може виглядати так:

TEST клас

TEST клас

Це дуже шаблонно і викликає багато запитань. Найважливіше з них полягає в тому, що всі користувачі цього класу можуть змінювати значення властивостей банківського балансу за власним бажанням, коли вони виконують дії зі зняття коштів з рахунку або поповнення рахунку.

І це не найкраща ідея. Ніхто не може гарантувати, що бізнес-правила дотримуються правильно, тому що такі операції не можуть нав’язати “правильну поведінку системи”.

Набагато краще використовувати основи інкапсуляції. Для цього ми можемо зробити властивості прихованими, обмеживши прямий доступ до них за допомогою класу TEST. Потім ми надаємо доступ до властивості через загальнодоступні методи, додаючи деякі бізнес-правила:

public class TEST

public class TEST

Коли використовується інкапсуляція і накладаються певні бізнес-правила, стає нереально зняти від’ємну суму грошей або покласти на рахунок користувача від’ємне значення коштів. Реальний баланс, як і раніше, доступний для всіх, але доступ до нього обмежений до зчитування параметрів.

Роль інкапсуляції в автоматизації

Найпоширенішим застосуванням основ інкапсуляції у сфері автоматизації тестування є Page Object, який, у свою чергу, широко використовується завдяки своєму зручному інтерфейсу на базі таких інструментів, як Selenium, Playwright та Cypress.

Як ми знаємо, Page Object - це спеціальні класи, які інкапсулюють деталі створення сторінки, локатори, що використовуються для перевірки елементів на веб-сторінці, а також використовуються в тестових перевірках.

Приклад інкапсуляції об’єктів сторінки

Розглянемо невеликий приклад об’єкта LoginPage, який ховає основи реалізації в приватних параметрах, а доступ до них дає через прості тестові маніпуляції, які визначені в публічних методах.

public class LoginPage

public class LoginPage

“Користувач” такого класу може оперувати елементами, визначеними в класі, виключно через загальнодоступний метод, не маючи прямого доступу до деталей реалізації сторінки - наприклад, структури HTML. Все це призводить до чистого API для класу об’єктів сторінки та ефективного розмежування інтересів.

0 коментарів

Опублікувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Вам також може сподобатися

Кипарис проти Драматурга у 2026 році: посібник зі стратегії, а не підручник

Кипарис проти Драматурга у 2026 році: посібник зі стратегії, а не підручник

Порівняння пліч-о-пліч, матриця варіантів використання та реальний вердикт TestMatick - адже вашій команді потрібна...

Що таке тестування API? Посібник для початківців з практичними прикладами

Що таке тестування API? Посібник для початківців з практичними прикладами

API - це сполучна тканина сучасного програмного забезпечення. Коли користувач входить в систему, робить замовлення або...

Ручне чи автоматизоване тестування: Як побудувати гібридну стратегію для зростання

Ручне чи автоматизоване тестування: Як побудувати гібридну стратегію для зростання

Багаторічні суперечки про те, який метод тестування є кращим, відволікають від того, що дійсно має значення: швидкості...