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
Naka-record na Video
https://www.youtube.com/watch?v=cgoFdt8ybwY&t=1296s
Paghahanda at Pagpaplano
Pundasyon: Testing Data
- Madalas hindi nabibigyang-pansin ngunit napakahalaga
- Task management system (hal., Jira): Gumamit ng webhooks upang mag-imbak ng mga update sa AWS S3
- Swagger documentation: Nagbibigay ng API specifications at parameters
- Mga dating test case: Nagbibigay-daan sa verification at muling pagsubok sa mga naunang case
Pagkonekta sa mga Data Source
- Limitado ang kakayahan ng mga tradisyonal na pamamaraan na makahanap ng mga ugnayan
- Paggamit ng mga Large Language Model (LLM) upang mapag-ugnay ang mga koneksyon
- Halimbawa:
- Mariana (karera sa AWS cloud computing na may AI)
- Dario (co-founder ng Entropic, isang AI company)
- Bumuo ang Entropic ng serye ng mga LLM na magagamit sa pamamagitan ng AWS Bedrock
Pagpapatakbo
AI-Driven Testing Workflow
- Paggamit ng AI upang i-automate at paghusayin ang mga proseso ng testing
- Detalyadong pagtalakay kung paano isinasama ang AI sa umiiral na mga testing framework
Pag-uulat
Komprehensibong Pag-uulat
- Pagbuo ng makabuluhang mga report mula sa automated tests
- Paggamit ng AI upang magbigay ng mga insight at rekomendasyong maaaring aksyunan
- Pagbibigay-diin sa pagbabago ng mga tradisyonal na testing workflow sa tulong ng AI
- Paanyaya para sa feedback at talakayan tungkol sa mga inilahad na ideya
Pag-unawa sa mga Ugnayan gamit ang Knowledge Graphs
- Kinukuha ng knowledge graphs ang mga kumplikadong ugnayang hindi kayang makita ng simpleng text search
- Halimbawa: Ugnayan ni Mariana (karera sa AWS) at Entropic (AI company na itinatag ni Dario)
- Inihahayag ng knowledge graph ang mga nakatagong koneksyong hindi natatagpuan sa simpleng search
Kahalagahan ng Knowledge Graphs sa Automated Testing
- Mahalaga para sa automated task at pagbuo ng test case
- Kinukuha ang mga entity at pinag-uugnay ang magkakaugnay na item mula sa mga data source
- Halimbawa:
- Mga requirement ticket
- API specifications
- Mga dating test case
Paglikha ng Knowledge Graph
- Mabigat sa widget at mababa ang visibility ng mga tradisyonal na pamamaraan (hal., PostgreSQL)
- Hindi episyente ang mga no-code solution (hal., DynamoDB)
- Mas mahusay ang mga graph database (hal., AWS Neptune, Neo4j) ngunit kailangang matutuhan ang mga bagong konsepto (nodes, edges, properties)
Solusyon: Amazon Neptune Analytics
- Pinagsasama ang kakayahan ng graph database, foundational models, at AWS Bedrock
- Nagbibigay-daan sa pagpasok at pagkuha ng impormasyon nang walang kumplikadong syntax
- Nagbibigay ng malinaw at magandang graph view para sa data visualization
Graph Retrieval Augmented (RA)
- Teknik kung saan kumukuha ang AI ng mga reference document at bumubuo ng mga tugon
- Gumagamit ang Graph RA ng knowledge graph sa retrieval sa halip na simpleng text search
AI-Driven Test Pipeline
- Binuo sa ibabaw ng pundasyon ng knowledge graph
- Gumagamit ng Behavior-Driven Development (BDD) at Gherkin format para sa mga test case
- Gumagamit ang mga Gherkin scenario ng mga keyword gaya ng Given, When, at Then upang tukuyin ang paunang state, action, at inaasahang outcome ng isang feature
- Halimbawang test case: Pagsusuri sa mga title ng homepage gamit ang mga prerequisite at scenario
- Mahalaga ang knowledge graphs para sa epektibong automated testing
- Pinapasimple ng Amazon Neptune Analytics ang pamamahala at visualization ng graph database
- Pinahuhusay ng Graph RA ang AI-driven na pagbuo at pagpapatakbo ng mga test case
AI-Driven na Pagbuo ng Test Case
Layunin
- Pagbutihin ang coverage at consistency ng mga test case gamit ang mga AI agent
Mga Kakayahan ng AI Agent
- Pinipili ang pinakamainam na aksyon upang makamit ang mga layunin sa testing
- Sinusuri ang mga business flow at binabasa ang requirements mula sa knowledge graph
Halimbawa
Feature para sa Subscription Management
Pagsusuri sa Business Flow
- Tinutukoy ng knowledge graph ang:
- Validation ng payment method sa UI
- Pagtawag sa mga payment API
Pagtukoy sa Conflict
- Tinutukoy ng AI agent ang mga salungatan sa requirement:
- Lumang patakaran: Kailangang i-verify ng user ang email bago ma-access ang mga premium feature
- Bagong patakaran: Maaaring i-access ng mga trial user ang mga premium feature sa loob ng pitong araw nang walang email verification
- Ina-update nang naaayon ang mga kaugnay na test case
Pagtuklas sa mga Detalye ng API
- Kinukuha mula sa graph DB ang mga endpoint, required/optional parameter, at error response
- Tinutukoy ang mga API dependency sa pamamagitan ng naka-record na data (hal., matagumpay na paggawa ng subscription, pumalyang payment)
Pagbuo ng Test Data
- Gumagawa ng test data na sumasaklaw sa:
- Happy flow (matagumpay na mga scenario)
- Edge case (mga boundary condition)
- Error condition (mga pumalyang scenario)
Kongklusyon
- Pinahuhusay ng mga AI agent ang pagbuo ng test case sa pamamagitan ng:
- Pagsusuri sa mga business flow
- Pagtukoy sa mga conflict at pag-update ng mga test case
- Pagtuklas sa mga detalye at dependency ng API
- Pagbuo ng komprehensibong test data
Pagpapahusay at Pagpapatakbo ng mga Test Case
Pagpapahusay ng mga Test Case gamit ang Business Rules
- Gamitin ang impormasyon mula sa pagsusuri ng business flow at mga natukoy na patakaran upang paghusayin ang mga scenario
- Gawing scenario-based test case ang mga pinahusay na scenario
Human-in-the-Loop Verification
- Kayang bumuo ng AI ng mga komprehensibong test case, ngunit kailangan ang mga human expert para sa validation
- Tinitiyak ng human verification na nasasaklaw ang mga edge case at business context
- Maaaring hindi saklawin ng Jira ticket system, API documentation, at mga dating test case ang lahat ng scenario
Pagpapatakbo gamit ang Playwright
- Playwright: Mabilis at maaasahang end-to-end testing
- Sinusuportahan ng Playwright ang lahat ng modernong rendering engine, kabilang ang Chromium, WebKit, at Firefox. Cross-platform ito at maaaring magsagawa ng lokal na testing sa Windows, Linux, at macOS
- Gamitin ang Playwright sa pagpapatakbo ng mga test
- Kilala at open-source na automated testing framework
- Direktang nakikipag-ugnayan sa browser para sa episyenteng testing
- Sumusuporta sa maraming wika (Java, Python, C, JavaScript, TypeScript)
- Malakas ang suporta ng community, na may 78.9K stars sa GitHub
- May native support para sa MCP (Model-Based Continuous Planning) para sa mga instruction sa natural language
- Mga built-in na feature:
- Parallel execution para sa episyenteng pagpapatakbo
- Komprehensibong kakayahan sa tracing at debugging
- Automated screenshot at video recording
- Detalyadong logging upang maidokumento ang testing process at maisagawa ang verification sa ibang pagkakataon
Kongklusyon
- Pinahuhusay ng AI ang pagbuo ng test case, ngunit napakahalaga ng human verification
- Nagbibigay ang Playwright ng episyente, flexible, at feature-rich na pagpapatakbo ng test
Pagpapatakbo ng mga Test Case gamit ang mga AI Agent
Task Executor Agent
- AI agent na nangangasiwa sa execution phase
- Kinukuha ang mga test parameter mula sa mga nabuong task
- Gumagawa at nag-iimbak ng mga Playwright script sa database para sa sanggunian sa hinaharap
- Awtomatikong nagpapatakbo ng mga test
Mga Halimbawa ng AI-Driven Testing gamit ang Playwright
- Front-end at back-end testing
- Eksperimento gamit ang Playwright MCP kasama ang Amazon Q developer CLI
- Tatlong test case para sa isang simpleng e-commerce website:
- Pagbili ng produkto, paglalagay ng shipment information, at pagkumpleto sa proseso ng order
- Pag-log in at pagbukas sa product page nang walang karagdagang aksyon
- Pagdagdag ng produkto sa shopping cart nang walang karagdagang aksyon
Verification Matapos ang Pagpapatakbo
- Iniimbak ang mga test case sa database
- Paggamit ng mga feature gaya ng video recording para sa verification sa ibang pagkakataon
- Maaaring suriin ng mga tester ang mga naka-record na video upang matiyak na naaayon ang mga ito sa inaasahang behavior
Pagbabalik-tanaw sa Kumpletong Test Execution Flow
- Nagtutulungan ang tatlong AI agent:
- Test case generator
- Test case executor
- Report generator (kumukuha ng mga resulta at recording)
- Nagbibigay ng flexibility at scalability ang modularized approach
Paggamit ng Maraming MCP
- Gumamit ng iba't ibang MCP para sa magkakaibang pangangailangan sa testing:
- MySQL MCP para sa pagbuo ng makatotohanang data
- Redis MCP para sa pag-iimbak ng mga test case na kamakailang ginamit
- Pinapasimple ang mga proseso ng testing
Pangunahing Mensahe: Shift-Left Testing
- Isama ang automated testing sa maagang bahagi ng development cycle
- Mga benepisyo:
- Mas mahusay na kalidad
- Mas episyenteng proseso
- Mas mababang gastos
- Mas kaunting technical debt
Kongklusyon
- Nakakatipid ng oras at gastos ang AI-driven automated testing
- Nakatuon ang mga tester sa verification, hindi sa pagbuo ng test case
