what is test harness
Я не великий шанувальник лейблів. Ось, що я маю на увазі під цим.
Якщо мені доведеться перевірити кілька аспектів, перш ніж визначити, чи можна розпочати перевірку якості, я просто складу список і виконаю дію. На мій погляд, не має значення, офіційно я називаю це операцією «Перевірка готовності» чи ні - поки я роблю те, що маю робити, я думаю, що немає необхідності називати це конкретним ім'ям або ярликом .
Але я стою виправлений. Нещодавно у своєму класі я викладав модель Agile-scrum для розробки програмного забезпечення. Це був питання як проводиться тестування за допомогою Agile методу? 'Я пояснював два методи - один, де ми намагаємося включити його до кожного спринту, а другий - найкраща практика, яку я навчився з перших рук, - це відставання спринту QA щодо розвитку.
Один зі студентів запитав мене, чи є ім’я для другого, а я ні, бо ніколи не робив акцент на самих іменах.
Але в той момент я відчув, як важливо було належним чином позначити процес, щоб переконатись, що у нас є термін, що позначає процес, про який ми говоримо.
Тому сьогодні ми будемо робити саме це: Вивчіть процес, що лежить в основі терміна «Тестовий джгут».
Як я вже згадував раніше в деяких своїх попередніх статтях: багато чого можна зрозуміти з буквального значення імені. Отже, перевірте свій словник щодо того, що означає “джгут”, і велике розкриття того, чи ні, це стосується, у цьому випадку - це те, що ми побачимо в кінці.
Існує два контексти використання тестового джгута:
- Тестування автоматизації
- Інтеграційне тестування
Почнемо з першого:
Що ви дізнаєтесь:
- Контекст №1: Тестовий джгут в автоматизації тестів
- Контекст №2: Тестовий джгут при інтеграційному тестуванні
- На закінчення:
- Рекомендована література
Контекст No1: Тестовий джгут в автоматизації випробувань
В тестування автоматизації світ, Тестовий джгут відноситься до основи та програмних систем, що містять тестові сценарії, параметри, необхідні (іншими словами, дані) для запуску цих сценаріїв, збору результатів тесту, порівняння їх (за необхідності) та моніторингу результатів.
Я спробую зробити це простіше на прикладі.
Приклад:
Якби я говорив про проект, який використовує HP Quick Test Professional (нині UFT) для функціонального тестування, HP ALM пов’язаний для організації та управління всіма сценаріями, запусками та результатами, а дані збираються з бази даних MS Access - наступним буде тестовий джгут для цього проекту:
Як передавати масив як параметр в Java
- Саме програмне забезпечення QTP (UFT)
- Сценарії та фізичне місце, де вони зберігаються
- Тестові набори
- База даних MS Access надає параметри, дані або різні умови, які мають бути надані тестовим сценаріям
- HP ALM
- Результати випробувань та порівняльні атрибути моніторингу
Як бачите, програмні системи (автоматизація, управління тестами тощо), дані, умови, результати - всі вони стають невід’ємною частиною тестового джгута - єдиним винятком є сам AUT.
Контекст No2: Тестовий джгут при інтеграційному тестуванні
Тепер настав час вивчити, що означає тестовий джгут у контексті “Інтеграційне тестування” .
Інтеграційне тестування полягає у складанні двох або модулів (або одиниць) коду, які взаємодіють між собою, і перевірки, чи є така комбінована поведінка відповідно до очікуваної чи ні.
В ідеалі, інтеграційне тестування двох модулів повинно і можливо було б проводити, коли обидва вони будуть на 100% готові, перевірені модулем і готові до роботи.
Однак ми живемо не в ідеальному світі - це означає, що один або кілька модулів / одиниць коду, які повинні бути складовими елементами тесту інтеграції, можуть бути недоступними. Для вирішення цієї ситуації у нас є заглушки та драйвери.
Stud - це, як правило, шматок коду, який обмежений у своїх функціях і замінить або проксі для фактичного модуля коду, який повинен зайняти його місце.
Приклад: Для подальшого пояснення цього дозвольте мені використати сценарій
Якщо є блок A та блок B, які слід інтегрувати. Крім того, що блок A надсилає дані в блок B або іншими словами, блок A викликає блок B.
Блок А, якщо 100% доступний, а блок Б - ні, тоді розробник може написати фрагмент коду, який обмежений у своїх можливостях (що це означає, Блок Б, якщо він має 10 функцій, лише 2 або 3, які важливі для інтеграції з А) буде розроблено і використовується для інтеграції. Це називається a STUB.
Зараз інтеграція буде такою: Одиниця A-> Заглушка (заміна B)
З іншого боку, якщо одиниця A доступна на 0%, а одиниця B - на 100%, симуляція або проксі-сервер має бути одиницею A тут. Тому, коли виклична функція замінюється допоміжним кодом, тоді вона називається ВОДІЙ .
В даному випадку інтеграція буде : ВОДІЙ (замінюючи A) -> Блок B
Вся структура: Процес планування, створення та використання заглушок та / або драйверів для проведення інтеграційного тестування називається Тестовий джгут.
Примітка : наведений приклад обмежений, і сценарій у реальному часі може бути не таким простим або таким простим, як цей. Додатки реального часу мають складні та складені точки інтеграції.
На закінчення:
Як завжди, STH вважає, що навіть найтехнічніші визначення можуть бути отримані з простого буквального значення терміна.
Словник на моєму смартфоні говорить мені, що “Harness” є (дивіться під контекстом дієслова):
“Привести в дію умови для ефективного використання; отримати контроль над певним кінцем; “
Слідом за цим і адаптуючи це до тестування:
«Тестовий джгут - це просто створити правильний каркас і використовувати його (та всі його складові елементи) для контролю всієї діяльності, щоб отримати максимальну віддачу від ситуації - будь то автоматизація чи інтеграція. “
Там ми відпочиваємо.
Ще кілька речей, перш ніж закінчити:
З: Які переваги тестового джгута?
А зараз, ви б запитали, яке значення дихання для людського життя - воно є внутрішнім, чи не так? Подібним чином, фреймворк для ефективного тестування схожий на заданий. Перевага, якщо нам доведеться писати це так багато слів - я б сказав, кожен процес тестування має тестовий джгут, незалежно від того, ми свідомо говоримо, що це „Тестовий джгут” чи ні. Це як подорож, знаючи маршрут, пункт призначення та всю іншу динаміку подорожі.
З: У чому різниця між тестовим джгутом та тестовим каркасом ?
Я особисто вважаю, що порівняння та протиставлення не часто є правильним підходом при розумінні суміжних понять, оскільки рядки часто розмиті. Як відповідь на це питання я б сказав, що тестовий джгут є специфічним, а тестовий каркас є загальним. Наприклад, тестовий джгут включатиме точну інформацію про інструмент управління тестом аж до ідентифікаторів входу, які будуть використовуватися. З іншого боку, тестова система просто скаже, що інструмент управління тестами буде виконувати відповідні дії.
Q. Чи є якісь інструменти для перевірки джгутів ?
Тестовий джгут включає такі інструменти, як програмне забезпечення для автоматизації, програмне забезпечення для управління тестами тощо. Однак немає спеціальних інструментів для впровадження тестового джгута. Усі або будь-які інструменти можуть бути частиною тестового джгута: QTP, JUnit, HP ALM - усі вони можуть бути складовими інструментами будь-якого тестового джгута.
Про автора: Ця стаття написана членом команди STH Свати С.
І, завжди з визначеннями, завжди існують розбіжності в думках. Ми вітаємо ваші думки та любимо чути, що ви думаєте. Будь ласка, залиште коментар, запитання чи пропозицію нижче.
Рекомендована література
- Тестування навантаження за допомогою підручників HP LoadRunner
- Поради щодо тестування програмного забезпечення для початківців тестувальників
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- Різниця між модульним тестуванням, інтеграційним тестуванням та функціональним тестуванням
- Чи втрачають тестери контроль над тестуванням через автоматизацію?
- Незабаром глобальний бізнес з тестування програмного забезпечення досягне 28,8 мільярда доларів
- Як зберегти мотивацію живою в тестерах програмного забезпечення?
- Завантажити тестувальник електронної книги