Skip to main content
Glama
MCP_TESTER_USAGE.mdβ€’12.5 kB
# 🎯 MCP World-Class Tester μ‚¬μš© κ°€μ΄λ“œ **138번 ν…ŒμŠ€ν„° 페λ₯΄μ†Œλ‚˜λ₯Ό ν™œμš©ν•œ 체계적 ν…ŒμŠ€νŒ…** > 이 κ°€μ΄λ“œλŠ” MCP (Model Context Protocol)λ₯Ό 톡해 World-Class Tester 페λ₯΄μ†Œλ‚˜λ₯Ό ν™œμš©ν•˜λŠ” μ‹€μ „ 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€. --- ## πŸ“‹ λͺ©μ°¨ 1. [MCP ν…ŒμŠ€ν„° 페λ₯΄μ†Œλ‚˜λž€?](#mcp-ν…ŒμŠ€ν„°-페λ₯΄μ†Œλ‚˜λž€) 2. [κΈ°λ³Έ μ‚¬μš©λ²•](#κΈ°λ³Έ-μ‚¬μš©λ²•) 3. [μ‹€μ „ μ‹œλ‚˜λ¦¬μ˜€λ³„ μ‚¬μš©](#μ‹€μ „-μ‹œλ‚˜λ¦¬μ˜€λ³„-μ‚¬μš©) 4. [단계별 μ›Œν¬ν”Œλ‘œμš°](#단계별-μ›Œν¬ν”Œλ‘œμš°) 5. [λ¬Έμ„œ μžλ™ μ°Έμ‘° μ‹œμŠ€ν…œ](#λ¬Έμ„œ-μžλ™-μ°Έμ‘°-μ‹œμŠ€ν…œ) --- ## MCP ν…ŒμŠ€ν„° 페λ₯΄μ†Œλ‚˜λž€? ### νŠΉμ§• **138번 World-Class Tester**λŠ” λ‹€μŒκ³Ό 같은 νŠΉλ³„ν•œ κΈ°λŠ₯을 κ°€μ§„ MCP 페λ₯΄μ†Œλ‚˜μž…λ‹ˆλ‹€: ```markdown 🎯 μžλ™ λ¬Έμ„œ μ°Έμ‘° - docs/WORLD_CLASS_TESTER_PERSONA.md (핡심 방법둠) - docs/WORLD_CLASS_TESTER_COMPETENCIES.md (μ—­λŸ‰ ν‘œμ€€) - docs/TESTER_USAGE_GUIDE.md (μ‹€μ „ μ‹œλ‚˜λ¦¬μ˜€) πŸ”„ 체계적 5단계 μ›Œν¬ν”Œλ‘œμš° Phase 1: Planning (15λΆ„) Phase 2: Test Case Writing (30λΆ„) Phase 3: Manual Testing (1-2μ‹œκ°„) Phase 4: Automation (2-4μ‹œκ°„) Phase 5: Reporting (30λΆ„) πŸ“Š ν’ˆμ§ˆ λ©”νŠΈλ¦­ μžλ™ 좔적 - Test Coverage: >80% - Defect Detection Rate: >90% - Flaky Test Rate: <5% ``` ### ν™œμ„±ν™” 방법 λͺ¨λ“  AI 도ꡬ (Windsurf, Claude Desktop, Cursor, Antigravity)μ—μ„œ: ``` "138번 ν…ŒμŠ€ν„° 페λ₯΄μ†Œλ‚˜ λΆˆλŸ¬μ™€μ€˜" "138번 World-Class Tester둜 μ „ν™˜ν•΄μ€˜" "@persona:138-world-class-tester" ``` --- ## κΈ°λ³Έ μ‚¬μš©λ²• ### μ˜ˆμ‹œ 1: μ‹ κ·œ κΈ°λŠ₯ ν…ŒμŠ€νŠΈ ```markdown User: "138번 ν…ŒμŠ€ν„° 페λ₯΄μ†Œλ‚˜λ‘œ AI Chat κΈ°λŠ₯ ν…ŒμŠ€νŠΈν•΄μ€˜" AI Response: "World-Class Tester 페λ₯΄μ†Œλ‚˜λ‘œ μ „ν™˜ν–ˆμŠ΅λ‹ˆλ‹€. AI Chat κΈ°λŠ₯ ν…ŒμŠ€νŠΈλ₯Ό μ‹œμž‘ν•˜κ² μŠ΅λ‹ˆλ‹€. λ¨Όμ € ν…ŒμŠ€νŒ… λ¬Έμ„œλ₯Ό ν™•μΈν•˜κ² μŠ΅λ‹ˆλ‹€... [docs/WORLD_CLASS_TESTER_PERSONA.md μ°Έμ‘°] [docs/TESTER_USAGE_GUIDE.md의 AI Chat μ‹œλ‚˜λ¦¬μ˜€ 적용] πŸ“‹ PHASE 1: PLANNING (15λΆ„) μš”κ΅¬μ‚¬ν•­ 뢄석을 μœ„ν•΄ λͺ‡ κ°€μ§€ μ§ˆλ¬Έλ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€: 1. AI Chat의 μ£Όμš” λͺ©μ μ€ λ¬΄μ—‡μΈκ°€μš”? - 연ꡬ 질문 λ‹΅λ³€ - 데이터 뢄석 지원 - 기타 2. μ§€μ›ν•˜λŠ” AI λͺ¨λΈμ€? - Claude 3.5 Sonnet - GPT-4 - λ‘˜ λ‹€ 3. μž…λ ₯ μ œν•œμ‚¬ν•­μ΄ μžˆλ‚˜μš”? - μ΅œλŒ€ ν…μŠ€νŠΈ 길이 - 파일 μ—…λ‘œλ“œ 지원 μ—¬λΆ€ 4. 응닡 μ‹œκ°„ λͺ©ν‘œλŠ”? - 일반적으둜 <10초 ꢌμž₯ 5. μ˜ˆμƒλ˜λŠ” μ—λŸ¬ μ‹œλ‚˜λ¦¬μ˜€λŠ”? - API μ‹€νŒ¨, νƒ€μž„μ•„μ›ƒ, λ„€νŠΈμ›Œν¬ 였λ₯˜ λ‹΅λ³€ν•΄μ£Όμ‹œλ©΄ ν…ŒμŠ€νŠΈ κ³„νšμ„ μˆ˜λ¦½ν•˜κ² μŠ΅λ‹ˆλ‹€." ``` ### μ˜ˆμ‹œ 2: Pre-release 검증 ```markdown User: "138번 ν…ŒμŠ€ν„°λ‘œ v2.1.0 릴리슀 μ „ κ²€μ¦ν•΄μ€˜" AI Response: "World-Class Tester둜 v2.1.0 Pre-release 검증을 μ‹œμž‘ν•©λ‹ˆλ‹€. [docs/WORLD_CLASS_TESTER_PERSONA.md의 Pre-release Checklist 적용] πŸš€ PRE-RELEASE VERIFICATION CHECKLIST βœ… Step 1: CI/CD Pipeline 확인 ν˜„μž¬ μƒνƒœλ₯Ό μ•Œλ €μ£Όμ„Έμš”: - [ ] Unit tests κ²°κ³Ό? - [ ] Integration tests κ²°κ³Ό? - [ ] E2E tests κ²°κ³Ό? - [ ] Code coverage %? βœ… Step 2: Critical Path Manual Testing (10개 핡심 흐름) λ‹€μŒ κΈ°λŠ₯듀을 μˆ˜λ™μœΌλ‘œ ν…ŒμŠ€νŠΈν•˜κ² μŠ΅λ‹ˆλ‹€: 1. Login/Logout 2. User Registration 3. Create Project 4. Edit Project 5. AI Chat 6. File Upload/Download 7. Report Generation 8. Team Collaboration 9. Dashboard 10. User Settings 각 ν•­λͺ©μ„ Chrome DevTools둜 κ²€μ¦ν•˜κ³  κ²°κ³Όλ₯Ό λ³΄κ³ ν•˜κ² μŠ΅λ‹ˆλ‹€. βœ… Step 3: Cross-Browser Testing - Chrome (latest) - Firefox (latest) - Safari (latest) - Mobile (iOS/Android) βœ… Step 4: Performance & Security - Lighthouse 점수 - OWASP ZAP μŠ€μΊ” - μ ‘κ·Όμ„± 검사 λͺ¨λ“  단계λ₯Ό μ™„λ£Œν•˜κ³  GO/NO-GO 결정을 μ œκ³΅ν•˜κ² μŠ΅λ‹ˆλ‹€." ``` --- ## μ‹€μ „ μ‹œλ‚˜λ¦¬μ˜€λ³„ μ‚¬μš© ### μ‹œλ‚˜λ¦¬μ˜€ 1: 버그 발견 μ‹œ ```markdown User: "138번 ν…ŒμŠ€ν„°λ‘œ Login νŽ˜μ΄μ§€μ—μ„œ 버그 μ°Ύμ•„μ€˜" AI: "Login νŽ˜μ΄μ§€ ν…ŒμŠ€νŠΈλ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€. [Manual Testing 4-Step Workflow 적용] Step 1: Preparation βœ… Chrome DevTools ν™œμ„±ν™” 확인 βœ… Network νƒ­ λͺ¨λ‹ˆν„°λ§ μ‹œμž‘ βœ… Console μ—λŸ¬ 좔적 Step 2: Happy Path Testing βœ… μœ νš¨ν•œ 자격증λͺ…μœΌλ‘œ 둜그인 βœ… 'Remember me' κΈ°λŠ₯ 확인 βœ… λ¦¬λ‹€μ΄λ ‰μ…˜ 정상 확인 Step 3: Error Path Testing ⚠️ 버그 발견! πŸ› BUG-001: 잘λͺ»λœ λΉ„λ°€λ²ˆν˜Έ μž…λ ₯ μ‹œ μ—λŸ¬ λ©”μ‹œμ§€ λˆ„λ½ πŸ“‹ Environment: - OS: Windows 11 - Browser: Chrome 120 - Version: v2.1.0 πŸ” Reproduction Steps: 1. Login νŽ˜μ΄μ§€ 접속 2. μ˜¬λ°”λ₯Έ 이메일 μž…λ ₯ (user@example.com) 3. 잘λͺ»λœ λΉ„λ°€λ²ˆν˜Έ μž…λ ₯ (wrong123) 4. Login λ²„νŠΌ 클릭 ❌ Actual Result: - μ—λŸ¬ λ©”μ‹œμ§€ ν‘œμ‹œ μ•ˆ 됨 - νŽ˜μ΄μ§€κ°€ reload만 됨 - Console에 401 μ—λŸ¬λ§Œ 둜그 βœ… Expected Result: - λͺ…ν™•ν•œ μ—λŸ¬ λ©”μ‹œμ§€: 'Invalid password. Please try again.' - λΉ„λ°€λ²ˆν˜Έ ν•„λ“œμ— 포컀슀 - μž…λ ₯ν•œ 이메일은 μœ μ§€ πŸ’₯ Severity: P1 - High (μ£Όμš” μ‚¬μš©μ„± 문제) πŸ”„ Reproduction Rate: Always (100%) πŸ“Ή Evidence: [μŠ€ν¬λ¦°μƒ· ν•„μš”] [Console 둜그 첨뢀] πŸ› οΈ Suggested Fix: \`\`\`typescript // Add error handling in login handler if (response.status === 401) { setError('Invalid email or password'); passwordRef.current.focus(); } \`\`\` Step 4: Edge Case Testing 계속 μ§„ν–‰ν•˜κ² μŠ΅λ‹ˆλ‹€..." ``` ### μ‹œλ‚˜λ¦¬μ˜€ 2: E2E ν…ŒμŠ€νŠΈ μž‘μ„± μš”μ²­ ```markdown User: "138번 ν…ŒμŠ€ν„°λ‘œ Project Creation E2E ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„±ν•΄μ€˜" AI: "Project Creation E2E ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•˜κ² μŠ΅λ‹ˆλ‹€. [docs/WORLD_CLASS_TESTER_PERSONA.md의 E2E 방법둠 적용] πŸ“ Test Plan: 1. Happy Path: 정상 ν”„λ‘œμ νŠΈ 생성 2. Error Path: ν•„μˆ˜ ν•„λ“œ λˆ„λ½ 3. Edge Case: κΈ΄ 이름, 특수문자 \`\`\`typescript // tests/e2e/project-creation.spec.ts import { test, expect } from '@playwright/test'; import { loginAsResearcher } from '../helpers/auth'; test.describe('Project Creation', () => { test.beforeEach(async ({ page }) => { await loginAsResearcher(page); await page.goto('/projects'); }); test('TC001: should create project with valid data', async ({ page }) => { // Step 1: Navigate to create form await page.click('[data-testid="create-project-btn"]'); await expect(page).toHaveURL(/\/projects\/new/); // Step 2: Fill form await page.fill('[data-testid="project-name"]', 'Test Project Alpha'); await page.fill('[data-testid="project-description"]', 'E2E Test Project'); // Step 3: Set dates const today = new Date().toISOString().split('T')[0]; await page.fill('[data-testid="start-date"]', today); const futureDate = new Date(); futureDate.setMonth(futureDate.getMonth() + 6); await page.fill('[data-testid="end-date"]', futureDate.toISOString().split('T')[0]); // Step 4: Submit await page.click('[data-testid="submit-btn"]'); // Step 5: Verify success await expect(page.locator('[data-testid="success-toast"]')).toBeVisible(); await expect(page).toHaveURL(/\/projects\/\\d+/); await expect(page.locator('h1')).toContainText('Test Project Alpha'); }); test('TC002: should show error for missing required field', async ({ page }) => { await page.click('[data-testid="create-project-btn"]'); // Submit without name await page.click('[data-testid="submit-btn"]'); // Verify error const errorMsg = page.locator('[data-testid="error-message"]'); await expect(errorMsg).toBeVisible(); await expect(errorMsg).toContainText('Project name is required'); // Verify focus on name field await expect(page.locator('[data-testid="project-name"]')).toBeFocused(); }); test('TC003: should handle long project name', async ({ page }) => { await page.click('[data-testid="create-project-btn"]'); // Try 500 character name const longName = 'A'.repeat(500); await page.fill('[data-testid="project-name"]', longName); await page.click('[data-testid="submit-btn"]'); // Should show validation error const error = page.locator('[data-testid="error-message"]'); await expect(error).toContainText('maximum 200 characters'); }); }); \`\`\` βœ… Test Coverage: - Happy Path: βœ“ - Error Handling: βœ“ - Edge Cases: βœ“ - Data-testid selectors: βœ“ (stable) - Proper waits: βœ“ (no fixed timeouts) πŸš€ Next Steps: 1. Run tests: \`npx playwright test project-creation\` 2. Check for flakiness (run 10 times) 3. Add to CI/CD pipeline 4. Update test documentation" ``` --- ## 단계별 μ›Œν¬ν”Œλ‘œμš° ### 5-Phase Testing Process ```markdown PHASE 1: PLANNING (15 min) ━━━━━━━━━━━━━━━━━━━━━━━━ User: "138번 ν…ŒμŠ€ν„°λ‘œ [Feature] ν…ŒμŠ€νŠΈν•΄μ€˜" AI: 1. μš”κ΅¬μ‚¬ν•­ 뢄석 (5개 질문) 2. ν…ŒμŠ€νŠΈ λ²”μœ„ μ •μ˜ 3. μš°μ„ μˆœμœ„ κ²°μ • Output: Test Plan document PHASE 2: TEST CASE WRITING (30 min) ━━━━━━━━━━━━━━━━━━━━━━━━ AI: 1. Happy Path μ‹œλ‚˜λ¦¬μ˜€ (5-10개) 2. Error Path μ‹œλ‚˜λ¦¬μ˜€ (3-5개) 3. Edge Cases (3-5개) Output: Test Cases (yaml/markdown) PHASE 3: MANUAL TESTING (1-2 hours) ━━━━━━━━━━━━━━━━━━━━━━━━ AI: "Chrome DevToolsλ₯Ό μ—΄κ³  ν…ŒμŠ€νŠΈ μ‹œμž‘..." 1. Preparation checklist 2. Execute all test cases 3. Document results 4. Capture bugs (screenshots/videos) Output: Test Results + Bug Reports PHASE 4: AUTOMATION (2-4 hours) ━━━━━━━━━━━━━━━━━━━━━━━━ AI: "E2E ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„±..." 1. Write Page Object Model 2. Implement test scripts 3. Add to CI/CD 4. Verify stability Output: Playwright/Cypress code PHASE 5: REPORTING (30 min) ━━━━━━━━━━━━━━━━━━━━━━━━ AI: 1. Summary (Pass/Fail counts) 2. Bug list (P0/P1/P2/P3) 3. Quality metrics 4. GO/NO-GO recommendation Output: Test Report + Release Decision ``` --- ## λ¬Έμ„œ μžλ™ μ°Έμ‘° μ‹œμŠ€ν…œ ### MCP 페λ₯΄μ†Œλ‚˜κ°€ μžλ™μœΌλ‘œ ν™•μΈν•˜λŠ” λ¬Έμ„œ ```markdown πŸ“š Documentation Auto-Reference Flow: User Request ↓ 138번 Tester Activated ↓ Auto-check docs/ folder β”œβ”€ WORLD_CLASS_TESTER_PERSONA.md β”‚ └─ Manual Testing 4-step β”‚ └─ E2E Automation patterns β”‚ └─ Bug Report template β”‚ β”œβ”€ WORLD_CLASS_TESTER_COMPETENCIES.md β”‚ └─ Testing levels (Unit/Integration/E2E) β”‚ └─ Security testing (OWASP) β”‚ └─ Quality metrics β”‚ └─ TESTER_USAGE_GUIDE.md └─ 4 real scenarios └─ Daily/Weekly/Sprint checklists └─ FAQ & troubleshooting ↓ Apply appropriate methodology ↓ Execute systematic testing ↓ Report with evidence ``` ### μ‹€μ œ λ™μž‘ μ˜ˆμ‹œ ``` User: "138번 ν…ŒμŠ€ν„°λ‘œ AI Chat ν…ŒμŠ€νŠΈν•΄μ€˜" AI Internal Process: 1. Load persona (138-world-class-tester.txt) 2. Recognize: Testing request 3. Check: docs/TESTER_USAGE_GUIDE.md 4. Find: "Scenario 1: AI Chat testing" 5. Apply: Step-by-step workflow 6. Execute: Phase 1-5 7. Report: With evidence and recommendations User sees: "World-Class Tester ν™œμ„±ν™”. λ¬Έμ„œ 확인 쀑... [Scenario 1 적용] AI Chat ν…ŒμŠ€νŠΈ μ‹œμž‘ν•©λ‹ˆλ‹€." ``` --- ## πŸ’‘ μ‹€μ „ 팁 ### Tip 1: λ¬Έμ„œ λͺ…μ‹œμ  μ°Έμ‘° μš”μ²­ ``` "138번 ν…ŒμŠ€ν„°λ‘œ μ „ν™˜ν•˜κ³ , WORLD_CLASS_TESTER_PERSONA.md의 Pre-release Checklistλ₯Ό 따라 κ²€μ¦ν•΄μ€˜" ``` ### Tip 2: 단계별 μ‹€ν–‰ ``` "138번 ν…ŒμŠ€ν„°λ‘œ AI Chat ν…ŒμŠ€νŠΈν•΄μ€˜. Phase 1만 λ¨Όμ € μ™„λ£Œν•˜κ³  λ‹€μŒ λ‹¨κ³„λŠ” λ‚΄κ°€ μ§€μ‹œν• κ²Œ" ``` ### Tip 3: νŠΉμ • 체크리슀트 μ‚¬μš© ``` "138번 ν…ŒμŠ€ν„°λ‘œ Security Testing Checklist (OWASP Top 10) μ μš©ν•΄μ„œ κ²€μ¦ν•΄μ€˜" ``` --- ## 🎯 μš”μ•½ ### MCP World-Class Tester의 핡심 κ°€μΉ˜ ```markdown βœ… μžλ™ λ¬Έμ„œ μ°Έμ‘° β†’ 맀번 κ°€μ΄λ“œ 찾을 ν•„μš” μ—†μŒ βœ… 체계적 μ›Œν¬ν”Œλ‘œμš° β†’ λ¬΄μž‘μœ„ ν…ŒμŠ€νŠΈ X, 5단계 방법둠 O βœ… ν‘œμ€€ 기반 β†’ IEEE, OWASP, NRC ν‘œμ€€ 적용 βœ… μ‹€μ „ 쀑심 β†’ 이둠이 μ•„λ‹Œ μ‹€μ œ μ½”λ“œ 및 μ˜ˆμ‹œ βœ… ν’ˆμ§ˆ λ©”νŠΈλ¦­ β†’ μ •λŸ‰μ  ν’ˆμ§ˆ μΈ‘μ • ``` ### μ‚¬μš© μ‹œμž‘ ```bash # AI λ„κ΅¬μ—μ„œ (Windsurf, Claude Desktop, Cursor, Antigravity) "138번 World-Class Tester 페λ₯΄μ†Œλ‚˜ λΆˆλŸ¬μ™€μ€˜" # ν…ŒμŠ€νŠΈ μš”μ²­ "AI Chat κΈ°λŠ₯ ν…ŒμŠ€νŠΈν•΄μ€˜" "v2.1.0 릴리슀 μ „ κ²€μ¦ν•΄μ€˜" "Login 버그 μ°Ύμ•„μ€˜" # AIκ°€ μžλ™μœΌλ‘œ: 1. λ¬Έμ„œ 확인 2. 방법둠 적용 3. 체계적 ν…ŒμŠ€νŠΈ 4. 증거 기반 보고 ``` --- **πŸŽ‰ 이제 World-Class μˆ˜μ€€μ˜ ν…ŒμŠ€νŒ…μ„ μžλ™ν™”λœ μ›Œν¬ν”Œλ‘œμš°λ‘œ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€!**

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seanshin0214/persona-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server