Build Agentic AI & Multi-Agent System for Software Testing (Crew AI, LangChain)

Build autonomous testing agents and multi-agent systems with CrewAI and LangChain.
9
hands-on projects you build
2
frameworks: CrewAI and LangChain
4
source chapters of real code
3
production agents plus a copilot
0
prior AI experience needed
Live class recordingsTwo full written chaptersCopy ready code throughoutJira, Jenkins, GitHub and MCP toolsLocal RAG with Chroma and OllamaDeploy behind a real URL

Course Summary

Design and build agentic AI for software testing: autonomous test-generation, execution, and triage agents orchestrated as multi-agent crews with CrewAI and LangChain. Learn tools, memory, planning, and human-in-the-loop patterns applied to real QA workflows. For SDETs and automation engineers ready to move from scripts to self-driving test systems.

WHY THIS COURSE EXISTS

Most QA teams are stuck between two bad options

Either you keep doing triage and first draft test cases by hand, or you paste tickets into a chat window and hope. Neither scales. This course teaches the third option: agents you build, test and control yourself.

The task you do every weekWhat it costs you nowWhat you will have after this course
Reading a ticket and deciding P0 to P4Ten to twenty minutes per bug, and three engineers grade it three different waysA triage agent that encodes your own severity policy and returns a typed verdict with a justification and a duplicate flag
Working out why a test suddenly failedHalf an hour hopping between Jenkins, GitHub and the appAn RCA agent that reads the console log, lists recent commits, pings the app, then names one root cause with the evidence
Turning a story into a test planMost of a day filling in a templateA four agent pipeline that produces a complete 12 section plan from a Jira ticket id
Writing the first fifteen test casesTwo to three hours, and the edge cases get skippedTwelve to fifteen cases covering positive, negative, edge, UI, API and performance, exported as Jira importable CSV
Scaffolding the Playwright specAn hour of copy paste from an older specAn SDET agent that writes real TypeScript files into your layered framework, in the right folders
Answering "has anyone seen this before"Nobody remembers, so the bug is re-triaged from zeroA local knowledge base over your past tickets, test cases and bug reports that supplies precedent before the agent decides
WHAT YOU WALK AWAY WITH

Nine projects, not nine demos

Every one of them runs on your machine, against your Jira, with your credentials. The code is real and you keep it.

A single agent that writes test cases
Role, goal and backstory in, P0 test cases for your own screen out. The smallest complete program, so you understand every line.
A two agent sequential crew
A researcher ranks the most common bug categories, a writer turns that into a pull request checklist your developers will actually use.
A three agent bug triage crew
Triage, then root cause, then test recommendations, each agent reading the ones before it through explicit context wiring.
A Jira to Playwright pipeline
Four agents reaching Jira through an MCP server. One command, one ticket id, and out comes a plan, cases and runnable code.
A production pipeline with a UI
Editable templates, Jira importable CSV, and agent output split into a real layered Playwright framework on disk. Plus a web page that accepts a list of tickets.
A typed triage agent
A Pydantic model bound to the LLM, so severity, priority, component, owning team and a real boolean duplicate flag come back as an object you can store.
An RCA agent with three real tools
Jenkins console log, GitHub commits and a live health ping, each one degrading gracefully so the agent always answers something honest.
A local RAG knowledge base
Your test cases, past bug reports, PDFs and live Jira tickets embedded into Chroma with local Ollama embeddings. Free to run, and it makes every agent smarter.
A QA Copilot behind one URL
A router that reads intent and dispatches to triage, RCA or design, exposed as a UI and as an HTTP API, deployed behind a reverse proxy with a health route.
THE WHOLE COURSE IN ONE DIAGRAM

From one LLM call to a copilot your team uses

THE LEARNING PATHFOUNDATIONSone LLM calltext in, text outa chainprompt | model | parseran agentreason, call tool, loopa crewroles handing off workTRACK A · CrewAITest Analyst agent · Research + Writer crewBug Triage crew with context wiringJira to Playwright pipeline over MCPProduction pipeline: CSV + framework on disk + UIbest when the deliverable is a multi step documentTRACK B · LangChainlevels 0 to 3 · LCEL pipes · create_agentTyped Bug Triage with structured outputRCA agent: Jenkins + GitHub + health pingTest Designer grounded in your own historybest when the deliverable is a guaranteed data shapeRAG · your test cases, bug reports, PDFs and Jira in a local Chroma storeembedded locally with Ollama, so grounding costs nothing to runQA COPILOT · one URL, one API, three agents
Foundations first, then both frameworks side by side, then grounding, then one front door your team actually uses.
CURRICULUM

Eight modules, end to end

Nothing is skipped. The install, the keys, the rate limits, the workarounds and the deploy are all in here, because those are the parts that stop people.

1
Foundations: what an agent actually is
The difference between a plain call, a chain and an agent, in one picture. The five building blocks, and how each one appears in both frameworks. Where agents help a QA team and where they are still a bad idea.
chain vs agentthe five blockshonest limitations
2
Setup that works the first time
Virtual environments for both stacks, the exact package list, pinned versions and why the pins matter, dotenv layout, and the model choice table. Includes the CrewAI cache_breakpoint workaround you will hit within five minutes.
venv setuppinned requirementsthe GroqLLM workaroundmodel selection
3
Your first CrewAI agents
A single Test Analyst agent, then a two agent sequential crew, then a three agent bug triage crew with explicit context wiring and a live Jira fetch. Persona design, and why the rules belong in the backstory.
role, goal, backstoryProcess.sequentialcontext=[...]allow_delegation
4
Real tools and the MCP protocol
How a tool becomes something a model can call, how to write a docstring the model understands, and how to launch an Atlassian MCP server as a subprocess so you never write a Jira client. Plus the tool filtering that keeps you inside a free tier.
MCPServerAdapterStdioServerParameterstool schemas as tokensmax_rpm
5
The production QA pipeline
Externalised templates, strict Jira importable CSV, and the FILE marker protocol that lets a text model produce a real folder tree of TypeScript. Then a Starlette UI over the top, and the async trap you must handle to get there.
12 section test planJira CSV importframework splitterasyncio.to_thread
6
LangChain from zero to agents
Levels 0 to 3: one call, then LCEL pipes, then a tool calling agent with create_agent. Then structured output with Pydantic, and the one argument that stops booleans coming back as strings.
LCELStrOutputParsercreate_agentwith_structured_output
7
Grounding with RAG, and three production agents
Build a local Chroma knowledge base from test cases, bug reports, PDFs and live Jira. Then the RAG grounded triage agent, the RCA agent with three real tools, and the test designer that reuses your existing conventions.
Chroma + Ollamaingest and retrieveexclude_idsgraceful fallback
8
Ship it, then prove it works
Wrap everything behind one API, pin the dependencies, run it on a small server behind a reverse proxy with authentication and a health route. Then the part nobody else teaches: how to evaluate a non deterministic agent with a golden set and cheap mechanical CI gates.
one API per agentsystemd + nginxgolden setsCI gates
A LOOK AT THE ACTUAL CODE

No slideware. This is what you type.

a complete CrewAI agent, from module 3
qa_agent = Agent( role="Senior Bug Triage Analyst", goal="Accurately classify incoming bugs by severity, category, and priority", backstory="""You are a veteran QA engineer with 15 years of experience. You follow strict severity classification: - P0 (Blocker): System down, data loss, security breach - P1 (Critical): Major feature broken, no workaround - P2 (Major): Feature impaired, workaround exists You never inflate severity. You always justify your classification.""", llm=groq_llm, verbose=True, allow_delegation=False )
typed output, from module 6. This is why the result is pipeline safe
class Triage(BaseModel): severity: str = Field(description="Critical | High | Medium | Low") priority: str = Field(description="P0 | P1 | P2 | P3") component: str = Field(description="Most likely affected area") suggested_team: str = Field(description="Team that should own this") likely_duplicate: bool = Field(description="True if it looks known") reasoning: str = Field(description="2-3 line justification") triager = llm.with_structured_output(Triage, method="json_schema") result = (prompt | triager).invoke({"report": report}) print(result.severity, result.priority, result.likely_duplicate) # real types
one command in module 4, and three artefacts land on disk
$ python main.py VWO-48 Connecting to Jira MCP server (mcp-atlassian)... Connected. Discovered 49 Jira tools. Using 2 tool(s) to stay under the TPM limit: ['jira_get_issue', 'jira_search'] Starting QA Pipeline for VWO-48 ... QA PIPELINE COMPLETE Generated files in ./output/: test_plan.md Complete 12 section test plan test_cases.csv Jira importable, 12 to 15 cases advanced-playwright-framework/src/{pages,modules,tests,fixtures,testdata}/
WHO THIS IS FOR

And who it is not for

A good fit if you are
a manual or automation QA engineer who can read Python, an SDET who wants agents in the pipeline rather than in a chat window, a test lead who needs to judge whether this is safe to adopt, or anyone whose triage backlog is the bottleneck.
Probably not for you if
you want a no code tool with a drag and drop canvas, you are looking for prompt tricks rather than software, or you need a research level treatment of agent architectures. This course is about shipping something a QA team will use on Monday.
PrerequisiteHow much you needIf you do not have it
PythonYou can read a class, a function and a dict. You do not need decorators or async.Every file is short and fully explained line by line
Command lineCreate a folder, activate a virtual environment, run a script.The exact commands are written out for you to copy
Testing backgroundReal. You should know what severity, regression and a test plan are.This is the one thing the course assumes, because it is what makes you good at this
Jira accessHelpful from module 3 onwards. An API token on any Atlassian Cloud site works.Every agent falls back to pasted text or a built in sample, so nothing blocks you
PlaywrightUseful for module 5 when you check the generated framework.You can still follow the pipeline and read the output
An LLM keyOne free Groq key covers the whole course.The setup module walks through getting it
A GPU or paid APINot needed. Embeddings run locally and free through Ollama.Nothing in the course requires paid infrastructure
WHAT YOU TAKE AWAY

Concrete deliverables, not a certificate

The class recordings
Every session recorded, so you can build alongside the screen and rewind the part where the error appeared.
Two full written chapters
Chapter one is the complete reference: what an agent is, both installs, all nine projects, every command, a gotchas table and a self check quiz. Chapter two is the conclusion: framework decision guide, production checklist, evaluation method and a 30 day roadmap.
Four chapters of working code
Three CrewAI starter agents, the MCP Jira pipeline, the production pipeline with its UI and framework splitter, and the whole LangChain half including the RAG layer and the copilot.
Diagrams you can reuse
Chain versus agent, the five building blocks, the anatomy of an agent, the MCP tool path, the four agent pipeline, the RAG pipeline and the copilot routing. Drop them into your own design docs.
An evaluation harness
A small script that scores your triage agent against a golden set, checks stability across repeated runs, and prints the dumb baseline alongside so nobody oversells the result.
The answers for the hard questions
What to say when your lead asks how you tested it, whether it can be trusted, and what it must never be allowed to do. Written out, because that conversation decides adoption.
QUESTIONS PEOPLE ASK BEFORE ENROLLING

Do I need to know anything about AI or machine learning?
No. The course starts from a single line of Python that sends text to a model. There is no maths, no training, and no model tuning anywhere in it. What you do need is a real testing background, because deciding what is worth testing is the part the agent cannot do for you.
Will this cost money to run?
A free Groq key covers the whole course, and the embeddings run locally through Ollama so the knowledge base costs nothing. The course explicitly teaches how to stay inside free tier rate limits, because that is the constraint most people hit first.
Do I need my own Jira?
It helps a lot from module 3 onwards, and any Atlassian Cloud site with an API token works. But every agent in the course is built with a fallback, so if Jira is not reachable it uses pasted text or a built in sample and keeps going.
CrewAI or LangChain, which one does the course actually teach?
Both, deliberately. There is a whole section on when to reach for each. Short version: CrewAI when the deliverable is a multi step document produced by several roles, LangChain when the deliverable is a guaranteed data shape that other code will consume.
Is this going to be out of date in six months?
Version numbers will move, and the course tells you exactly which pins matter and why. But the ideas do not move. A chain versus an agent, tool schemas costing prompt tokens, typed output, retrieval grounding and human approval are all still going to be the answer.
Can I actually put this into my company pipeline?
That is the point of modules 5 and 8. You get a deployable API, a health route, a reverse proxy setup, a secrets checklist and an evaluation method. It also tells you clearly what to refuse to automate, which is the part that gets a proposal approved.
How is this different from just using a chat assistant?
A chat window has no access to your Jira, no typed output, no memory of your past bugs and no audit trail. Everything here is code you own, that runs against your systems, returns objects instead of prose, and logs what it did.
What if I get stuck?
The written chapters include a gotchas table mapping every error message in the course to its real cause and its fix, because each of those entries cost somebody an evening.
START WITH MODULE 1
Stop pasting tickets into a chat window. Build the agent instead.
Nine projects, two frameworks, four chapters of real code, and an honest answer to the only question that matters: how do you know it is right? Enrol and start with the first lesson today.
Lifetime accessClass recordings includedTwo written chaptersCode you keep and reuse

Course Curriculum

Pramod Dutta

Founder of The Testing Academy, a YouTube Channel with 95K subscribers where Pramod teaches about Software testing & Test Automation. With overall 10+ years of experience in Software Testing & Test Automation, he has mentored 10,000+ students in Software Testing, API Testing, Test Automation.

Pramod Dutta is working as SDET Manager at Tekion | Ex BrowserStack Employee & BrowserStack Champion & Certified Scrum Master. Pramod has a vast range of experience handling from Manual Testing, Mobile & Web Automation, Desktop & cloud services like AWS, GCP extra.

By joining this Automation Testing Course , you’ll have the opportunity to take control of your life, work in an exciting industry with infinite possibilities and live the life you want.

John Smith

Developer

Highly Recommended Course. Easy to Understand, Informative, Very Well Organized. The Course is Full of Practical and Valuable for Anyone who wants to Enhance their Skills. Really Enjoyed it. Thank you!!

Course Pricing

Full Course

4999 INR

Buy Now