การศึกษากระบวนการประกันคุณภาพซอฟต์แวร์ในการพัฒนาซอฟต์แวร์
A Study of the Software Quality Assurance Process in Software Development
ผู้จัดทำ: นางสาววรัญญา ตะเพียรทอง
อาจารย์ที่ปรึกษา: อาจารย์ธิติพร ประมวน
ที่มาและความสำคัญ
ในปัจจุบันเทคโนโลยีดิจิทัลมีบทบาทสำคัญต่อธุรกิจธนาคาร ทั้งการให้บริการผ่านแอปพลิเคชันและเว็บไซต์เพื่อตอบสนองต่อผู้ใช้งาน กระบวนการทดสอบซอฟต์แวร์ (Software Testing) จึงเป็นขั้นตอนสำคัญที่ช่วยยืนยันว่าระบบทำงานได้สอดคล้องกับความต้องการ แม้การทดสอบแบบอัตโนมัติจะแพร่หลายขึ้น แต่การทดสอบแบบ Manual Testing ยังคงเป็นพื้นฐานสำคัญที่ขาดไม่ได้ โดยเฉพาะการตรวจสอบเชิงคุณสมบัติจากมุมมองของผู้ใช้งานจริง โครงงานนี้จึงนำเสนอประสบการณ์และกระบวนการทำงานในแผนก QA ภายใต้สภาพแวดล้อมการทำงานจริงขององค์กรขนาดใหญ่
วัตถุประสงค์
- ศึกษาบทบาทและลักษณะการทำงานของแผนก Quality Assurance (QA) ภายในกระบวนการพัฒนาระบบ (SDLC) ในรูปแบบ Agile (Scrum)
- วิเคราะห์ขั้นตอนการทดสอบระบบซอฟต์แวร์แบบ Manual Testing และการประกันคุณภาพโดยใช้เครื่องมือมาตรฐาน เช่น Jira, Zephyr และ MongoDB
- ฝึกฝนการออกแบบตารางความครอบคลุมการทดสอบ (Test Coverage Matrix) และกรณีทดสอบ (Test Cases) ให้สอดคล้องกับ Requirement
- ศึกษาการจัดการข้อบกพร่อง (Defect Management) และแนวทางการแก้ไขปัญหาเชิงเทคนิคในสภาพแวดล้อมการทำงานจริง
วิธีการดำเนินงาน
กระบวนการทำงานเป็นการปฏิบัติงานร่วมกับทีมพัฒนาภายใต้กรอบการทำงานแบบ Agile (Scrum) ผ่านกิจกรรมต่างๆ เช่น Daily Standup, Sprint Planning และ Refinement โดยมีขั้นตอนการทดสอบระบบดังนี้
- การศึกษา Requirement — วิเคราะห์ความต้องการทางธุรกิจ (Business Requirement) ผ่านระบบ Jira และเอกสารบน Confluence ศึกษาแบบจำลองหน้าจอและเส้นทางการใช้งาน (UI/UX) ผ่าน Figma
- การวิเคราะห์และวางแผนการทดสอบ — วิเคราะห์ภาพรวมของระบบร่วมกับทีม ประเมินความซับซ้อนของงาน และจัดลำดับความสำคัญของฟังก์ชันที่จะทดสอบให้สอดคล้องกับระยะเวลาของ Sprint
- การออกแบบการทดสอบ — จัดทำ Test Coverage Matrix (TCM) โดยแยกเส้นทางการใช้งานหลัก (Core Workflow) ออกมาอย่างชัดเจน และออกแบบ Test Cases อย่างละเอียดผ่าน Google Sheets หรือ Microsoft Excel ครอบคลุมทั้งการทดสอบกรณีปกติ (Positive Test) และกรณีเกิดข้อผิดพลาด (Negative Test) จากนั้นนำขึ้นโหลดเข้าระบบ Jira ผ่านปลั๊กอิน Zephyr
- การทดสอบระบบ — Manual Testing บน Web Browser (Chrome, Edge) และ Mobile Device (iOS, Android) ตามขั้นตอนที่ออกแบบไว้ ใช้ MongoDB ในการ Query ข้อมูลหลังบ้านเพื่อตรวจสอบความถูกต้อง และอัปเดตสถานะการทดสอบใน Daily Standup
- การจัดการข้อบกพร่องและติดตามผล — เมื่อพบข้อบกพร่อง จะทำการเปิด Defect ลงใน Jira พร้อมระบุรายละเอียดให้ครบถ้วน ประเมินและกำหนด Priority และ Severity ติดตามวงจรชีวิตของ Defect (Defect Lifecycle) อย่างต่อเนื่อง
ผลการดำเนินงาน
- เข้าร่วมกิจกรรม Scrum ครบทุกขั้นตอน (Planning, Standup, Refinement, Demo, Retro) ทำให้สามารถประสานงานกับ Developer ได้อย่างมีประสิทธิภาพ
- สามารถใช้ MongoDB ในการ Verify ข้อมูล และใช้ Zephyr ในการบันทึกและสรุปรายงานผลการทดสอบได้อย่างเป็นระบบ
- จัดทำกรณีทดสอบทั้งหมด 23 กรณี ครอบคลุม Positive Test (91.3%) และ Negative Test (8.7%) รองรับสถานะเอกสารมากกว่า 10 รูปแบบ
- ค้นพบข้อบกพร่องและติดตามการแก้ไขตามมาตรฐาน SLA โดยปัญหาระดับ Critical ได้รับการแก้ไขถาวรภายใน 2 วันตามที่องค์กรกำหนด
สรุปผลการดำเนินงาน
การปฏิบัติสหกิจศึกษาบรรลุวัตถุประสงค์ทั้งหมด โดยเกิดผลลัพธ์การพัฒนาใน 2 ด้านหลัก ดังนี้
ด้านเทคนิค (Hard Skills): ได้รับความเชี่ยวชาญในการวิเคราะห์ระบบ การออกแบบ TCM และ Test Cases อย่างมีมาตรฐาน การจัดการ Defect อย่างเป็นระบบ และสามารถใช้งานเครื่องมือระดับอุตสาหกรรมได้อย่างคล่องแคล่ว
ด้านสังคมและศักยภาพ (Soft Skills): ได้พัฒนาทักษะการทำงานเป็นทีมร่วมกับนักพัฒนา การสื่อสารเชิงเทคนิคอย่างมีประสิทธิภาพ การบริหารเวลาในแต่ละ Sprint และการคิดวิเคราะห์แก้ไขปัญหาอย่างเป็นระบบ