Впровадження агентського штучного інтелекту в детерміновану автоматизацію тестування за допомогою LangChain і DSPy | B4N1

Впровадження агентського штучного інтелекту в детерміновану автоматизацію тестування за допомогою LangChain і DSPy

3 months ago · b4n1 Read time: 3 min

Впровадження Agentic AI в детерміновану автоматизацію тестування за допомогою LangChain і DSPy

Вступ

Зростаюча складність програмних систем зробила автоматизацію тестування ключовим аспектом розробки програмного забезпечення. Традиційні інфраструктури автоматизації тестування покладаються на сценарні підходи, які можуть бути крихкими та складними в обслуговуванні. В останні роки поява Agentic AI та інструментів оркестровки відкрила нові можливості для автоматизації складних сценаріїв тестування. У цій статті ми дослідимо взаємодію Agentic AI, інструментів оркестровки та розробки програмного забезпечення для автоматизації складних сценаріїв тестування за допомогою LangChain і DSPy.

Що таке Agentic AI?

Agentic AI відноситься до типу штучного інтелекту, який призначений для виконання дій від імені користувача або системи. Системи агентного штучного інтелекту здатні приймати рішення, вчитися на досвіді та адаптуватися до нових ситуацій. У контексті автоматизації тестування Agentic AI можна використовувати для автоматизації складних сценаріїв тестування шляхом імітації взаємодії користувачів, прийняття рішень на основі даних тестування та адаптації до мінливих умов тестування.

Що таке LangChain?

LangChain — це інструмент оркестровки з відкритим вихідним кодом, який дозволяє розробникам створювати складні системи штучного інтелекту за допомогою різних мов програмування, включаючи Python, Rust і Go. LangChain забезпечує гнучку модульну архітектуру, яка дозволяє розробникам інтегрувати різні компоненти ШІ, такі як обробка природної мови (NLP) і комп’ютерне бачення, для створення складних систем ШІ.

Що таке DSPy?

DSPy — це бібліотека Python, яка надає набір інструментів для створення та розгортання систем ШІ. DSPy розроблений для бездоганної роботи з LangChain і надає ряд функцій, включаючи обробку даних, машинне навчання та глибоке навчання.

Реалізація Agentic AI в детермінованій автоматизації тестування

Щоб реалізувати Agentic AI в детермінованій автоматизації тестування, ми можемо використовувати LangChain і DSPy для створення інфраструктури автоматизації тестування, яка моделює взаємодію користувачів, приймає рішення на основі тестових даних і адаптується до мінливих умов тестування.

Ось простий приклад того, як ми можемо використовувати LangChain і DSPy для автоматизації тестового сценарію:

імпорт Langchain
з langchain.chains імпортувати LLMChain
з langchain.llms імпорт DSPyLLM


тестовий_сценарій = {
    "user_input": "вхід",
    "expected_output": "вхід успішний"
}

# Визначте агента Agentic AI
агент = LLMChain(
    llm=DSPyLLM(),
    input_type="текст",
    output_type="текст"
)

# Визначте функцію автоматизації тестування
def test_automation(test_scenario):
    # Імітація взаємодії користувача
    user_input = test_scenario["user_input"]
    # Приймайте рішення на основі даних тестування
    рішення = agent.run(user_input)
    # Адаптація до мінливих умов тестування
    якщо рішення == "вхід успішний":
        print("Тест пройдено")
    ще:
        print("Тест не вдалося")

# Запустіть функцію автоматизації тестування
test_automation(test_scenario)

У цьому прикладі ми визначаємо сценарій тестування, який передбачає імітацію взаємодії користувача, прийняття рішення на основі даних тестування та адаптацію до змін умов тестування. Потім ми визначаємо агента Agentic AI за допомогою LangChain і DSPy і використовуємо його для автоматизації тестового сценарію.

5-10 найбільш часто використовуваних команд/фрагментів

Ось 5-10 найбільш використовуваних команд/фрагментів для LangChain і DSPy:

  1. langchain.LLMChain(llm=DSPyLLM()): створює агента Agentic AI за допомогою LangChain і DSPy.
  2. DSPyLLM(): ініціалізує примірник DSPy LLM (модель великої мови).
  3. LLMChain(input_type="text", output_type="text"): створює агента Agentic AI з типами введення та виведення тексту.
  4. agent.run(user_input): запускає агент Agentic AI за введенням даних користувача.
  5. test_scenario = {"user_input": "login", "expected_output": "login successful"}: визначає тестовий сценарій із введенням користувача та очікуваним результатом.
  6. langchain.chains.LLMChain(llm=DSPyLLM()): створює агента AI Agentic за допомогою LangChain і DSPy.
  7. DSPyLLM().predict(user_input): прогнозує вихід DSPy LLM з введенням користувача.
  8. LLMChain(input_type="text", output_type="text").run(user_input): запускає агент Agentic AI із типами введення та виведення тексту.
  9. test_automation(test_scenario): запускає функцію автоматизації тестування з тестовим сценарієм.
  10. langchain.chains.LLMChain(llm=DSPyLLM()).run(user_input): запускає агент Agentic AI за введенням даних користувача.

Візуалізація

Ось візуалізація агента Agentic AI за допомогою Chart.js:

{
  "type": "бар",
  "дані": {
    "labels": ["Введення користувача", "Рішення", "Адаптація"],
    "набори даних": [
      {
        "label": "Агент AI Agentic",
        "дані": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0,2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "параметри": {
    "назва": {
      "display": правда,
      "text": "Агент зі штучним інтелектом"
    },
    "ваги": {
      "yAxes": [
        {
          "галочки": {
            "beginAtZero": правда
          }
        }
      ]
    }
  }
}

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

Висновок

У цій статті ми дослідили взаємодію Agentic AI, інструментів оркестровки та розробки програмного забезпечення для автоматизації складних сценаріїв тестування за допомогою LangChain і DSPy. Ми реалізували простий приклад штучного інтелекту Agentic в автоматизації детермінованих тестів і надали низку команд/фрагментів для LangChain і DSPy. Ми також візуалізували продуктивність агента Agentic AI за допомогою Chart.js. Використовуючи Agentic AI та інструменти Orchestration, розробники можуть створювати складні інфраструктури автоматизації тестування, які імітують взаємодію користувачів, приймають рішення на основі тестових даних і адаптуються до мінливих умов тестування.


Have Questions?

Let's Talk

Contact me on LinkedIn