7 factors affecting test estimation selenium automation project selenium tutorial 32
В останніх кількох уроках селену ми дізнались про це автоматизація тестування за допомогою інструменту огірок та селен . Ми також обговорювали про інтеграція Selenium WebDriver з огірком .
У цьому уроці ми обговоримо різні фактори, що впливають на оцінку зусиль автоматизації селену .
Планування та оцінка - два найважливіші аспекти життєвого циклу розробки програмного забезпечення.
Я особисто вважаю, що в індустрії програмного забезпечення такі є відсутність куленепробивних методів робити що-небудь. Оскільки кожен проект є ексклюзивним і має різні набори складності та фактори навколишнього середовища, реалізація стратегії оцінки та планування має бути спільним зусиллям окремих команд з належним втручанням літніх людей та підтримкою керівництва.
Перш ніж почати оцінювати будь-який проект, важливо зрозуміти кожну фазу, яку пройде ваш проект, щоб ви могли дати правильну та обґрунтовану оцінку.
Оцінка може бути зроблена не тільки для процесу ручного тестування, але в цю епоху автоматизації методи оцінки застосовуються і до автоматизації тестування. Зараз Селен набирає обертів і популярності на ринку, я намагаюся написати про деякі фактори, які слід враховувати при оцінці проекту Селену.
Давайте розпочнемо!!
Я припускаю, що ми починаємо ініціативу з автоматизації з нуля і що у нас немає готової основи.
Що ви дізнаєтесь:
- Фактори, що впливають на оцінку автоматизації селену
- №1 Сфера проекту
- №2 Складність програми
- # 3 Використання допоміжних інструментів / технологій
- # 4 Впровадження основи
- # 5 Навчання та навчання
- # 6 Налаштування середовища
- # 7 Кодування / сценарії та огляд
- Висновок:
- Рекомендована література
Фактори, що впливають на оцінку автоматизації селену
Різні фактори, які впливають і які слід врахувати для оцінки конкретного проекту “Селен”, пояснюються нижче:
№1 Сфера проекту
Обсяг, як правило, означає виявлення правильних тестів для автоматизації. Застосуйте стратегію “Діли і владарюй” для її досягнення. Розбийте свою програму на невеликі фрагменти або модулі та проаналізуйте кожен із них, щоб придумати відповідні тестові приклади для автоматизації.
Задіяні кроки:
- Визначте різні фактори, які ляжуть в основу визначення кандидатських тестових випадків.
- Розбийте програму на менші модулі
- Проаналізуйте кожен модуль, щоб визначити кандидатські тестові кейси
- Розрахувати рентабельність інвестицій
Детальніше про те, як визначити правильний тест, див. У моїй попередній роботі: Вибір правильних тестів для автоматизації
№2 Складність програми
Тут задіяні кроки:
- Визначте розмір програми на основі кількості тестових випадків, які потрібно автоматизувати.
- Складність розміру завдяки серії Фібоначчі.
- Визначте пункт перевірки та контрольний пункт кожного тесту
Тут ми повинні встановити визначення великого / середнього та малого застосування. Це визначення відрізняється від індивідуального / групового погляду. Як ви класифікуєте свою заявку, також може залежати від кількості тестових випадків.
Наприклад:
Якщо у вашій програмі є 300–500 тестових кейсів для автоматизації, ви можете розглядати її як невелику програму. Якщо тестових випадків більше 1500, це можна віднести до складних. Цей фактор може бути різним для різних видів застосування. Для деяких 1500 тестових випадків для автоматизації можна розглядати як малі / середні. Отже, як тільки ви визначили точну кількість тестових випадків, масштабуйте її до малого / середнього або великого. Ваша стратегія оцінки зусиль буде сильно залежати від цих критеріїв.
Ви також повинні врахувати різні контрольно-пропускні пункти та пункти перевірки для свого тесту. Тестовий випадок може мати більше 1 контрольної точки
але матиме лише 1 пункт перевірки. Якщо у вас є більше 1 пункту перевірки, рекомендується розділити їх на окремі тестові кейси. Це також полегшить ваше обслуговування та вдосконалення набору тестів.
# 3 Використання допоміжних інструментів / технологій
Тут задіяні кроки:
- Визначте основи та потреби в автоматизації
- Виходячи з потреб, проаналізуйте та визначте інструменти, які слід використовувати.
- Визначте залежності / наслідки використання інструменту.
Одного лише селену недостатньо для побудови каркаса або завершення автоматизації. Селен (веб-драйвер) буде лише сценарієм тестового сценарію, але є й інші завдання, такі як звітування про результат, відстеження журналів, створення знімків екрану тощо.
Для їх досягнення потрібні окремі інструменти, які будуть інтегровані з вашим фреймворком. Тож тут важливо визначити ці допоміжні організації, які найкраще відповідатимуть вашим вимогам та допоможуть отримати позитивну рентабельність інвестицій
# 4 Впровадження основи
Ось хитра частина J, за якими кроки !!
- Визначте вхідні дані (шаблон, за яким дані подаються у сценарій) та вихідні дані (звіти / результати тестування) вашого набору автоматизації.
- Створіть свої вхідні файли. Це може варіюватися від простого текстового файлу до складного файлу Excel. В основному це файл, який буде містити ваші дані тесту.
- Спроектуйте структуру папок на основі вхідних параметрів та
- Впровадити функцію звітування (або у якомусь файлі Excel, або за допомогою будь-якого інструменту, такого як ReportNG)
- Визначте / застосуйте реєстратор у вашому фреймворку
- Впроваджуйте інструмент побудови у свою структуру
- Впровадити фреймворк модульного тестування (Junit або TestNG)
Існує багато інших вимог, крім простого сценарію в автоматизації тестів із Selenium, наприклад, читання даних із файлу, звітування / відстеження результатів тесту, відстеження журналів, активація сценаріїв на основі умов введення та середовища тощо. Тому нам потрібна структура що подбає про всі ці сценарії. Ця структура є нічим іншим, як вашим фреймворком.
Веб-програми за своєю суттю є складними, оскільки вони передбачають безліч допоміжних інструментів та технологій для впровадження. Подібним чином реалізація фреймворку в Selenium також є складною (я не скажу складною), оскільки вона включає інші інструменти для інтеграції. Оскільки ми знаємо, що Selenium - це НЕ інструмент, а насправді колекція / група jar-файлів, він налаштований, а не “Встановлений”, сам Selenium недостатньо сильний, щоб створити складний фреймворк. Він вимагає переліку сторонніх інструментів для побудови фреймворку.
Тут ми повинні пам’ятати, що в «Селені» немає нічого «готового». Для всього ми маємо кодувати, тому в оцінці повинні бути передбачені умови для пошуку в Google помилок та усунення несправностей.
Тут ми повинні розуміти, що побудова фреймворку є найважливішим аспектом ваших зусиль з автоматизації. Якщо ваш фреймворк міцний, обслуговування та вдосконалення стають простішими, особливо в еру Agile, якщо ваш фреймворк хороший, ви можете легко інтегрувати свої тести у всі спринти.
Я не помилюсь, якщо скажу, що саме цей фактор проектування Рамкової програми повинен бути найважливішим аспектом оцінки. За потреби (як у складному застосуванні) цей коефіцієнт слід знову розбити на окрему WBS і зробити оцінку.
# 5 Навчання та навчання
Вивчення селену дещо відрізняється від вивчення будь-якого іншого інструменту автоматизації. В основному це передбачає вивчення мови програмування, аніж просто мови сценаріїв (хоча мова сценаріїв допомагає під час побудови такого фреймворку, як ви хочете написати сценарій, який би викликав ваші автоматизовані сценарії після зміни налаштувань середовища).
У випадку, якщо ми поєднуємо WebDriver з java, я б сказав, що якщо хтось добре розбирається в ядрі Java, він у дуже хорошій формі, щоб почати з автоматизації Selenium.
Поряд із вивченням Java, повинні бути передбачені умови для вивчення інших технологій, таких як ANT / Maven (для побудови), TestNG / jUnit (модульний модуль тестування), Log4J (для реєстрації), звітування (для звітності) тощо. Цей список може зростати на основі рівень фреймворку. Чим більше цей список зростатиме, тим більше часу знадобиться.
Якщо керівництво вирішило піти на селен, ці навчальні заходи можуть виконуватися паралельно із плануванням. Оскільки вивченню цих технологій немає обмежень, пропонується мати певний план (навчальний план), готовий для команди, щоб вони могли розпочати свій навчальний процес у певному напрямку, і всі були на одній сторінці.
Практично кажучи, ми, тестувальники, не дуже прагнемо вивчити повноцінну мову програмування, і ми вважаємо, що це шматок розробників. Але зараз ми повинні змінити цей менталітет, і вивчення мови програмування слід розглядати настільки ж важливим, як вивчення нового процесу тестування. Це не тільки збільшить знання тестувальника про мову та автоматизацію, але також дасть можливість зрозуміти, як додаток працює внутрішньо, що може збільшити їх сферу пошуку нових помилок.
# 6 Налаштування середовища
Навколишнє середовище встановлює угоди (не обмежуючись): -
- Налаштування коду в тестовому середовищі
- Налаштування коду у виробничому середовищі
- Написання сценаріїв для запуску автоматизованих тестів.
- Розробка логіки складання звітності
- Встановлення частоти запуску сценаріїв та розробка логіки для його реалізації
- Створення текстових / Excel файлів для введення тестових даних та тестових кейсів
- Створення файлів властивостей для відстеження середовищ та облікових даних
# 7 Кодування / сценарії та огляд
Перш ніж почати писати свої тести, є 2 передумови:
- Тестові справи кандидатів повинні бути зручними
- Рамка готова
Визначте різні дії, які робить ваш веб-додаток. Це можуть бути прості дії, такі як навігація, клацання, введення тексту; або складна дія, як підключення до бази даних, обробка флеш-пам'яті або Ajax. Візьміть по одному тестовому випадку заздалегідь і визначте, які дії виконує той конкретний тестовий випадок, і оцініть години відповідно для кожного тестового випадку. Сума всіх годин для всього набору тестів дасть вам точну кількість.
Надання повинно бути там і для перегляду. Огляди - це просто огляд коду, який може зробити або колега, або розробник. Програмування пар - найкращий варіант, який є швидким, але якщо це неможливо, виходячи з наявних ресурсів або стратегії перегляду організацій, на це слід виділити години.
Детальніше про кожен фактор, що впливає на оцінку:
Фактор №1: Сфера застосування
Значення : Визначення кандидатів на тести для автоматизації через рентабельність інвестицій
Задіяні кроки:
- Визначте різні фактори, які ляжуть в основу визначення кандидатських тестових випадків.
- Розбийте програму на менші модулі
- Проаналізуйте кожен модуль, щоб визначити кандидатські тестові кейси
- Обчисліть рентабельність інвестицій
Результат: Список тестових випадків, які потрібно автоматизувати.
Примітки: Важливо заморозити обсяг, як тільки ви продовжите інші кроки оцінки.
Фактор №2: Складність
Значення: Сформулюйте визначення простого та малого розміру програми.
Задіяні кроки:
- Розмір програми на основі кількості тестових випадків, які потрібно автоматизувати.
- Складність розміру завдяки серії Фібоначчі.
- Визначте пункт перевірки та контрольний пункт кожного тесту.
Результат: Розмір програми - малий, середній або великий.
Ряд тестових кейсів та відповідні їм контрольно-пропускний пункт.
Зауваження : Рекомендується - Тестовий випадок може мати кілька контрольних пунктів, але лише 1 контрольний пункт. Якщо тест має більше 1 точки перевірки, його слід розділити на окремий тест.
Фактор №3: Допоміжні засоби
Значення: Сам селен недостатньо сильний, щоб побудувати складний каркас. Він вимагає переліку фреймворкових інструментів для побудови фреймворку.
Задіяні кроки:
- Доопрацьована IDE
- Завершений інструмент модульного тестування
- Завершений реєстратор
- Завершений інструмент звітування
- Завершений інструмент побудови
Результат: Список інструментів, необхідних для створення фреймворку.
Примітки:
Приклади:
- Eclipse / RAD - як IDE
- Ant / Maven - як інструмент побудови
- jUnit / TestNG - як модульний модуль тестування
- Log4j - як реєстратор
- ReportiNG - як інструмент звітування
- Текстові файли - для відстеження середовищ / облікових даних
- Файли Excel - для відстеження даних тесту
- Perl / Python - для налаштування середовища та запуску тестових скриптів.
Фактор №4: Впровадження основи
Значення: Створення структури
Задіяні кроки:
- Створіть свої вхідні файли.
- Спроектуйте структуру папок
- Визначте / застосуйте реєстратор у вашій роботі
- Впроваджуйте інструмент побудови у свою структуру
- Впровадити структуру модульного тестування
Результат:
- Структура та структура папок, створені в IDE.
- Аркуші Excel, що містять ваші вхідні дані
- Файли властивостей, що містять дані та облікові дані, пов’язані з навколишнім середовищем.
Примітки: Це найважливіший крок. Доцільно включати деякий час буфера під час оцінки, оскільки деякий час усунення несправностей займає більше часу, ніж очікувалося.
Фактор №5: Налаштоване середовище
Значення: Угоди з налаштуванням коду та завантаженням / підготовкою до розгортання коду
Задіяні кроки:
- Підготуйте вхідний файл та звіт
- Створіть сценарій запуску
Результат: Середовище готове
Примітки: Ми повинні спробувати побудувати наш фреймворк таким чином, щоб з найменшими клопотами наш код був розгорнутий у зазначеному середовищі / вікні.
Я не повинен помилятися, якщо кажу, що з мінімальними записами в наші текстові файли (які містять URL-адресу та облікові дані), наш код повинен бути готовим до запуску та РОКУ!
Фактор №6: Навчання та навчання
Значення: Вивчення мови програмування та інших допоміжних технологій
Задіяні кроки: Підготуйте план відповідно до ваших потреб автоматизації та поділіться ним із командою та заохочуйте їх вчитися та діяти відповідно до навчальної програми.
Результат: План тренувань та його трекер, який буде відстежувати прогрес команди.
Примітки: Акцент слід робити на побудові логіки, а не на синтаксисі навчання.
Фактор №7: Кодування / сценарії та огляд
Значення: Написання власне тестових сценаріїв та їх перегляд
як оголосити список в Java - -
Задіяні кроки:
- Тестові кейси та фреймворк готові.
- Візьміть / розділіть тестові кейси, перетворіть їх на автоматизовані сценарії та відстежуйте свій прогрес
Результат: Автоматизовані тестові сценарії
Примітки: Вся команда повинна брати участь у написанні тестових сценаріїв, використовуючи реалізований фреймворк. Отже, під час оцінки слід враховувати зусилля всієї команди.
Висновок :
Сказавши про всі ці моменти, не забудьте включити накладні витрати на управління та деякий час буфера в остаточну оцінку автоматизації селену. Найкращим і перевіреним способом будь-якої оцінки є дотримання механізму WBS (Work Breakdown Structure). Це прямо вперед і служить для реалізації потреб оцінки автоматизації.
Вищезазначені фактори ґрунтуються на моєму досвіді, але можуть бути й інші організації, які можуть вплинути на стратегію.
Тут є правило великого пальця “Визначте певні критерії, розділіть свої модулі чи тестовий кейс за цими критеріями; та масштабуйте його ”. Виходячи з вашої масштабованої цифри - ви можете прийти до точної оцінки.
Наступний підручник No33 : Ми закінчимо свою найповніша серія безкоштовних навчальних серій для селену з останнім підручником, тобто ' Запитання для співбесіди з тестуванням на селен із відповідями '.
Повідомте нас, якщо у вас є інші поради щодо оцінки зусиль проектів Selenium.
Рекомендована література
- Вступ до Selenium WebDriver - Підручник з селену №8
- Ефективні сценарії сценаріїв та усунення несправностей селену - Підручник селену No27
- Налагодження сценаріїв селену за допомогою журналів (Підручник Log4j) - Підручник селену No26
- 30+ найкращих підручників із селену: вивчіть селен на реальних прикладах
- Підручник з огірка селену: інтеграція огірка Java Selenium WebDriver
- Як знайти елементи в браузерах Chrome та IE для побудови сценаріїв селену - Підручник з селену No7
- Найпопулярніші рамки автоматизації тестів із плюсами та мінусами кожного - Підручник з селену №20
- Впровадження нашого першого сценарію WebDriver - Підручник № 10 для Selenium WebDriver