เกี่ยวกับเรา Hop
ในสายงาน Software Quality Assurance (QA) บทบาทหลักไม่ได้เป็นเพียงแค่การ "หาบั๊ก" (Bug) เท่านั้น แต่คือการ "ประกันคุณภาพ" ตลอดวงจรการพัฒนาซอฟต์แวร์ (SDLC) เพื่อให้มั่นใจว่าผลิตภัณฑ์ที่ส่งมอบให้ผู้ใช้งานมีประสิทธิภาพ ตรงตามความต้องการ และมีความเสถียร โดยสามารถสรุปภาพรวมงานได้ดังนี้ครับ:
ศึกษารายละเอียด (Requirements Analysis): อ่านเอกสารความต้องการ (Functional & Non-functional Requirements) เพื่อทำความเข้าใจว่าระบบควรทำงานอย่างไร
วางแผนการทดสอบ (Test Planning): กำหนดขอบเขตการทดสอบ, เครื่องมือที่ใช้ (Tooling), สภาพแวดล้อมที่ต้องใช้, และกำหนดการทดสอบ (Timeline)
ออกแบบเคสการทดสอบ (Test Case Design): สร้างขั้นตอนการทดสอบที่ครอบคลุม ทั้งในส่วนที่ระบบควรทำงานได้ปกติ (Positive Testing) และกรณีที่อาจเกิดข้อผิดพลาด (Negative Testing/Edge Cases)
Manual Testing: ทดสอบผ่านหน้าจอการใช้งานจริงเหมือนที่ผู้ใช้ทั่วไปใช้งาน
Automation Testing: เขียนสคริปต์อัตโนมัติเพื่อทดสอบซ้ำๆ (Regression Testing) เพื่อประหยัดเวลาและลดข้อผิดพลาดจากมนุษย์
การทดสอบเฉพาะทาง:
API Testing: ตรวจสอบการสื่อสารระหว่างระบบผ่าน API
Performance/Load Testing: ทดสอบว่าระบบรองรับผู้ใช้งานจำนวนมากได้หรือไม่
Security Testing: ตรวจสอบช่องโหว่พื้นฐานของระบบ
Logging Bugs: บันทึกข้อผิดพลาดที่พบลงในระบบจัดการงาน (เช่น Jira) โดยให้รายละเอียดที่ชัดเจน (ขั้นตอนการจำลองปัญหา, ผลลัพธ์ที่คาดหวัง, ผลลัพธ์จริง)
Communication: ประสานงานกับนักพัฒนา (Developer) เพื่อติดตามการแก้ไข และยืนยันผลหลังการแก้ไข (Re-testing)
Reporting: สรุปภาพรวมคุณภาพของซอฟต์แวร์ให้ทีมบริหารหรือผู้มีส่วนเกี่ยวข้องทราบก่อนการ Deploy ขึ้นระบบจริง
ร่วมใน Agile Scrum: เข้าร่วมประชุมรายวัน (Daily Stand-up), การวางแผนงาน (Sprint Planning) เพื่อให้คำแนะนำเชิงคุณภาพตั้งแต่ต้น
Continuous Improvement: เสนอแนวทางเพื่อลดช่องว่างของงาน (Gap Analysis) และเพิ่มประสิทธิภาพในการส่งมอบงานให้เร็วขึ้น (Velocity) โดยคงมาตรฐานคุณภาพไว้
เพื่อให้เห็นภาพที่ชัดเจนยิ่งขึ้นเกี่ยวกับ "หน้าที่ความรับผิดชอบ" (Responsibilities) ของตำแหน่ง QA ในชีวิตการทำงานจริง สามารถแบ่งออกเป็นระดับความรับผิดชอบได้ดังนี้ครับ:
การเฝ้าระวังคุณภาพตั้งแต่ต้นน้ำ: ต้องเข้าไปมีส่วนร่วมตั้งแต่ช่วงที่ทีมกำลังคุย Requirement เพื่อช่วยเช็คว่าสิ่งที่ลูกค้าอยากได้นั้นมีความเป็นไปได้เชิงเทคนิคแค่ไหน และมีช่องโหว่ตรงไหนบ้าง (Shift-Left Testing)
ความถูกต้องของข้อมูล (Data Integrity): ตรวจสอบว่าข้อมูลที่ถูกบันทึกลงฐานข้อมูลถูกต้องตาม Business Logic หรือไม่ (ตรงนี้ทักษะ SQL ที่คุณฝึกฝนจะสำคัญมาก)
ความเสถียรของระบบ (System Reliability): ประเมินว่าเมื่อมีการเปลี่ยนโค้ด (Update) ในส่วนหนึ่ง จะไปกระทบ (Break) ส่วนอื่นหรือไม่
สร้างความเข้าใจที่ตรงกัน: เป็นตัวกลางสื่อสารระหว่างทีม Business (ที่เข้าใจความต้องการลูกค้า) กับทีม Dev (ที่เขียนโค้ด) เพื่อให้แน่ใจว่าทุกคนเข้าใจตรงกัน
จัดการ Bug Life Cycle: ไม่ใช่แค่เจอแล้วแจ้ง แต่ต้องติดตามจนกว่า Bug นั้นจะถูกปิด (Closed) โดยมีการประเมินความสำคัญ (Severity/Priority) ของ Bug นั้นๆ เพื่อให้ทีม Dev แก้ไขสิ่งที่เร่งด่วนก่อน
จัดทำเอกสาร: จัดเตรียม Test Plan, Test Cases, และสรุปผลรายงานการทดสอบ (Test Summary Report) เพื่อเก็บเป็นฐานข้อมูลความรู้ให้กับทีม
การวิเคราะห์ผลกระทบ (Impact Analysis): เมื่อเจอบั๊กหรือต้องมีการเปลี่ยนแผนการทำงาน QA ต้องสามารถประเมินได้ว่า "ความเสี่ยง" ของการขึ้นระบบในสภาพนี้คืออะไร และคุ้มค่าที่จะเสี่ยงหรือไม่
ตัดสินใจในนาทีสุดท้าย (Go/No-Go Decision): ในช่วงก่อนปล่อยซอฟต์แวร์สู่ผู้ใช้จริง QA มักจะเป็นคนกลุ่มสุดท้ายที่จะให้ความเห็นว่า "ระบบนี้พร้อมใช้งานหรือไม่" โดยดูจากจำนวนบั๊กที่เหลืออยู่และความรุนแรงของมัน
หากมองเป็นกิจวัตรประจำวันของ QA:
เช้า: ประชุมสั้นๆ (Daily Stand-up) อัปเดตสถานะงานและปัญหาที่ติดขัด
สาย-บ่าย: ทดสอบฟีเจอร์ใหม่ (Manual/Automation), เขียน SQL Query เพื่อตรวจสอบข้อมูลใน Database, ประชุมคุยเรื่อง Requirement กับทีม
เย็น: สรุปผลการทดสอบ, บันทึกบั๊กที่พบในระบบ (Jira), และเตรียมแผนสำหรับงานที่จะทำในวันถัดไป
นี่คือพื้นฐานที่บริษัทส่วนใหญ่ต้องการ เพื่อให้คุณสามารถเริ่มงานและเข้าใจระบบงานได้ทันที:
ความเข้าใจกระบวนการพัฒนาซอฟต์แวร์ (SDLC/STLC): เข้าใจขั้นตอนตั้งแต่เริ่มวางแผนจนถึงการส่งมอบงาน (Deployment) และขั้นตอนการทดสอบซอฟต์แวร์ที่ถูกต้อง
ทักษะด้านฐานข้อมูล (Database/SQL): ความสามารถในการเขียน Query เพื่อดึงข้อมูล, ตรวจสอบความถูกต้องของข้อมูลหลังบ้าน หรือทำ Test Data Setup (นี่คือจุดแข็งที่คุณกำลังพัฒนาอยู่ ซึ่งถือเป็นแต้มต่อที่ดีมาก)
ความเข้าใจใน Automation Testing: แม้จะเป็นงานที่เน้น Manual แต่การมีความรู้พื้นฐานเกี่ยวกับ Framework หรือเครื่องมืออย่าง Playwright, Cypress, หรือ Selenium จะทำให้คุณเป็นผู้สมัครที่โดดเด่นมาก
ความเข้าใจเรื่อง API Testing: การใช้เครื่องมืออย่าง Postman ในการทดสอบการเชื่อมต่อของระบบ ซึ่งเป็นมาตรฐานสำคัญในงาน QA ยุคใหม่
การใช้เครื่องมือบริหารจัดการงาน (Bug Tracking Tools): ความคุ้นเคยกับเครื่องมืออย่าง Jira, Trello, หรือ Azure DevOps ในการบันทึกและติดตามสถานะของบั๊ก
ความสามารถด้านภาษาอังกฤษ: ส่วนใหญ่บริษัทเทคโนโลยีใช้ภาษาอังกฤษเป็นหลัก ทั้งในการเขียน Test Case, อ่านเอกสาร Requirement และการสื่อสารภายในทีม
ในสายงาน QA "ทัศนคติ" และ "วิธีการสื่อสาร" มีผลต่อความสำเร็จของงานสูงมาก:
ช่างสังเกตและละเอียดรอบคอบ (Attention to Detail): ความสามารถในการมองเห็นจุดที่คนอื่นมองข้าม หรือตั้งคำถามกับสิ่งที่ดูเหมือนจะปกติ
การสื่อสารที่มีประสิทธิภาพ (Communication Skills): คุณต้องเป็นตัวกลางที่สื่อสารกับ Dev ได้อย่างสร้างสรรค์ โดยไม่ทำให้เกิดความขัดแย้งเมื่อแจ้งเรื่องบั๊ก (ใช้ STAR Method ในการตอบคำถามสัมภาษณ์เพื่อเล่าถึงวิธีแก้ปัญหาอย่างเป็นระบบ)
กระบวนการคิดเชิงตรรกะ (Analytical Thinking): การคิดแบบ "ถ้า...แล้ว..." เพื่อออกแบบเคสการทดสอบที่ครอบคลุมทุกสถานการณ์
ความอดทนและใจเย็น (Patience): การทดสอบงานเดิมซ้ำๆ และการรอคอยการแก้ไขจากทีมพัฒนาต้องอาศัยความใจเย็นเป็นอย่างสูง
ความกระตือรือร้นในการเรียนรู้ (Adaptability): เทคโนโลยีเปลี่ยนเร็วมาก QA ต้องพร้อมที่จะอัปเดตเครื่องมือและเรียนรู้เทคนิคใหม่ๆ อยู่เสมอ
-
สวัสดิการ Hop
Super Admin
นาสนุ่น
ระดับฝึกงาน
เต็มเวลา
-
1 มิ.ย. 2569