บทช่วยสอนวิธีการทดสอบ Scrum

⚡ สรุปอย่างชาญฉลาด

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

  • 🏃 Sprint วินัย: สั้น คงที่ Sprintการส่งมอบงานแต่ละส่วนใช้เวลา 2 ถึง 4 สัปดาห์ ผ่านการทดสอบและพร้อมสำหรับการปล่อยใช้งาน โดยสอดคล้องกับ Product Backlog
  • 📋 บทบาทที่กำหนดไว้: Product Owner, Scrum Master และทีมพัฒนาต่างมีส่วนรับผิดชอบร่วมกันในด้านคุณภาพ ความเร็ว และ Sprint ผลลัพธ์
  • 🧪 กิจกรรมของผู้ทดสอบ: ผู้ทดสอบจะประเมินความพยายาม สร้างชุดทดสอบการถดถอยอัตโนมัติ ดำเนินการตรวจสอบการยอมรับ และตรวจสอบผลลัพธ์ของการรวมระบบอย่างต่อเนื่องทุกๆ Sprint.
  • ผลงานคุณภาพ: รายการงานค้างของผลิตภัณฑ์ Sprint แผนภูมิ Backlog, Burndown และ Velocity ช่วยให้ผู้มีส่วนได้ส่วนเสียทุกฝ่ายสามารถวัดความคืบหน้าได้
  • 🛠️ เครื่องมือที่ทันสมัย: จิร่า, ลิเนียร์, Azure DevOps และ Asana ปรับปรุงการประชุมประจำวันให้มีประสิทธิภาพยิ่งขึ้น tracกษัตริย์ การจัดการข้อบกพร่อง และ Sprint รายงาน

วิธีการทดสอบแบบ Scrum

Scrum ในการทดสอบซอฟต์แวร์

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

การทดสอบการต่อสู้

การทดสอบการต่อสู้ การทดสอบ (Testing) คือการทดสอบที่ดำเนินการในวิธีการ Scrum เพื่อตรวจสอบว่าตรงตามข้อกำหนดของแอปพลิเคชันซอฟต์แวร์หรือไม่ โดยเกี่ยวข้องกับการตรวจสอบพารามิเตอร์ที่ไม่ใช่ฟังก์ชันการทำงาน เช่น ความปลอดภัย ความสามารถในการใช้งาน และประสิทธิภาพ กระบวนการนี้ไม่มีบทบาทโดยตรงของผู้ทดสอบ ดังนั้นโดยทั่วไปแล้วนักพัฒนาจะเป็นผู้ดำเนินการทดสอบด้วย Unit Test บางครั้งอาจจำเป็นต้องมีทีมทดสอบเฉพาะ ขึ้นอยู่กับลักษณะและความซับซ้อนของโครงการ ทีมงานสมัยใหม่มักจะประสานงานการทำงานนี้ใน Jira, Linear Toolkit Azure DevOps หรือ Asana.

คุณสมบัติที่สำคัญของวิธี Scrum

ต่อไปนี้คือคุณสมบัติหลักของ Scrum:

  • Scrum มีกำหนดการรอบการปล่อยเวอร์ชันที่สั้นและแน่นอน โดยมีขอบเขตที่ปรับเปลี่ยนได้ ซึ่งเรียกว่า Sprintsเพื่อตอบสนองความต้องการด้านการพัฒนาที่เปลี่ยนแปลงอย่างรวดเร็ว แต่ละเวอร์ชันอาจมีหลายเวอร์ชัน Sprintแต่ละโปรเจกต์ Scrum สามารถมีรอบการปล่อยเวอร์ชันได้หลายรอบ
  • ลำดับการทำซ้ำของ การประชุม กิจกรรม และเหตุการณ์สำคัญ.
  • แนวปฏิบัติในการทดสอบและการนำข้อกำหนดใหม่ไปใช้หรือที่เรียกว่า ผลกระทบจากพื้นที่เพื่อให้แน่ใจว่างานบางส่วนพร้อมสำหรับการเผยแพร่หลังจากแต่ละครั้ง Sprint.

Scrum มีพื้นฐานมาจาก 3 เสาหลักดังต่อไปนี้:

คุณสมบัติที่สำคัญของวิธี Scrum

เรามาดูกันทีละข้อเลยดีกว่า

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

ไม่มีบทบาทของผู้ทดสอบใน 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นี่คือแผนภูมิแท่งที่แสดงให้เห็นถึงการเปลี่ยนแปลงของผลผลิตของทีมเมื่อเวลาผ่านไป

ตัวชี้วัดเพิ่มเติมที่อาจเป็นประโยชน์ ได้แก่ การใช้เวลาตามกำหนดการ การใช้เวลาตามงบประมาณ เปอร์เซ็นต์ความคืบหน้าของธีม จำนวนเรื่องที่เสร็จสมบูรณ์ จำนวนเรื่องที่ยังเหลืออยู่ และอื่นๆ

คำถามที่พบบ่อย

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

Product Backlog คือรายการหลักที่จัดลำดับความสำคัญของเรื่องราวทั้งหมดที่อยู่ในความรับผิดชอบของ Product Owner Sprint Backlog คือกลุ่มงานย่อยที่ทีมรับปากว่าจะส่งมอบในระหว่างหนึ่งช่วงเวลา Sprint.

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

ทีม Scrum สมัยใหม่มักใช้ Jira, Linear เป็นเครื่องมือหลัก Azure DevOps หรือ Asana เพื่อจัดการ Product Backlog Sprint รายการงานค้าง ข้อบกพร่อง แผนภูมิแสดงความคืบหน้า และการอัปเดตการประชุมประจำวัน รวมอยู่ในพื้นที่ทำงานร่วมกันแห่งเดียว

แผนภูมิ Burndown แสดงภาพปริมาณที่เหลืออยู่ Sprint ทำงานแข่งกับเวลา ช่วยให้ Scrum Master และทีมคาดการณ์ได้ว่า... Sprint งานค้างจะแล้วเสร็จภายใน... Sprint กำหนดวันสิ้นสุดและตรวจจับความเสี่ยงได้ตั้งแต่เนิ่นๆ

Shift-การทดสอบด้านซ้ายหมายถึงการตรวจสอบคุณภาพตั้งแต่เนิ่นๆในแต่ละขั้นตอน Sprint แทนที่จะทำในตอนท้าย ผู้ทดสอบเขียนการตรวจสอบอัตโนมัติก่อนหรือควบคู่ไปกับการเขียนโค้ด ซึ่งจะช่วยตรวจจับข้อบกพร่องได้เร็วขึ้น ลดการทำงานซ้ำ และรักษา...ping ทุกขั้นตอนพร้อมสำหรับการเผยแพร่

ผู้ช่วย AI ใน Jira, Linear และ Azure DevOps จะเสนอการประมาณการเรื่องราว ระบุเรื่องราวที่มีความเสี่ยง สร้างเกณฑ์การยอมรับจากข้อความเรื่องราวของผู้ใช้ และคาดการณ์ Sprint ความจุโดยอิงจากข้อมูลความเร็วในอดีต

เครื่องมือที่ขับเคลื่อนด้วย AI จะค้นหาและแก้ไขข้อผิดพลาดโดยอัตโนมัติ สร้างการทดสอบการถดถอยจากเรื่องราวของผู้ใช้โดยอัตโนมัติ จัดลำดับความสำคัญของกรณีทดสอบที่มีความเสี่ยงสูง และวิเคราะห์ผลลัพธ์ของ CI เพื่อให้ทีม Scrum รักษาความครอบคลุมได้แม้ในช่วงเวลาสั้นๆ Sprint รอบ

สรุปโพสต์นี้ด้วย: