บทช่วยสอนวิธีการทดสอบ Scrum
⚡ สรุปอย่างชาญฉลาด
การทดสอบแบบ Scrum คือแนวทางการตรวจสอบอย่างต่อเนื่องที่ฝังอยู่ในกระบวนการ Sprint วงจรการทำงานที่นักพัฒนา ผู้ทดสอบ และเจ้าของผลิตภัณฑ์ร่วมมือกันเพื่อตรวจสอบข้อกำหนดด้านฟังก์ชันและไม่ใช่ฟังก์ชัน พร้อมทั้งรักษาความโปร่งใส ความสามารถในการปรับตัว และการส่งมอบที่รวดเร็วตลอดวงจรชีวิตของโครงการ

Scrum ในการทดสอบซอฟต์แวร์
Scrum ในการทดสอบซอฟต์แวร์ Scrum คือระเบียบวิธีในการสร้างแอปพลิเคชันซอฟต์แวร์ที่ซับซ้อน โดยนำเสนอวิธีการแก้ปัญหาที่ง่ายสำหรับการทำงานที่ซับซ้อน Scrum ช่วยให้ทีมพัฒนาซอฟต์แวร์มุ่งเน้นไปที่ทุกแง่มุมของการพัฒนาผลิตภัณฑ์ซอฟต์แวร์ รวมถึงคุณภาพ ประสิทธิภาพ และความสามารถในการใช้งาน นอกจากนี้ยังให้ความโปร่งใส การตรวจสอบ และการปรับตัวระหว่างการพัฒนาซอฟต์แวร์เพื่อหลีกเลี่ยงความซับซ้อน
การทดสอบการต่อสู้
การทดสอบการต่อสู้ การทดสอบ (Testing) คือการทดสอบที่ดำเนินการในวิธีการ Scrum เพื่อตรวจสอบว่าตรงตามข้อกำหนดของแอปพลิเคชันซอฟต์แวร์หรือไม่ โดยเกี่ยวข้องกับการตรวจสอบพารามิเตอร์ที่ไม่ใช่ฟังก์ชันการทำงาน เช่น ความปลอดภัย ความสามารถในการใช้งาน และประสิทธิภาพ กระบวนการนี้ไม่มีบทบาทโดยตรงของผู้ทดสอบ ดังนั้นโดยทั่วไปแล้วนักพัฒนาจะเป็นผู้ดำเนินการทดสอบด้วย Unit Test บางครั้งอาจจำเป็นต้องมีทีมทดสอบเฉพาะ ขึ้นอยู่กับลักษณะและความซับซ้อนของโครงการ ทีมงานสมัยใหม่มักจะประสานงานการทำงานนี้ใน Jira, Linear Toolkit Azure DevOps หรือ Asana.
คุณสมบัติที่สำคัญของวิธี Scrum
ต่อไปนี้คือคุณสมบัติหลักของ Scrum:
- Scrum มีกำหนดการรอบการปล่อยเวอร์ชันที่สั้นและแน่นอน โดยมีขอบเขตที่ปรับเปลี่ยนได้ ซึ่งเรียกว่า Sprintsเพื่อตอบสนองความต้องการด้านการพัฒนาที่เปลี่ยนแปลงอย่างรวดเร็ว แต่ละเวอร์ชันอาจมีหลายเวอร์ชัน Sprintแต่ละโปรเจกต์ Scrum สามารถมีรอบการปล่อยเวอร์ชันได้หลายรอบ
- ลำดับการทำซ้ำของ การประชุม กิจกรรม และเหตุการณ์สำคัญ.
- แนวปฏิบัติในการทดสอบและการนำข้อกำหนดใหม่ไปใช้หรือที่เรียกว่า ผลกระทบจากพื้นที่เพื่อให้แน่ใจว่างานบางส่วนพร้อมสำหรับการเผยแพร่หลังจากแต่ละครั้ง Sprint.
Scrum มีพื้นฐานมาจาก 3 เสาหลักดังต่อไปนี้:
เรามาดูกันทีละข้อเลยดีกว่า
1. บทบาทในการต่อสู้
ในการทดสอบแบบ Scrum นั้นมีบทบาทหลักอยู่ 3 บทบาท ได้แก่ เจ้าของผลิตภัณฑ์ (Product Owner), ผู้เชี่ยวชาญ Scrum (Scrum Master) และทีมพัฒนา (Development Team) เรามาศึกษาบทบาทเหล่านี้โดยละเอียดกัน
| เจ้าของสินค้า | การต่อสู้โท | ทีม |
|---|---|---|
| เขาหรือเธอเป็นผู้กำหนดคุณลักษณะของผลิตภัณฑ์ | เขาหรือเธอทำหน้าที่บริหารทีมและดูแลประสิทธิภาพการทำงานของทีม | โดยปกติทีมจะมีสมาชิกประมาณ 5-9 คน |
| เจ้าของผลิตภัณฑ์จะเป็นผู้กำหนดวันวางจำหน่ายและคุณสมบัติที่เกี่ยวข้อง | บุคคลผู้นั้นมีหน้าที่ดูแลรายชื่อพื้นที่ที่ถูกปิดกั้นและขจัดอุปสรรคในการพัฒนา | ซึ่งรวมถึงนักพัฒนา นักออกแบบ และบางครั้งก็รวมถึงผู้ทดสอบด้วย |
| พวกเขาจัดลำดับความสำคัญของฟีเจอร์ต่างๆ โดยพิจารณาจากมูลค่าทางการตลาดและผลกำไรของผลิตภัณฑ์ | บุคคลผู้นี้ทำหน้าที่ประสานงานกับทุกบทบาทและทุกฝ่ายงาน | ทีมงานจัดการและวางแผนการทำงานด้วยตนเอง |
| บุคคลนั้นมีหน้าที่รับผิดชอบต่อผลกำไรของผลิตภัณฑ์ | เขาหรือเธอทำหน้าที่ปกป้องทีมจากการแทรกแซงจากภายนอก | มีสิทธิ์ที่จะดำเนินการทุกอย่างภายในขอบเขตของโครงการเพื่อให้บรรลุเป้าหมาย Sprint เป้าหมาย. |
| เขาหรือเธอสามารถยอมรับหรือปฏิเสธผลลัพธ์ของงานได้ | คำเชิญเข้าร่วมการประชุมประจำวัน (Daily Scrum) Sprint Revและการประชุมวางแผน | มีส่วนร่วมอย่างแข็งขันในพิธีกรรมประจำวัน |
2. สิ่งประดิษฐ์การต่อสู้
กระบวนการ Scrum ประกอบด้วย:
- เรื่องราวของผู้ใช้: คำอธิบายเหล่านี้เป็นคำอธิบายสั้นๆ เกี่ยวกับฟังก์ชันการทำงานของระบบที่กำลังทดสอบ ตัวอย่างเช่น สำหรับผู้ให้บริการประกันภัยคือ: “สามารถชำระเบี้ยประกันภัยผ่านระบบออนไลน์ได้”
- สินค้าคงค้าง: เป็นชุดเรื่องราวของผู้ใช้ที่รวบรวมไว้สำหรับผลิตภัณฑ์ที่ใช้ Scrum เจ้าของผลิตภัณฑ์เตรียมการ และดูแลรักษา Product Backlog โดย Product Owner จะเป็นผู้จัดลำดับความสำคัญ และทุกคนสามารถเพิ่มรายการลงใน Product Backlog ได้หากได้รับอนุมัติจาก Product Owner ทีมงานสมัยใหม่ดูแลรักษา Product Backlog ใน Jira, Linear Azure DevOps หรือ Asana.
- ปล่อย Backlog: การปล่อยเวอร์ชันใหม่ หมายถึงกรอบเวลาที่ใช้ในการปรับปรุงแก้ไขหลายขั้นตอน เจ้าของผลิตภัณฑ์ทำหน้าที่ประสานงาน โดยทำงานร่วมกับ Scrum Master เพื่อตัดสินใจว่าเรื่องราวใดควรได้รับการกำหนดเป้าหมายสำหรับการปล่อยเวอร์ชัน เรื่องราวใน Release Backlog คือเรื่องราวที่ตั้งเป้าหมายว่าจะต้องทำให้เสร็จสมบูรณ์ในเวอร์ชันนั้นๆ
- Sprints: เป็นการกำหนดระยะเวลาที่แน่นอนสำหรับการทำ User Story ให้เสร็จสมบูรณ์ ซึ่งตกลงกันโดย Product Owner และทีมพัฒนา โดยปกติแล้วจะใช้เวลาประมาณ 2-4 สัปดาห์
- Sprint งานค้าง: เป็นชุดเรื่องราวของผู้ใช้ที่จะต้องทำให้เสร็จสมบูรณ์ภายในระยะเวลาหนึ่ง Sprint. ในระหว่าง Sprint งานค้าง คือ งานที่ไม่มีการมอบหมายให้ใคร และทีมจะลงทะเบียนรับงานเอง งานค้างนี้เป็นของทีมและบริหารจัดการโดยทีมเอง โดยมีการอัปเดตปริมาณงานที่เหลืออยู่ทุกวัน มันคือรายการของงานที่ต้องทำให้เสร็จภายในระยะเวลาที่กำหนด Sprint.
- รายการบล็อก: นี่คือรายการของอุปสรรคและการตัดสินใจที่ยังไม่ได้ดำเนินการ ซึ่งเป็นความรับผิดชอบของ Scrum Master และจะได้รับการอัปเดตทุกวัน
- แผนภูมิเบิร์นดาวน์: แผนภูมิ Burndown แสดงถึงความคืบหน้าโดยรวมของงานที่อยู่ระหว่างดำเนินการและงานที่เสร็จสมบูรณ์ตลอดกระบวนการ โดยแสดงเรื่องราวและฟีเจอร์ที่ยังไม่เสร็จสมบูรณ์ในรูปแบบกราฟ
3. พิธีการ (กระบวนการ) ใน Scrum
- Sprint การวางแผน: A Sprint เริ่มต้นด้วยการที่ทีมนำเรื่องราวจาก Release Backlog เข้าสู่ Sprint Backlog คือรายการที่ Scrum Master ดูแลอยู่ ผู้ทดสอบจะประเมินความพยายามในการทดสอบเรื่องราวต่างๆ ใน Backlog นี้ Sprint งานค้าง.
- สแตนด์อัพรายวัน: การประชุม Daily Stand-up หรือเรียกอีกอย่างว่า Daily Scrum นั้น จัดขึ้นโดย Scrum Master และใช้เวลาประมาณ 15 นาที ในระหว่างการประชุม Daily Stand-up สมาชิกจะพูดคุยเกี่ยวกับงานที่ทำเสร็จในวันก่อนหน้า งานที่วางแผนไว้สำหรับวันถัดไป และปัญหาที่พบเจอในระหว่างวัน Sprintความคืบหน้าของทีมคือ tracอยู่ที่นี่
- Sprint Revมุมมอง / ย้อนหลัง: การประชุมนี้จัดโดย Scrum Master ใช้เวลาประมาณ 2-4 ชั่วโมง และเป็นการพูดคุยเกี่ยวกับสิ่งที่ทีมได้ทำสำเร็จไปแล้วในช่วงที่ผ่านมา Sprint และบทเรียนที่ได้รับคืออะไร
เมื่อกำหนดบทบาท สิ่งประดิษฐ์ และพิธีการของ Scrum แล้ว สิ่งสำคัญคือต้องชี้แจงให้ชัดเจนว่าผู้ทดสอบมีบทบาทอย่างไรในกรอบการทำงานนี้
บทบาทของผู้ทดสอบใน Scrum
ไม่มีบทบาทของผู้ทดสอบใน Scrum โดยปกติแล้ว นักพัฒนาจะทำการทดสอบโดยใช้ Unit Test ในขณะที่ Product Owner ก็มีส่วนร่วมในกระบวนการทดสอบในแต่ละขั้นตอนด้วยเช่นกัน Sprint. บางโครงการ Scrum อาจมีทีมทดสอบโดยเฉพาะ ขึ้นอยู่กับลักษณะและความซับซ้อนของโครงการ.
คำถามต่อไปคือ ผู้ทดสอบทำอะไรใน Scrum? ส่วนต่อไปนี้จะตอบคำถามนั้น
กิจกรรมการทดสอบใน Scrum
ในระหว่างขั้นตอนต่างๆ ของ Scrum ผู้ทดสอบจะทำกิจกรรมต่อไปนี้:
Sprint การวางแผน
- In Sprint ในการวางแผน ผู้ทดสอบควรเลือกเรื่องราวของผู้ใช้จากรายการงานที่ต้องทำของผลิตภัณฑ์ (Product Backlog) ที่ควรนำมาทดสอบ
- ในฐานะผู้ทดสอบ เขาหรือเธอควรตัดสินใจว่าควรใช้เวลา (ประมาณการความพยายาม) กี่ชั่วโมง เพื่อเสร็จสิ้น การทดสอบสำหรับเรื่องราวของผู้ใช้ที่เลือกแต่ละเรื่อง
- ในฐานะผู้ทดสอบ เขาหรือเธอต้องรู้ว่าอะไร Sprint เป้าหมายคือ...
- ในฐานะผู้ทดสอบ คุณต้องมีส่วนร่วมในกระบวนการจัดลำดับความสำคัญ
Sprint
- สนับสนุนนักพัฒนาในการทดสอบหน่วย (Unit Testing)
- ทดสอบ User Story เมื่อเสร็จสมบูรณ์แล้ว ดำเนินการทดสอบแล้ว ในห้องปฏิบัติการที่ทั้งผู้ทดสอบและนักพัฒนาทำงานร่วมกันอย่างใกล้ชิด ข้อบกพร่องจะถูกบันทึกไว้ใน เครื่องมือการจัดการข้อบกพร่อง และ tracตรวจสอบเป็นประจำทุกวัน ข้อบกพร่องสามารถนำเสนอและวิเคราะห์ได้ในระหว่างการประชุม Scrum และจะทำการทดสอบซ้ำทันทีที่พบข้อบกพร่อง ได้รับการแก้ไข และนำไปใช้งานเพื่อทดสอบ ทีม Scrum สมัยใหม่มักใช้ Jira, Linear, Azure DevOps หรือ Asana สำหรับขั้นตอนการทำงานนี้
- ในฐานะผู้ทดสอบ เขาหรือเธอจะต้องเข้าร่วมการประชุมประจำวันทุกครั้งเพื่อแสดงความคิดเห็น
- ในฐานะผู้ทดสอบ เขาหรือเธอสามารถนำรายการงานค้างใดๆ ที่ไม่สามารถดำเนินการให้แล้วเสร็จในปัจจุบันมาเสนอได้ Sprint แล้วใส่เข้าไปในช่องถัดไป Sprint.
- ผู้ทดสอบมีหน้าที่รับผิดชอบในการพัฒนาping สคริปต์การทำงานอัตโนมัติ เขาหรือเธอวางแผนกำหนดตารางการทดสอบอัตโนมัติด้วยสคริปต์ ระบบบูรณาการอย่างต่อเนื่อง (CI)การทดสอบอัตโนมัติมีความสำคัญมากขึ้นเนื่องจากระยะเวลาส่งมอบงานที่สั้น การทดสอบอัตโนมัติสามารถทำได้โดยใช้เครื่องมือโอเพนซอร์สหรือเครื่องมือแบบเสียเงินต่างๆ ที่มีอยู่ในตลาด ซึ่งพิสูจน์แล้วว่ามีประสิทธิภาพในการทำให้มั่นใจว่าทุกสิ่งที่ต้องทดสอบนั้นครอบคลุมครบถ้วน การครอบคลุมการทดสอบที่เพียงพอสามารถทำได้ด้วยการสื่อสารอย่างใกล้ชิดภายในทีม
- Revตรวจสอบผลลัพธ์การทำงานอัตโนมัติของ CI และส่งรายงานไปยังผู้มีส่วนได้ส่วนเสีย
- ดำเนินการทดสอบที่ไม่เกี่ยวข้องกับการทำงานหลักสำหรับเรื่องราวของผู้ใช้ที่ได้รับการอนุมัติแล้ว
- ประสานงานกับลูกค้าและเจ้าของผลิตภัณฑ์เพื่อกำหนดเกณฑ์การยอมรับสำหรับการทดสอบการยอมรับ
- ในตอนท้ายของ Sprintนอกจากนี้ ผู้ทดสอบยังทำการทดสอบการยอมรับ (UAT) ในบางกรณี และยืนยันความสมบูรณ์ของการทดสอบสำหรับระบบปัจจุบันด้วย Sprint.
Sprint มีผลย้อนหลัง
- ในฐานะผู้ทดสอบ เขาหรือเธอจะหาให้เจอว่าอะไรผิดพลาดและอะไรถูกต้องในกระบวนการปัจจุบัน Sprint.
- ในฐานะผู้ทดสอบ เขาหรือเธอจะระบุบทเรียนที่ได้รับและแนวปฏิบัติที่ดีที่สุด
เมื่อกิจกรรมการทดสอบเหล่านี้เริ่มขึ้นแล้วในแต่ละครั้ง Sprintทีมงานต้องอาศัยตัวชี้วัดที่ชัดเจนในการสื่อสารความคืบหน้า ซึ่งการรายงานผลการทดสอบจึงมีความสำคัญอย่างยิ่ง
รายงานการทดสอบ
การรายงานตัวชี้วัดการทดสอบแบบ Scrum ช่วยให้ผู้มีส่วนได้ส่วนเสียมองเห็นภาพรวมของโครงการได้ชัดเจนยิ่งขึ้น ตัวชี้วัดที่รายงานช่วยให้ทีมสามารถวิเคราะห์ความคืบหน้าและวางแผนกลยุทธ์ในอนาคตเพื่อปรับปรุงผลิตภัณฑ์ได้ เครื่องมือต่างๆ เช่น Jira, Linear, Azure DevOps และ Asana ระบบจะสร้างรายงานเหล่านี้โดยอัตโนมัติเป็นจำนวนมาก โดยมีตัวชี้วัดสองอย่างที่ใช้บ่อยในการรายงาน
แผนภูมิเบิร์นดาวน์: ในแต่ละวัน Scrum Master จะบันทึกปริมาณงานที่เหลืออยู่โดยประมาณ Sprintนี่คือแผนภูมิ Burndown ที่อัปเดตทุกวัน
แผนภูมิ Burndown แสดงภาพรวมความคืบหน้าของโครงการอย่างรวดเร็ว แผนภูมินี้ประกอบด้วยข้อมูลต่างๆ เช่น ปริมาณงานทั้งหมดในโครงการที่ต้องทำให้เสร็จ ปริมาณงานที่เสร็จสมบูรณ์ในแต่ละช่วงเวลา Sprint, และอื่น ๆ
กราฟประวัติความเร็ว: กราฟแสดงประวัติความเร็วจะทำนายความเร็วที่ทีมจะทำได้ในแต่ละช่วง Sprintนี่คือแผนภูมิแท่งที่แสดงให้เห็นถึงการเปลี่ยนแปลงของผลผลิตของทีมเมื่อเวลาผ่านไป
ตัวชี้วัดเพิ่มเติมที่อาจเป็นประโยชน์ ได้แก่ การใช้เวลาตามกำหนดการ การใช้เวลาตามงบประมาณ เปอร์เซ็นต์ความคืบหน้าของธีม จำนวนเรื่องที่เสร็จสมบูรณ์ จำนวนเรื่องที่ยังเหลืออยู่ และอื่นๆ




