หลักสูตรเรียนรู้และทดสอบการเขียนโค้ดระบบจำลอง Automation แบบโต้ตอบด้วย Code Sandbox และรันชุดทดสอบเสมือนจริงในเบราว์เซอร์
⭐ Star on GitHubเรียนรู้การทดสอบ Backend API โดยตรงด้วย Playwright Request Context ครอบคลุม Status Code, Negative Testing, Auth Headers, Schema Validation และ Rate-Limit Testing โดยอิงจาก Express API จริงในโปรเจค My-Investment-Port
เรียนรู้การเขียนโค้ดทดสอบแบบ Code-first ด้วย TypeScript ครอบคลุม POM, API Mocking, และ Responsive Testing โดยอิงจากกรณีศึกษาจริงในโปรเจค My-Investment-Port
ฝึกฝนการเขียน Keyword-driven Testing ด้วย Robot Framework ครอบคลุมการประกาศ Settings, Variables, Custom Keywords, macOS Native UI Automation ผ่านแอป Kouen จริง (ไม่ใช้ Appium) และ OS Processes
หมายเหตุ: โครงสร้าง RF และหลักคิด (locator ที่เสถียร, test isolation, retry ให้ถูกจุด) ที่ได้จากบทเรียนนี้ต่อยอดไปสาย Appium Mobile Native และ Appium Flutter ได้จริง แต่ต้องไป apply เรียนรู้ library/locator เฉพาะแพลตฟอร์มเพิ่มเติมทุกครั้งที่ข้ามสาย — เหมือนคนเขียน Selenium เป็นแล้วต้อง apply เพิ่มตอนย้ายไปเขียน Appium Flutter เช่นกัน
เรียนรู้การเขียน Load Test ด้วย k6 ครอบคลุม Virtual Users, Thresholds, Stages (Ramping), sleep() Think Time, Custom Metrics, group(), Scenarios/Executors และ setup()/teardown() โดยยิงจริงเข้า Express API ของ My-Investment-Port — รวมบทที่สอนให้ออกแบบ check() ให้รู้จัก Rate Limiter จริงของ server แทนที่จะเข้าใจผิดว่า 429 คือบั๊ก
เรียนรู้ SQL และการออกแบบฐานข้อมูลที่ QA ใช้ทุกวันแต่ลืมได้ง่าย ครอบคลุม SELECT/WHERE, PRIMARY KEY, FOREIGN KEY, Normalization, JOIN (INNER/LEFT), Data Type/BOOLEAN, GROUP BY, Data Integrity Check และ NULL Handling — รันคำสั่ง SQL จริงในเบราว์เซอร์ด้วย AlaSQL บนสคีมาที่จำลองจากข้อมูล Holdings จริงของ My-Investment-Port
คำสั่ง Git, Vim และ Unix ที่ QA ใช้บ่อยแต่ลืมง่าย — git stash แบบมีป้ายกำกับ, เปิดใช้ custom git hooks, เอาตัวรอดใน Vim ตอนหลุดเข้า editor, และ safe script header (set -euo pipefail) ที่ใช้จริงในทุกสคริปต์ของ Kouen
การทดสอบความปลอดภัยจากมุมมอง QA (ไม่ใช่ Pentest) — Auth Bypass, Injection Awareness, XSS Prevention, Sensitive Data Exposure และ Security Headers อิงจาก validateApiKey middleware จริงของ My-Investment-Port และช่องโหว่ error-message-leak จริงที่เจอระหว่างเตรียมบทเรียน
ทดสอบว่าผู้ใช้ที่มีข้อจำกัดทางร่างกายใช้งานได้จริง — axe-core Scan, Alt Text, ARIA Label, Keyboard Navigation, Semantic Heading (เช็คลำดับจริงไม่ใช่แค่มี), Color Contrast อิงจาก aria-label/alt จริงในโปรเจก My-Investment-Port (InvestmentTimeline.jsx, AiTeamTab.jsx)
จับบั๊กที่ Functional Test มองไม่เห็น ด้วย Playwright toHaveScreenshot() — Masking เนื้อหาที่เปลี่ยนตลอดเวลา (ราคาหุ้น real-time จริงใน QuickBuyWatchlist.jsx), Responsive Check หลาย Viewport, Full Page Screenshot และ Threshold Tuning
เขียน GitHub Actions YAML ให้ test รันอัตโนมัติทุกครั้งที่ push — Trigger Config, Concurrency/Cancel-in-progress, Dependency Caching, Matrix Strategy, Advisory Job (continue-on-error) และ Artifact Upload (เอาหลักฐาน test fail ออกมาดู) อิงจาก .github/workflows/ci.yml จริงของ kouen-terminal
ออกแบบโครงสร้างโปรเจก automation ให้ไม่พังเมื่อโตขึ้น — Config, Custom Fixtures, โครงสร้างโฟลเดอร์, DRY Helper (กรณีศึกษาจริงจากการรีแฟคเตอร์คอร์สนี้เอง), Test Data Management และ Reporting
เริ่มจากมุมมองงาน QA (ทำไม test suite ถึงช้าลงเมื่อข้อมูลโต) แล้วขยายไปเรียน Big-O, Hash Table, Stack, Queue, Sorting (Merge Sort), Binary Search, Recursion, Tree, Graph (DFS/BFS), Heap และ Dynamic Programming แบบ CS พื้นฐานเต็มรูปแบบ