Recap Series
- Session 02: AWS Compliance with Terraform
- Session 03: Beginner to Builder: An Awesome Cloud Journey
- Session 04: Team-First Serverless Engineering with Laravel and Bref
- Session 05: Event Opening: AWS Community Day Hong Kong 2025
- Session 06: Agent-to-Agent: Building Interoperable AI on AWS
- Session 07: Utilize Another Telemetry Data for Faster Improvement with AI Agent
- Session 08: Graduating from Vibe Coding: Spec-Driven Development with Kiro
- Session 09: Automated Testing using MCP and AI Agents
- Session 10: Modernizing Telecom Security: ML Powered Approach
- Session 11: Rethinking GenAI Agent: RAG and MCP
- Session 12: Disaster and Emergency Response with TAK and AWS
- Session 13: Rethinking Serverless Application Workflows from a Testing Perspective
- Session 14: Practical AWS FinOps for Cloud Success
Recording
https://www.youtube.com/watch?v=cgoFdt8ybwY&t=1296s
Preparation and Planning
Foundation: Testing Data
- Often overlooked but critical
- Task management system (e.g., Jira): Use webhooks to store updates in AWS S3
- Swagger documentation: Provides API specifications and parameters
- Historical test cases: Allows verification and retesting of previous cases
Connecting Data Sources
- Traditional methods have limited capability to find relationships
- Introduction of Large Language Models (LLMs) to bridge connections
- Example:
- Mariana (AWS career in cloud computing with AI)
- Dario (co-founder of Entropic, an AI company)
- Entropic developed a series of LLMs available through AWS Bedrock
Execution
AI-Driven Testing Workflow
- Leveraging AI to automate and enhance testing processes
- Detailed dive into how AI integrates with existing testing frameworks
Reporting
Comprehensive Reporting
- Generating insightful reports from automated tests
- Utilizing AI to provide actionable insights and recommendations
- Emphasis on transforming traditional testing workflows with AI
- Invitation for feedback and discussion on the presented ideas
Understanding Relationships with Knowledge Graphs
- Knowledge graphs capture complex relationships that simple text searches cannot
- Example: Relationship between Mariana (AWS career) and Entropic (AI company founded by Dario)
- Knowledge graph reveals hidden connections not found by simple searches
Importance of Knowledge Graphs in Automated Testing
- Crucial for automated task and test case generation
- Extracts entities and connects related items from data sources
- Example:
- Requirement tickets
- API specifications
- Historical test cases
Creating a Knowledge Graph
- Traditional methods (e.g., PostgreSQL) are widget-heavy and low visibility
- No-code solutions (e.g., DynamoDB) are inefficient
- Graph databases (e.g., AWS Neptune, Neo4j) are better but require learning new concepts (nodes, edges, properties)
Solution: Amazon Neptune Analytics
- Combines graph database capabilities with foundational models and AWS Bedrock
- Allows insertion and retrieval of information without complex syntax
- Provides a beautiful graph view for data visualization
Graph Retrieval Augmented (RA)
- Technique where AI retrieves reference documents and generates responses
- Graph RA uses a knowledge graph for retrieval instead of simple text search
AI-Driven Test Pipeline
- Built on top of the knowledge graph foundation
- Uses Behavior-Driven Development (BDD) with Gherkin format for test cases
- Gherkin scenarios use keywords like Given, When, and Then to specify the initial state, action, and expected outcome of a feature
- Example test case: Checking homepage titles with prerequisites and scenarios
- Knowledge graphs are essential for effective automated testing
- Amazon Neptune Analytics simplifies graph database management and visualization
- Graph RA enhances AI-driven test case generation and execution
AI-Driven Test Case Generation
Goal
- Improve test case coverage and consistency using AI agents
AI Agent Capabilities
- Chooses the best actions to perform and achieve testing goals
- Analyzes business flows and reads requirements from the knowledge graph
Example
Subscription Management Feature
Business Flow Analysis
- Knowledge graph identifies:
- Validation of payment method in the UI
- Calling payment APIs
Conflict Detection
- AI agent detects requirement conflicts:
- Old rule: User must verify email before accessing premium features
- New rule: Trial users can access premium features for seven days without email verification
- Updates related test cases accordingly
API Details Discovery
- Extracts endpoints, required/optional parameters, and error responses from the graph DB
- Identifies API dependencies through recorded data (e.g., successful subscription creation, payment failure)
Test Data Generation
- Creates test data covering:
- Happy flow (successful scenarios)
- Edge cases (boundary conditions)
- Error conditions (failure scenarios)
Conclusion
- AI agents enhance test case generation by:
- Analyzing business flows
- Detecting conflicts and updating test cases
- Discovering API details and dependencies
- Generating comprehensive test data
Refining and Executing Test Cases
Refining Test Cases with Business Rules
- Use information from business flow analysis and identified rules to enhance scenarios
- Convert refined scenarios into scenario-based test cases
Human-in-the-Loop Verification
- AI can generate comprehensive test cases, but human experts are needed for validation
- Human verification ensures edge cases and business contexts are captured
- Jira ticket system, API documentation, and historical test cases may not cover all scenarios
Execution with Playwright
- Playwright: Fast and reliable end-to-end testing
- Playwright supports all modern rendering engines including Chromium, WebKit, and Firefox. Cross-platform. Test on Windows, Linux, and macOS, locally
- Utilize Playwright for test execution
- Well-known, open-source automated testing framework
- Communicates directly with the browser for efficient testing
- Supports multiple languages (Java, Python, C, JavaScript, TypeScript)
- Strong community support with 78.9K stars on GitHub
- Native support for MCP (Model-Based Continuous Planning) for natural language instructions
- Built-in features:
- Parallel execution for efficiency
- Comprehensive tracing and debugging capabilities
- Automated screenshot and video recording
- Detailed logging for documenting the testing process and enabling later verification
Conclusion
- AI enhances test case generation, but human verification is crucial
- Playwright offers efficient, versatile, and feature-rich test execution
Executing Test Cases with AI Agents
Task Executor Agent
- AI agent for handling the execution phase
- Extracts test parameters from generated tasks
- Creates and stores Playwright scripts in the database for future reference
- Automatically executes tests
Examples of AI-Driven Testing with Playwright
- Front-end and back-end testing
- Experiment using Playwright MCP with Amazon Q developer CLI
- Three test cases for a simple e-commerce website:
- Purchasing a product with shipment information and completing the order process
- Logging in and entering the product page without further action
- Adding a product to the shopping cart without further action
Post-Execution Verification
- Test cases stored in the database
- Utilization of features like video recording for later verification
- Testers can review recorded videos to ensure alignment with expected behavior
Recap of Complete Test Execution Flow
- Three AI agents work together:
- Test case generator
- Test case executor
- Report generator (captures results and recordings)
- Modularized approach provides flexibility and scalability
Leveraging Multiple MCPs
- Use various MCPs for different testing needs:
- MySQL MCP for generating realistic data
- Redis MCP for storing recently used test cases
- Simplifies testing processes
Key Message: Shift-Left Testing
- Integrate automated testing early in the development cycle
- Benefits:
- Better quality
- Improved efficiency
- Lower costs
- Reduced technical debt
Conclusion
- AI-driven automated testing saves time and cost
- Testers focus on verification, not test case generation
