Внедряване на Agentic AI в детерминистична автоматизация на тестове с LangChain и DSPy | B4N1

Внедряване на Agentic AI в детерминистична автоматизация на тестове с LangChain и DSPy

6 months ago · b4n1 Read time: 4 min

Внедряване на Agentic AI в детерминирана автоматизация на тестове с LangChain и DSPy

Въведение

Нарастващата сложност на софтуерните системи превърна автоматизацията на тестовете в решаващ аспект от разработката на софтуер. Традиционните рамки за автоматизация на тестове разчитат на скриптови подходи, които могат да бъдат крехки и трудни за поддръжка. През последните години появата на Agentic AI и инструменти за оркестрация отвори нови възможности за автоматизиране на сложни тестови сценарии. В тази статия ще изследваме пресечната точка на Agentic AI, инструменти за оркестрация и софтуерно инженерство за автоматизиране на сложни тестови сценарии с помощта на LangChain и DSPy.

Какво е Agentic AI?

Agentic AI се отнася до вид изкуствен интелект, който е проектиран да предприема действия от името на потребител или система. Agentic AI системите са способни да вземат решения, да се учат от опита и да се адаптират към нови ситуации. В контекста на автоматизацията на тестовете, Agentic AI може да се използва за автоматизиране на сложни тестови сценарии чрез симулиране на потребителски взаимодействия, вземане на решения въз основа на тестови данни и адаптиране към променящите се условия на тестване.

Какво е LangChain?

LangChain е инструмент за оркестриране с отворен код, който позволява на разработчиците да изграждат сложни AI системи, използвайки различни езици за програмиране, включително Python, Rust и Go. LangChain предоставя гъвкава и модулна архитектура, която позволява на разработчиците да интегрират различни AI компоненти, като обработка на естествен език (NLP) и компютърно зрение, за изграждане на сложни AI системи.

Какво е DSPy?

DSPy е библиотека на Python, която предоставя набор от инструменти за изграждане и внедряване на AI системи. 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 = тестов_сценарий["user_input"]
    # Вземете решение въз основа на данни от тестове
    решение = agent.run(user_input)
    # Адаптиране към променящите се условия на изпитване
    ако решение == "влизане успешно":
        print("Тестът премина")
    иначе:
        print("Тестът е неуспешен")

# Стартирайте функцията за автоматизация на теста
тест_автоматизация(тест_сценарий)

В този пример ние дефинираме тестов сценарий, който включва симулиране на потребителско взаимодействие, вземане на решение въз основа на тестови данни и адаптиране към променящите се условия на тестване. След това дефинираме агент на 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()): Създава Agentic AI агент, използвайки 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:

{
  "тип": "лента",
  "данни": {
    "етикети": ["Въведени от потребителя", "Решение", "Адаптиране"],
    "набори от данни": [
      {
        "label": "Agentic AI Agent",
        "данни": [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "опции": {
    "заглавие": {
      "дисплей": вярно,
      "text": "Agentic AI Agent"
    },
    "везни": {
      "yAxes": [
        {
          "кърлежи": {
            "beginAtZero": вярно
          }
        }
      ]
    }
  }
}

Тази визуализация показва ефективността на агента на Agentic AI при симулиране на потребителски взаимодействия, вземане на решения въз основа на тестови данни и адаптиране към променящите се условия на тестване.

Заключение

В тази статия проучихме пресечната точка на Agentic AI, инструменти за оркестрация и софтуерно инженерство за автоматизиране на сложни тестови сценарии с помощта на LangChain и DSPy. Ние внедрихме прост пример за Agentic AI в детерминирана тестова автоматизация и предоставихме набор от команди/фрагменти за LangChain и DSPy. Също така визуализирахме ефективността на агента на Agentic AI с помощта на Chart.js. Чрез използване на Agentic AI и инструменти за оркестрация, разработчиците могат да изградят усъвършенствани рамки за автоматизация на тестове, които симулират потребителски взаимодействия, вземат решения въз основа на тестови данни и се адаптират към променящите се условия на тестване.


Have Questions?

Let's Talk

Contact me on LinkedIn