Переклад статті https://generativeai.pub/earlyai-by-early-aims-to-revolutionize-software-unit-testing-790682d7dc81
Два тижні тому Crowdstrike, постачальник безпекових рішень, відомий своєю платформою Falcon, спричинив одне з найбільших порушень в ІТ-історії. Цей інцидент вплинув на мільйони операційних систем Windows у всьому світі, що призвело до глобального збою, який, за оцінками страховиків, обійдеться компаніям зі списку Fortune 500 США приблизно в 5,4 мільярда доларів. Нещодавно генеральний директор компанії Delta повідомив, що збій CrowdStrike-Microsoft коштував авіакомпанії 500 мільйонів доларів.
Що ж пішло не так, і як цього можна уникнути в майбутньому?
Crowdstrike виявив, що проблемне оновлення конфігурації Rapid Response Content стало причиною масштабних системних збоїв. Незважаючи на проходження обширного процесу контролю якості, який включав автоматизоване тестування, ручне тестування, валідацію та етапи впровадження, Rapid Response Content пройшло за іншою процедурою.
Цей інцидент підкреслює важливість ретельного та ефективного тестування при розробці програмного забезпечення та його розгортання.
Протягом багатьох років проведення автоматизованих тестів перед випуском продуктів для клієнтів було найкращою практикою. Однак ці тести іноді не виявляють усі потенційні помилки.
З розвитком штучного інтелекту з’явилися інструменти, які більш ефективно автоматизують процес юніт-тестування. Одним із таких інструментів на базі штучного інтелекту є EarlyAI від Early.
Що таке EarlyAI?
EarlyAI - це інструмент на базі штучного інтелекту, який генерує автоматизовані, всеосяжні та економічно ефективні робочі юніт-тести для проєктів на TypeScript, JavaScript які використовують Jest або Mocha.
EarlyAI може генерувати значну кількість якісних робочих зелених юніт-тестів за лічені хвилини, щоб ви могли зосередитися на тому, що ви вмієте найкраще: кодити та запускати продукти.
У цій статті я покажу вам покроковий процес встановлення EarlyAI і як генерувати юніт-тести.
Початок роботи з EarlyAI.
Передумови
Перед початком переконайтеся, що ваше середовище готове. Встановіть на свій комп’ютер:
VS Code (переконайтеся, що у вас встановлена версія LTS)
Node.js
Як встановити EarlyAI
Відкрийте VS Code і на вкладці розширень знайдіть "EarlyAI".
Натисніть кнопку «Install», і після завершення встановлення ви побачите розширення EarlyAI на лівій вкладці. Якщо розширення продовжує завантажуватися, не хвилюйтеся, вам потрібно відкрити проєкт, щоб воно запрацювало.
Як налаштувати EarlyAI
Щоб продемонструвати, як працює EarlyAI, візьмемо todo-app. Клонувати репозиторій GitHub на ваш локальний комп’ютер, і ви побачите наступні файли:
Далі відкрийте проєкт у VS Code і в терміналі виконайте цю команду:
npm install
Ця команда інсталює всі залежності необхідні для запуску проєкту.
Наступний крок – відкрити розширення EarlyAI і увійти за допомогою вашої електронної адреси для перевірки.
Посилання для входу буде надіслано на вашу електронну пошту, яке активує розширення, і ви побачите наступний інтерфейс у VS Code.
Автоматично буде згенеровано покриття тестів. Ви також можете натиснути на маленьку іконку оновлення, щоб оновити значення покриття тестів.
Зверніть увагу, що EarlyAI пропонує встановити jest, ts-jest і ts-node, виконавши наступну команду:
npm install jest \
ts-jest \
ts-node \
@types/jest --save-dev
Також рекомендовано встановити розширення Jest, яке підтримує всі функції Jest у середовищі VS Code, щоб зробити тестування більш інтуїтивно зрозумілим.
Просто перейдіть на вкладку розширень і знайдіть Jest. Натисніть кнопку встановлення та переконайтеся, що в вікні виводу не відображаються помилки.
Після завершення процесу інсталяції EarlyAI, ми готові генерувати юніт-тести.
Усунення неполадок
Якщо у вас виникли проблеми з розширенням EarlyAI, спробуйте ці кроки:
Перезавантажте вікно, якщо дерево файлів не заповнене.
Переконайтеся, що ваша конфігурація Jest відповідає налаштуванням вашого проєкту, з collectCoverage, встановленим на true.
Перевірте, чи встановлені та оновлені всі залежності, такі як Jest і @types/jest.
Слідкуйте за вікном виводу логів “EarlyAI” у VS Code на наявність повідомлень про помилки та діагностики.
Підтримка для моно-репозиторію в розробці, і навіть якщо Jest не встановлено або EarlyAI не може запустити його з кореневого каталогу, ви все одно можете створювати тести з Jest, але покриття не відображатиметься в інтерфейсі.
Якщо проблеми зберігаються, повідомте про проблему в репозиторії GitHub.
Генерація юніт-тестів
У файловому провіднику коду оберіть необхідні папки, щоб показати імена методів і функцій. Ви помітите праворуч кнопку запуску.
Натисніть на неї, і генерація тесту одразу розпочнеться. Генерація тесту може зайняти від 15 до 45 секунд, а іноді й довше, залежно від складності коду та часу відгуку API. Ви побачите сповіщення в нижньому правому куті після завершення тесту.
Інший спосіб згенерувати тест – відкрити файл для тестування, клацнути правою кнопкою миші та вибрати "Early AI Generate Tests".
Примітка: Покриття оновлюється автоматично після генерації тестів.
Щоб переглянути тест, натисніть на іконку тестового файлу поруч з іменем функції. EarlyAI створює комплексні тести, які охоплюють моки, логіку, happy paths та edge cases. Вона генерує два типи юніт-тестів:
Зелені тести: Це успішні тести, що пройшли.
Червоні тести: Ці тести або виявляють помилку, або містять помилки.
На зображенні нижче ви побачите приклад зеленого тесту.
Нижче приклад червоного тесту. Зверніть увагу, що ви можете натиснути на маленьку червону іконку «x», щоб повторно запустити тест.
Якщо клацнути правою кнопкою миші на будь-якому з червоних або зелених тестів ви побачите більше опцій для подальшої налагодження.
Вітаємо! Ви щойно створили та запустили автоматизований тест у вашому додатку.
Чому EarlyAI важливий?
Традиційно забезпечення якості (QA) значною мірою спиралося на ручне тестування, яке було трудомістким, витратним за часом та схильним до людських помилок. Однак з появою штучного інтелекту методології забезпечення якості були революціонізовані, забезпечуючи автоматизацію, точність та безпрецедентну масштабованість.
Інструменти на базі ШІ можуть автоматизувати повторювані завдання тестування, включаючи генерацію та виконання тестових випадків. EarlyAI є лише початком; у найближчі місяці та роки з’являться тисячі інших подібних інструментів.
Покращення також будуть швидкими. Крім здатності надавати глибокий аналіз результатів, ці інструменти забезпечення якості також будуть досить розумними, щоб виправити проблеми самостійно. Алгоритми машинного навчання можуть також вчитися на минулому досвіді тестування для покращення покриття тестів та виявлення потенційних ризикових зон, значно зменшуючи необхідність ручного тестування.
Висновки
ШІ змінює правила гри в забезпеченні якості програмного забезпечення, роблячи тестування швидшим, точнішим і набагато менш трудомістким. Інструменти, як EarlyAI, демонструють, наскільки потужним може бути ШІ для розробників. Він допомагає автоматизувати створення юніт-тестів, економлячи час і зусилля, виявляючи більше проблем.
Однак, як розробник, я не пропагую делегування всієї роботи інструменту ШІ. Важливо зберігати збалансований погляд на можливості ШІ та визнавати як його потенційні переваги, так і обмеження. ШІ в тестуванні програмного забезпечення є практичним інструментом, що розвивається, коли використовується належним чином, може значно підвищити ефективність та результативність зусиль забезпечення якості.
Я з нетерпінням чекаю на інтеграцію цього розширення VS Code у свій щоденний робочий процес програмування та подивлюся, наскільки добре воно покращує мою продуктивність та якість коду. Спробуйте EarlyAI зараз і дайте знати, що ви думаєте в коментарях.
Підтримати автора можна зареєструвавшись на сайті Whitebit за реферальним посиланням https://whitebit.com/referral/6f7c7706-ec7d-4a60-8021-adf88b3a9559