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

บทช่วยสอนการทดสอบการถดถอยสำหรับผู้เริ่มต้น

30 ตุลาคม 2564

สารบัญ

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

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

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

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

นี่เป็นการแนะนำสั้น ๆ เกี่ยวกับการทดสอบการถดถอย บทความนี้จะให้คำแนะนำฉบับสมบูรณ์เกี่ยวกับการทดสอบการถดถอย

ความต้องการการทดสอบการถดถอย

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

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

จะทำการทดสอบการถดถอยได้อย่างไร?

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

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

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

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

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

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

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

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

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

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

    ซีลีเนียม: ซีลีเนียมเป็นหนึ่งในเครื่องมือที่ดีที่สุดที่ใช้เป็นเครื่องมือทดสอบการถดถอย หน้าที่ที่สำคัญและสำคัญของเครื่องมือนี้คือการทำให้เว็บแอปพลิเคชันเป็นแบบอัตโนมัติเพื่อวัตถุประสงค์ในการทดสอบ นอกจากนี้ยังทำให้งานการดูแลระบบบนเว็บเป็นไปโดยอัตโนมัติ มี Selenium WebDriver ที่ช่วยให้ผู้ใช้สามารถสร้างชุดทดสอบและการทดสอบระบบอัตโนมัติแบบถดถอยที่มีประสิทธิภาพบนเว็บ กะตะลอน สตูดิโอ: Katalon Studio เป็นอีกหนึ่งโซลูชันการทดสอบอัตโนมัติที่มีประสิทธิภาพ ทนทาน และครบวงจร มี IDE ที่มีประสิทธิภาพในการผลิตการทดสอบอัตโนมัติบนระบบปฏิบัติการ เบราว์เซอร์ และอุปกรณ์ทั้งหมด ไม่ต้องใช้ทักษะการเขียนโค้ด ดังนั้น ผู้เริ่มต้นจึงสามารถใช้งานได้อย่างมีประสิทธิภาพ มีการบูรณาการ Jira ที่พร้อมใช้งานทันที นอกจากนี้ยังรวมเข้ากับเครื่องมือ CI เช่น Jenkins, Bamboo, Azure และ CircleCI
  1. vTest : vTest เป็นเครื่องมือทดสอบการทำงานและการถดถอย เครื่องมือนี้สามารถตรวจสอบ บันทึก เล่น และรายงานการทดสอบได้ มันทำหน้าที่อัตโนมัติและงานทดสอบการถดถอยในเวลาไม่นาน นอกจากนี้ยังควบคุมการวิวัฒนาการของผลิตภัณฑ์อย่างมีประสิทธิภาพด้วยการสร้างการทดสอบที่ปรับเปลี่ยนได้ ผู้ทดสอบที่ไม่มีพื้นฐานการเขียนโปรแกรมสามารถใช้เครื่องมือนี้ได้ มีอินเทอร์เฟซที่ใช้งานง่ายและเป็นมิตรกับผู้ใช้

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

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

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

  1. ไม่อนุญาตให้เปลี่ยนแปลงโค้ดใดๆ ในระหว่างขั้นตอนการทดสอบการถดถอย
  2. การเปลี่ยนแปลงของนักพัฒนาไม่ควรส่งผลต่อการทดสอบการถดถอย
  3. ไม่อนุญาตให้เปลี่ยนแปลงฐานข้อมูล
  4. คุณควรเลือกฐานข้อมูลที่แยกออกมาสำหรับการทดสอบการถดถอย

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

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

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

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

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

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

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

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

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

ความสำคัญและประโยชน์ของการทดสอบการถดถอย

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

ด้านล่างนี้คือสาเหตุที่การทดสอบการถดถอยมีความสำคัญ:

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

ข้อดีของการทดสอบการถดถอย

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

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

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

  1. การถดถอยข้อผิดพลาด
  2. การทดสอบการถดถอยการแก้ไขแบบเก่า
  3. การถดถอยเชิงฟังก์ชันทั่วไป
  4. การแปลงหรือการทดสอบพอร์ต
  5. การทดสอบการกำหนดค่า
  6. การทดสอบโลคัลไลเซชัน
  7. การทดสอบควัน

บทสรุป

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

หัวข้อที่เกี่ยวข้อง

การทดสอบหน่วย การทดสอบระบบ การทดสอบบูรณาการ การทดสอบการยอมรับ การทดสอบกล่องดำ การทดสอบกล่องขาว การทดสอบกล่องสีเทา ปล่อยตัวผู้สมัคร คำถามสัมภาษณ์การทดสอบซอฟต์แวร์