การทดสอบการถดถอยคืออะไร?

การทดสอบการถดถอยคืออะไร

การทดสอบการถดถอยคืออะไร?

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

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

ทำไมต้องทดสอบการถดถอย?

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

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

เราจะทำการทดสอบการถดถอยได้เมื่อใด

ต่อไปนี้เป็นสถานการณ์เมื่อคุณสามารถใช้กระบวนการทดสอบการถดถอยได้

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

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

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

เมื่อปัญหาด้านประสิทธิภาพได้รับการแก้ไขแล้ว: หลังจากแก้ไขปัญหาด้านประสิทธิภาพแล้ว กระบวนการทดสอบการถดถอยจะถูกเรียกใช้เพื่อดูว่าส่งผลต่อการทดสอบการทำงานอื่นๆ ที่มีอยู่หรือไม่

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

วิธีทำการทดสอบการถดถอยในการทดสอบซอฟต์แวร์

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

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

สามารถใช้เทคนิคการทดสอบการถดถอยต่างๆ เพื่อการประกันคุณภาพซอฟต์แวร์ที่มีประสิทธิภาพ:

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

ทดสอบซ้ำทั้งหมด

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

การเลือกการทดสอบการถดถอย

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

การจัดลำดับความสำคัญของกรณีทดสอบ

การจัดลำดับความสำคัญของกรณีทดสอบขึ้นอยู่กับผลกระทบทางธุรกิจ ความวิกฤต และการทดสอบการทำงานที่ใช้บ่อย นอกจากนี้ การจัดลำดับความสำคัญของกรณีทดสอบตามลำดับความสำคัญจะช่วยลดความพยายามในการดำเนินการทดสอบการถดถอยได้อย่างมาก

การเลือกกรณีทดสอบสำหรับการทดสอบการถดถอย

จากข้อมูลอุตสาหกรรมพบว่าข้อบกพร่องจำนวนมากที่ลูกค้ารายงานมีสาเหตุมาจากการแก้ไขข้อบกพร่องในนาทีสุดท้าย ซึ่งส่งผลให้เกิดผลข้างเคียง ดังนั้น การเลือกทาน กรณีทดสอบ สำหรับการทดสอบการถดถอยไม่ใช่เรื่องง่าย

สามารถสร้างชุดทดสอบการถดถอยที่มีประสิทธิภาพได้โดยการเลือกประเภทกรณีทดสอบต่อไปนี้

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

เครื่องมือทดสอบการถดถอย

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

ต่อไปนี้เป็นเครื่องมือที่สำคัญที่สุดที่ใช้สำหรับการทดสอบอัตโนมัติทั้งแบบฟังก์ชันและการถดถอยในวิศวกรรมซอฟต์แวร์:

1) ทดสอบความเข้มงวด

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

ทดสอบความเข้มงวด

สิ่งอำนวยความสะดวก:

  • รุ่นสาธารณะฟรีตลอดไป
  • กรณีทดสอบเป็นภาษาอังกฤษ
  • ผู้ใช้ไม่จำกัดและการทดสอบไม่จำกัด
  • วิธีที่ง่ายที่สุดในการเรียนรู้ระบบอัตโนมัติ
  • เครื่องบันทึกขั้นตอนเว็บ
  • การบูรณาการกับ CI/CD และการจัดการกรณีทดสอบ
  • การทดสอบอีเมล์และ SMS
  • ขั้นตอนเว็บ + มือถือ + API ในการทดสอบครั้งเดียว

เยี่ยมชม testRigor >>


2) เรื่อง 7

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

เรื่อง 7

สิ่งอำนวยความสะดวก:

  • ผสานรวมกับเครื่องมือ DevOps/Agile ได้อย่างง่ายดายโดยใช้ปลั๊กอินแบบเนทีฟ การผสานรวมในแอป และ API แบบเปิด
  • การดำเนินการแบบขนานระดับสูงในระบบคลาวด์หรือภายในองค์กรพร้อมการรักษาความปลอดภัยระดับองค์กร
  • การรายงานข้อบกพร่องที่ยืดหยุ่น พร้อมการจับภาพวิดีโอผลลัพธ์
  • การกำหนดราคาที่เรียบง่ายและไม่ต้องวัดปริมาณ ช่วยให้สามารถคาดการณ์ทางการเงินได้
  • สอดคล้องตามมาตรฐาน SOC2 Type2

ไปที่หัวเรื่อง7 >>

Selenium: Selenium เป็นเครื่องมือโอเพ่นซอร์สที่ใช้มากที่สุดสำหรับการทำงานอัตโนมัติของเว็บแอปพลิเคชัน Selenium สามารถใช้สำหรับการทดสอบการถดถอยบนเบราว์เซอร์ รองรับภาษาการเขียนโปรแกรมเช่น Javaทับทิม Pythonฯลฯ

ผู้เชี่ยวชาญด้านการทดสอบอย่างรวดเร็ว (QTP): HP Quick Test Professional เป็นซอฟต์แวร์อัตโนมัติที่ออกแบบมาเพื่อทำให้กรณีทดสอบการทำงานและการถดถอยเป็นแบบอัตโนมัติ ใช้ภาษาสคริปต์ VB สำหรับการทำงานอัตโนมัติ มันเป็นเครื่องมือที่ขับเคลื่อนด้วยข้อมูลและอิงตามคำหลัก

เครื่องทดสอบฟังก์ชันเชิงเหตุผล (RFT): IBMตัวทดสอบฟังก์ชันเชิงตรรกศาสตร์ของ a Java เครื่องมือที่ใช้สำหรับทำการทดสอบกรณีของแอปพลิเคชันซอฟต์แวร์โดยอัตโนมัติ โดยส่วนใหญ่ใช้เพื่อทำการทดสอบการถดถอยโดยอัตโนมัติ และยังรวมเข้ากับ Rational Test Manager ได้อีกด้วย

ประเภทของการทดสอบการถดถอย

ประเภทของการทดสอบการถดถอย

การทดสอบการถดถอยประเภทต่างๆ มีดังนี้

1) การทดสอบการถดถอยหน่วย (URT)

นี่เป็นแนวทางที่มุ่งเน้นมาก โดยมีเพียงส่วนที่แก้ไขเท่านั้นที่จะอยู่ภายใต้การทดสอบการถดถอย แทนที่จะเป็นขอบเขตผลกระทบ ด้วยวิธีนี้ ส่วนอื่นๆ ของโมดูลยังคงไม่ได้รับผลกระทบ

ตัวอย่าง

ในฐานะที่เป็น ตัวอย่าง ใน Build 1 พบปัญหาและรายงานไปยังนักพัฒนา

สมมติว่ามันเป็นข้อบกพร่องในฟังก์ชันการเข้าสู่ระบบ ดังนั้นนักพัฒนาจึงทำการแก้ไข เพิ่มการแก้ไขข้อบกพร่องใน Build 2 และส่งไป ทีมทดสอบจะตรวจสอบเฉพาะฟีเจอร์การเข้าสู่ระบบทำงานตามที่คาดไว้ แทนที่จะตรวจสอบฟีเจอร์อื่นๆ

2) การทดสอบการถดถอยระดับภูมิภาค (RRT)

ในการทดสอบการถดถอยระดับภูมิภาค จะมีการทดสอบพื้นที่การดัดแปลงและผลกระทบ พื้นที่นี้ได้รับการตรวจสอบเพื่อดูว่าโมดูลที่เชื่อถือได้ใดๆ อาจได้รับผลกระทบจากการเปลี่ยนแปลงหรือไม่

ตัวอย่าง: ในตัวอย่างนี้ ในบิลด์แรก โมดูล A, B, C และ D จะถูกส่งไปทดสอบโดยนักพัฒนา ผู้ทดสอบพบข้อบกพร่องในโมดูล B ดังนั้นแอปพลิเคชันจะถูกส่งกลับไปยังนักพัฒนาเพื่อแก้ไขข้อบกพร่อง

เมื่อนักพัฒนาแก้ไขจุดบกพร่องในรุ่นที่สองในโมดูล B แล้ว จะถูกส่งไปยังวิศวกรทดสอบอีกครั้ง วิศวกรทดสอบเรียนรู้ว่าการซ่อมโมดูล B ส่งผลต่อ A และ C

ดังนั้นผู้ทดสอบจะตรวจสอบการแก้ไขของโมดูล B ในรุ่นที่สอง จากนั้น ทดสอบขอบเขตผลกระทบใน A และ C เพื่อระบุว่าได้รับผลกระทบอย่างไร

หมายเหตุ ในขณะที่การทดสอบการถดถอย มีปัญหาที่เป็นไปได้ที่อาจเกิดปัญหาด้านล่างนี้

ปัญหา:

  • ในบิลด์ 1 ไคลเอนต์มักจะขอการเปลี่ยนแปลง การแก้ไข และเพิ่มคุณสมบัติ
  • คำขอนี้จะถูกส่งไปยังทั้งทีมพัฒนาและทีมทดสอบ
  • จากนั้นทีมพัฒนาจะดำเนินการแก้ไข จากนั้นวิศวกรทดสอบจะส่งอีเมลถึงลูกค้าเพื่อแจ้งให้ทราบถึงผลกระทบที่อาจเกิดขึ้นจากการแก้ไข
  • จากนั้นลูกค้าเป้าหมายจะรวบรวมรายชื่อพื้นที่ที่ได้รับผลกระทบจากลูกค้า นักพัฒนา และแผนกทดสอบ
  • จากนั้นรายการผลกระทบจะถูกส่งไปยังวิศวกรทดสอบซึ่งจะเริ่มการทดสอบการถดถอย

วิธีทดสอบประเภทนี้ทำให้เกิดช่องว่างในการสื่อสาร นักพัฒนาและลูกค้าไม่สามารถกลับไปดูอีเมลได้ตลอดเวลา ดังนั้นจึงไม่มีภาพรวมที่เหมาะสมของพื้นที่ที่มีผลกระทบ

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

จะมีรอบทดสอบเพื่อค้นหาผลกระทบเพื่อให้สามารถสร้างรายการผลกระทบได้ สายวัดทดสอบจะเพิ่มจำนวนพื้นที่สูงสุดในบริเวณที่ได้รับผลกระทบในรายการนี้

ด้านล่างนี้คือลักษณะของกระบวนการ:

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

3) การทดสอบการถดถอยแบบเต็ม (FRT):

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

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

ตัวอย่างเช่น บิลด์ที่ 4 เป็นเวอร์ชันสุดท้ายก่อนการเปิดตัว ดังนั้นในโครงสร้างนี้ ทีมทดสอบจะทำการทดสอบผลิตภัณฑ์หรือทดสอบซ้ำทั้งหมด แทนที่จะเป็นเพียงพื้นที่รับแรงกระแทกหรือคุณสมบัติ ซึ่งจะดำเนินการหลังจากการดัดแปลงและการทดสอบในบิลด์ 1, 2 และ 3

หากต้องการดำเนินการทดสอบการถดถอยให้เสร็จสมบูรณ์ คุณต้องพิจารณาสถานการณ์เหล่านี้:

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

4) การทดสอบการถดถอยแบบแก้ไข:

การทดสอบนี้เสร็จสิ้นเมื่อไม่มีการแก้ไขคุณลักษณะต่างๆ การทดสอบดังกล่าวสามารถทำได้กับกรณีที่มีอยู่

5) ทดสอบการทดสอบการถดถอยทั้งหมดอีกครั้ง:

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

การทดสอบนี้จะเสร็จสิ้นเมื่อการทดสอบการถดถอยอื่นๆ ทั้งหมดไม่สามารถระบุสาเหตุของปัญหาได้

6) การทดสอบการถดถอยแบบเลือก:

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

7) การทดสอบการถดถอยแบบก้าวหน้า:

การทดสอบการถดถอยประเภทนี้จะสร้างผลลัพธ์ที่สำคัญเมื่อทำการเปลี่ยนแปลงเฉพาะในโปรแกรมและสร้างกรณีการทดสอบใหม่

ช่วยให้แน่ใจว่าไม่มีส่วนประกอบจากเวอร์ชันเก่าที่ได้รับผลกระทบในเวอร์ชันล่าสุด

8) การทดสอบการถดถอยบางส่วน:

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

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

การทดสอบการถดถอยอัตโนมัติ

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

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

ขั้นตอน 1) ทีมทดสอบด้วยตนเองจะตรวจสอบข้อกำหนดทั้งหมดและระบุภูมิภาคที่ได้รับผลกระทบ หลังจากกระบวนการนี้ พวกเขาจะส่งต่อชุดการทดสอบความต้องการไปยังทีมระบบอัตโนมัติหรือวิศวกรระบบอัตโนมัติ

ขั้นตอน 2) ทีมทดสอบด้วยตนเองเริ่มทดสอบโมดูลใหม่ในขณะที่ทีมทดสอบระบบอัตโนมัติเขียนสคริปต์และทำให้กรณีทดสอบเป็นแบบอัตโนมัติ

ขั้นตอน 3) ก่อนที่จะใช้วิธีการทดสอบการถดถอยนี้ ทีมระบบอัตโนมัติจะระบุว่ากรณีใดบ้างที่จะสนับสนุนระบบอัตโนมัติ

ขั้นตอน 4) โดยจะแปลงการทดสอบการถดถอยเหล่านั้นเป็นสคริปต์ ขึ้นอยู่กับว่ากรณีใดที่สามารถทำให้เป็นแบบอัตโนมัติได้

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

ขั้นตอน 6) เมื่อสคริปต์ทดสอบเสร็จสมบูรณ์ ทีมระบบอัตโนมัติจะดำเนินการสคริปต์เหล่านั้นในแอปใหม่

ขั้นตอน 7) หลังจากดำเนินการ ผลลัพธ์จะแจ้งให้ทราบว่าการทดสอบผ่านหรือไม่ผ่าน

ขั้นตอน 8) หากการทดสอบล้มเหลว จะมีการตรวจสอบอีกครั้งโดยใช้วิธีการทดสอบด้วยตนเอง และหากมีปัญหาอยู่ จะมีการรายงานไปยังนักพัฒนาที่เกี่ยวข้อง

หมายเหตุ หลังจากแก้ไขข้อบกพร่องแล้ว ปัญหาและพื้นที่ผลกระทบจะถูกส่งไปยังผู้ทดสอบด้วยตนเองเพื่อทำการทดสอบซ้ำ และทีมระบบอัตโนมัติจะรันสคริปต์อีกครั้ง

ขั้นตอน 9) กระบวนการนี้จะดำเนินต่อไปจนกว่าคุณลักษณะการถดถอยที่เพิ่มใหม่ทั้งหมดจะได้รับสถานะผ่าน

ข้อดีของการทดสอบการถดถอยอัตโนมัติมีดังนี้

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

จะเลือกกรณีทดสอบสำหรับการทดสอบการถดถอยได้อย่างไร

ต่อไปนี้คือวิธีที่คุณสามารถเลือกกรณีที่เหมาะสมสำหรับการทดสอบการถดถอย

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

แนวทางปฏิบัติที่ดีที่สุดในการทดสอบการถดถอย

ด้านล่างนี้เป็นแนวทางปฏิบัติหลักบางประการที่คุณควรปฏิบัติตามเมื่อทำการทดสอบการถดถอย

อัตโนมัติทุกที่ที่เป็นไปได้

การทดสอบการถดถอยอัตโนมัติช่วยลดความพยายามในการทดสอบและทำให้สามารถดำเนินการกรณีทดสอบจำนวนมากได้อย่างรวดเร็ว

การบูรณาการอย่างต่อเนื่อง

การรวมการทดสอบการถดถอยเข้ากับไปป์ไลน์ CI/CD ช่วยให้มั่นใจได้ว่าการทดสอบจะดำเนินการโดยอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลงในโค้ดเบส

การเลือกกรณีทดสอบ

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

การดำเนินการปกติ

ดำเนินการทดสอบการถดถอยเป็นประจำ โดยเฉพาะอย่างยิ่งหลังจากเปลี่ยนโค้ดทุกครั้ง ซึ่งจะช่วยในการระบุปัญหาตั้งแต่เนิ่นๆ ในกระบวนการพัฒนา

ทดสอบการจัดการข้อมูล

ตรวจสอบให้แน่ใจว่าข้อมูลการทดสอบที่ใช้สำหรับการทดสอบการถดถอยมีความสอดคล้องและสามารถจัดการได้ เนื่องจากปัญหาเกี่ยวกับข้อมูลอาจส่งผลต่อผลการทดสอบ

การจัดการสิ่งแวดล้อม

รักษาสภาพแวดล้อมการทดสอบให้สอดคล้องและทำซ้ำได้ ซึ่งรวมถึงการใช้ระบบปฏิบัติการ เบราว์เซอร์ และการกำหนดค่าอุปกรณ์แบบเดียวกันที่ใช้ในการผลิต

บันทึกและติดตามข้อบกพร่อง

ข้อบกพร่องใดๆ ที่พบในระหว่างการทดสอบการถดถอยควรได้รับการบันทึก ติดตาม และจัดการ จัดลำดับความสำคัญของการแก้ปัญหาตามความรุนแรง

ความสามารถในเรอุส

สร้างสคริปต์ทดสอบและข้อมูลการทดสอบที่ใช้ซ้ำได้เพื่อลดความซ้ำซ้อนและปรับปรุงการบำรุงรักษา

การทดสอบการถดถอยและการจัดการการกำหนดค่า

การจัดการการกำหนดค่าระหว่างการทดสอบการถดถอยกลายมาเป็นสิ่งจำเป็นในสภาพแวดล้อมแบบคล่องตัวซึ่งมีการปรับเปลี่ยนโค้ดอย่างต่อเนื่อง เพื่อให้แน่ใจว่าการทดสอบการถดถอยมีประสิทธิผล ควรปฏิบัติตามสิ่งต่อไปนี้:

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

ความแตกต่างระหว่างการทดสอบซ้ำและการทดสอบการถดถอย

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

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

ด้านล่างนี้คือข้อแตกต่างหลักระหว่างการทดสอบทั้งสองนี้:

การทดสอบซ้ำกับการทดสอบการถดถอย

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

ตรวจสอบรายการความแตกต่างทั้งหมดด้วย Good Farm Animal Welfare Awards.

ข้อดีและข้อเสียของการทดสอบการถดถอย

ข้อดี

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

ข้อเสีย

  • ควรดำเนินการทุกครั้งที่มีการเปลี่ยนแปลงเล็กน้อย เนื่องจากการเปลี่ยนแปลงเพียงเล็กน้อยอาจทำให้เกิดปัญหาในโมดูลที่มีอยู่ได้
  • การทดสอบนี้อาจใช้เวลานานเมื่อดำเนินการด้วยตนเอง ซึ่งต้องมีการทดสอบซ้ำ

ความท้าทายในการทดสอบการถดถอย

ความท้าทายในการทดสอบการถดถอย

ต่อไปนี้เป็นปัญหาการทดสอบหลักสำหรับการทดสอบการถดถอย:

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

การประยุกต์ใช้ตัวอย่างการทดสอบการถดถอยในทางปฏิบัติด้วยวิดีโอ

คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้

ตัวอย่างการทดสอบการถดถอย – Amazon

พิจารณายักษ์ใหญ่อีคอมเมิร์ซ Amazonซึ่งเป็นธุรกิจที่มีมูลค่าหลายพันล้านดอลลาร์ซึ่งต้องอาศัยเว็บไซต์เพื่อสร้างรายได้ การทดสอบการถดถอยมีบทบาทสำคัญอย่างยิ่งในการรักษาฟังก์ชันการทำงาน ความน่าเชื่อถือ และประสิทธิภาพ

มาดูสถานการณ์การเพิ่มหมวดหมู่ผลิตภัณฑ์ใหม่กัน

ลองคิดดูว่า Amazon ตัดสินใจขยายการนำเสนอผลิตภัณฑ์โดยเปิดตัวหมวดหมู่ใหม่ที่เรียกว่า “อุปกรณ์สมาร์ทโฮม” ควบคู่กับหมวดหมู่ที่มีอยู่แล้วอย่าง “อิเล็กทรอนิกส์” และ “เสื้อผ้า”

กรณีการถดถอยที่เป็นไปได้คือ:

ฟังก์ชั่นโฮมเพจ: ตรวจสอบว่าหน้าแรกแสดงหมวดหมู่ "อุปกรณ์สมาร์ทโฮม" ใหม่ควบคู่ไปกับหมวดที่มีอยู่โดยไม่มีปัญหาในการแสดงผล

การนำทางหมวดหมู่: ตรวจสอบให้แน่ใจว่าผู้ใช้สามารถนำทางไปยังหน้าหมวดหมู่ "อุปกรณ์สมาร์ทโฮม" ได้อย่างราบรื่นและกลับไปที่หน้าแรกโดยไม่มีข้อผิดพลาด

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

บัญชีผู้ใช้: ตรวจสอบว่าบัญชีผู้ใช้สามารถสร้าง อัปเดต และใช้สำหรับการซื้ออุปกรณ์สมาร์ทโฮมและผลิตภัณฑ์อื่นๆ ได้

การประมวลผลการชำระเงิน: ทดสอบเกตเวย์การชำระเงินสำหรับการซื้อโดยเฉพาะ และรับประกันการทำธุรกรรมที่ปลอดภัยและปราศจากข้อผิดพลาด

การตอบสนองต่ออุปกรณ์เคลื่อนที่: ตรวจสอบว่าเว็บไซต์ยังคงตอบสนองต่ออุปกรณ์เคลื่อนที่ โดยอนุญาตให้ผู้ใช้เข้าถึงและซื้ออุปกรณ์สมาร์ทโฮมบนอุปกรณ์ต่างๆ

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

สรุป

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