เมื่อใดก็ตามที่ออกซอฟต์แวร์ใหม่จำเป็นต้องทดสอบฟังก์ชันการทำงานใหม่อย่างชัดเจน อย่างไรก็ตามการเรียกใช้การทดสอบเก่าซ้ำที่แอปพลิเคชันผ่านก่อนหน้านี้มีความสำคัญเท่าเทียมกัน ด้วยวิธีนี้เราจะมั่นใจได้ว่าซอฟต์แวร์ใหม่จะไม่นำข้อบกพร่องเก่ามาใช้ซ้ำหรือสร้างข้อบกพร่องใหม่ในซอฟต์แวร์ เราเรียกการทดสอบประเภทนี้ว่า การทดสอบการถดถอย ตลอดบทความนี้เราจะสำรวจการทดสอบการถดถอยในรายละเอียด. หากคุณยังใหม่กับการทดสอบซอฟต์แวร์อย่าลืมอ่านไฟล์ .
มาดูหัวข้อต่างๆในบทความนี้กัน:
- Regression Testing คืออะไร?
- ประโยชน์ของการทดสอบการถดถอย?
- ควรใช้การทดสอบการถดถอยเมื่อใด
- ประเภทของการทดสอบการถดถอยคืออะไร?
- การทดสอบการถดถอยดำเนินการอย่างไร?
- เทคนิคการทดสอบการถดถอย
- ความท้าทายของการทดสอบการถดถอย
Regression Testing คืออะไร?
“ การทดสอบโปรแกรมที่ทดสอบก่อนหน้านี้หลังการปรับเปลี่ยนเพื่อให้แน่ใจว่าไม่มีการนำข้อบกพร่องมาใช้หรือเปิดเผยในส่วนที่ไม่มีการเปลี่ยนแปลงของซอฟต์แวร์อันเป็นผลมาจากการเปลี่ยนแปลงที่เรียกว่า Regression Testing”
การทดสอบการถดถอยเป็นการทดสอบทั้งระบบซึ่งมีจุดประสงค์หลักเพื่อให้แน่ใจว่าการเปลี่ยนแปลงเล็กน้อยในส่วนหนึ่งของระบบจะไม่ทำลายฟังก์ชันการทำงานที่มีอยู่ในส่วนอื่น ๆ ในระบบ หากคุณถือว่าการถดถอยเป็นการเปลี่ยนแปลงโดยไม่ได้ตั้งใจการทดสอบประเภทนี้เป็นกระบวนการค้นหาการเปลี่ยนแปลงเหล่านั้น พูดง่ายๆก็คือการตรวจสอบให้แน่ใจว่าจุดบกพร่องเก่า ๆ จะไม่กลับมาหลอกหลอนคุณ มาดูกันดูตัวอย่างสมมติที่แสดงแนวคิด
เมื่อเพิ่มประเภทการชำระเงินใหม่ลงในเว็บไซต์ช็อปปิ้งให้เรียกใช้การทดสอบเก่าอีกครั้งเพื่อให้แน่ใจว่ารหัสใหม่ไม่ได้สร้างข้อบกพร่องใหม่หรือนำมาใช้ใหม่การทดสอบการถดถอยมีความสำคัญเพราะหากไม่มีก็เป็นไปได้ค่อนข้างมากที่จะแนะนำการแก้ไขที่ตั้งใจไว้ในระบบที่สร้างปัญหามากกว่าที่จะแก้
ประโยชน์ของการทดสอบการถดถอย
ทำการทดสอบการถดถอยเป็นประโยชน์ต่อ บริษัท ในหลาย ๆ ด้านเช่น:
- เพิ่มโอกาสในการตรวจพบข้อบกพร่องที่เกิดจากการเปลี่ยนแปลงซอฟต์แวร์และแอปพลิเคชัน
- สามารถช่วยตรวจจับข้อบกพร่องได้เร็วและลดต้นทุนในการแก้ไข
- ช่วยในการวิจัยผลข้างเคียงที่ไม่พึงประสงค์ที่อาจเกิดขึ้นเนื่องจากสภาพแวดล้อมการทำงานใหม่
- ตรวจสอบให้แน่ใจว่าซอฟต์แวร์มีประสิทธิภาพดีขึ้นเนื่องจากการระบุจุดบกพร่องและข้อผิดพลาดในช่วงต้น
- ที่สำคัญที่สุดคือตรวจสอบว่าการเปลี่ยนแปลงโค้ดไม่ได้ทำให้เกิดข้อบกพร่องเก่าอีกครั้ง
การทดสอบการถดถอยช่วยให้มั่นใจได้ถึงความถูกต้องของซอฟต์แวร์เพื่อให้ผลิตภัณฑ์รุ่นที่ดีที่สุดออกสู่ตลาด อย่างไรก็ตามในโลกแห่งความเป็นจริงการออกแบบและดูแลชุดการทดสอบการถดถอยที่ใกล้จะไม่มีที่สิ้นสุดนั้นไม่สามารถทำได้ ดังนั้นคุณควรรู้ว่าเมื่อใดควรใช้การทดสอบการถดถอย
เมื่อใดที่จะใช้การทดสอบการถดถอย
ขอแนะนำให้ทำการทดสอบการถดถอยกับเหตุการณ์ต่อไปนี้:
- เมื่อมีการเพิ่มฟังก์ชันใหม่
- ในกรณีที่มีการเปลี่ยนแปลงข้อกำหนด
- เมื่อมีการแก้ไขข้อบกพร่อง
- เมื่อมีปัญหาด้านประสิทธิภาพ
- ในกรณีที่สภาพแวดล้อมเปลี่ยนแปลง
- เมื่อมีการแก้ไขแพทช์
ส่วนถัดไปของบทความนี้เกี่ยวกับการทดสอบการถดถอยประเภทต่างๆ
วิธีสร้างไฟล์ logger ใน java
ประเภทของการทดสอบการถดถอยคืออะไร?
การทดสอบการถดถอยทำได้โดยการทดสอบหลายขั้นตอน ด้วยเหตุนี้จึงมีการทดสอบการถดถอยหลายประเภท บางส่วนมีดังนี้:
การทดสอบหน่วย: ในการทดสอบหน่วยเมื่อมีการเปลี่ยนแปลงการเข้ารหัสสำหรับหน่วยเดียวผู้ทดสอบซึ่งโดยปกติแล้วนักพัฒนาที่รับผิดชอบโค้ดจะเรียกใช้การทดสอบหน่วยที่ผ่านไปก่อนหน้านี้อีกครั้ง ใน สภาพแวดล้อมการทดสอบหน่วยอัตโนมัติถูกสร้างขึ้นในโค้ดทำให้การทดสอบหน่วยมีประสิทธิภาพมากเมื่อเทียบกับการทดสอบประเภทอื่น ๆ
การทดสอบแบบก้าวหน้า: การทดสอบประเภทนี้จะทำงานได้อย่างมีประสิทธิภาพเมื่อมีการเปลี่ยนแปลงที่เกิดขึ้นในข้อกำหนดซอฟต์แวร์ / แอปพลิเคชันรวมทั้งใหม่ ได้รับการออกแบบ
การทดสอบเฉพาะทาง: ในผู้ทดสอบการทดสอบแบบเลือกใช้ชุดย่อยของกรณีทดสอบปัจจุบันเพื่อลดต้นทุนและความพยายามในการทดสอบซ้ำ หน่วยทดสอบจะต้องรันอีกครั้งหากมีการเปลี่ยนแปลงเอนทิตีโปรแกรมใด ๆ ที่ครอบคลุมเท่านั้น
การทดสอบซ้ำ - การทดสอบทั้งหมด: กลยุทธ์การทดสอบประเภทนี้เกี่ยวข้องกับการทดสอบทุกแง่มุมของแอปพลิเคชันเฉพาะตลอดจนการนำกรณีทดสอบทั้งหมดกลับมาใช้ใหม่แม้ว่าจะไม่ได้ทำการเปลี่ยนแปลงก็ตาม ใช้เวลานานและไม่ได้ใช้ประโยชน์มากนักเมื่อมีการปรับเปลี่ยนหรือเปลี่ยนแปลงแอปพลิเคชันเล็กน้อย
การทดสอบที่สมบูรณ์: การทดสอบนี้มีประโยชน์มากเมื่อมีการเปลี่ยนแปลงหลายอย่างในโค้ดที่มีอยู่ การทำการทดสอบนี้มีคุณค่าอย่างมากในการระบุจุดบกพร่องที่ไม่คาดคิด เมื่อการทดสอบนี้เสร็จสิ้นผู้ใช้สามารถใช้ระบบขั้นสุดท้ายได้
เป็นสิ่งสำคัญมากที่จะต้องทราบว่าการทดสอบประเภทใดเหมาะสมกับความต้องการของคุณ ต่อไปเราจะพูดถึงวิธีการทดสอบการถดถอย
การทดสอบการถดถอยดำเนินการอย่างไร?
ขั้นตอนในการใช้การทดสอบการถดถอยก็เหมือนกับขั้นตอนที่คุณใช้สำหรับกระบวนการทดสอบอื่น ๆ ทุกครั้งที่ซอฟต์แวร์มีการเปลี่ยนแปลงและมีรุ่นใหม่เกิดขึ้นผู้พัฒนาจะดำเนินการตามขั้นตอนเหล่านี้เป็นส่วนหนึ่งของกระบวนการทดสอบ:
- ก่อนอื่นเขาดำเนินการทดสอบการถดถอยระดับหน่วยเพื่อตรวจสอบความถูกต้องของโค้ดที่พวกเขาได้แก้ไขพร้อมกับการทดสอบใหม่ ๆ ที่พวกเขาเขียนขึ้นเพื่อให้ครอบคลุมฟังก์ชันใหม่หรือที่เปลี่ยนแปลง
- จากนั้นรหัสที่เปลี่ยนแปลงจะถูกรวมเข้าด้วยกันเพื่อสร้างแอปพลิเคชันใหม่ภายใต้การทดสอบ (AUT)
- จากนั้นจะทำการทดสอบควันเพื่อให้มั่นใจว่าโครงสร้างนั้นดีก่อนที่จะทำการทดสอบเพิ่มเติมใด ๆ
- เมื่อบิลด์ได้รับการประกาศว่าดีการทดสอบการรวมจะดำเนินการเพื่อตรวจสอบการโต้ตอบระหว่างหน่วยของแอปพลิเคชันซึ่งกันและกันและกับบริการส่วนหลังเช่นฐานข้อมูล
- ขึ้นอยู่กับขนาดและขอบเขตของรหัสที่นำออกใช้การถดถอยบางส่วนหรือทั้งหมดจะถูกกำหนดเวลาไว้
- จากนั้นจะรายงานข้อบกพร่องกลับไปยังทีมพัฒนา
- การทดสอบการถดถอยเพิ่มเติมจะดำเนินการหากจำเป็น
นั่นคือวิธีที่รวมการทดสอบการถดถอยไว้ในกระบวนการทดสอบซอฟต์แวร์ทั่วไป ภาพด้านล่างแสดงให้เห็นอย่างชัดเจนว่าการทดสอบการถดถอยดำเนินการอย่างไร
เมื่อใดก็ตามที่มีการเปลี่ยนแปลงบางอย่างกับซอร์สโค้ดการเรียกใช้โปรแกรมจะล้มเหลวด้วยเหตุผลที่ชัดเจน หลังจากความล้มเหลวซอร์สโค้ดจะถูกดีบักเพื่อระบุจุดบกพร่องในโปรแกรม มีการปรับเปลี่ยนที่เหมาะสม จากนั้นกรณีการทดสอบที่เหมาะสมจะถูกเลือกจากชุดทดสอบที่มีอยู่แล้วซึ่งครอบคลุมส่วนที่แก้ไขและได้รับผลกระทบทั้งหมดของซอร์สโค้ด เพิ่มกรณีทดสอบใหม่หากจำเป็น ในท้ายที่สุดการทดสอบจะดำเนินการโดยใช้กรณีทดสอบที่เลือก ตอนนี้คุณอาจสงสัยว่าจะเลือกกรณีทดสอบใด
การทดสอบการถดถอยอย่างมีประสิทธิภาพสามารถทำได้โดยเลือกกรณีทดสอบต่อไปนี้:
- กรณีทดสอบที่มีข้อบกพร่องบ่อย
- กรณีทดสอบที่ซับซ้อน
- กรณีทดสอบการรวม
- กรณีทดสอบที่ครอบคลุมการทำงานหลักของผลิตภัณฑ์
- ฟังก์ชันที่ใช้บ่อย
- ทดสอบแจกันที่ล้มเหลวบ่อยครั้ง
- กรณีทดสอบค่าขอบเขต
ด้วยขั้นตอนการทดสอบการถดถอยเรามาดูเทคนิคต่างๆกัน
เทคนิคการทดสอบการถดถอย
การทดสอบการถดถอยเป็นการยืนยันว่าซอฟต์แวร์ที่แก้ไขไม่ได้เปลี่ยนแปลงโดยไม่ได้ตั้งใจและโดยทั่วไปจะดำเนินการโดยใช้เทคนิคต่อไปนี้ร่วมกัน:
ทดสอบใหม่ทั้งหมด: วิธีนี้เป็นการทดสอบชุดซอฟต์แวร์ใหม่ทั้งหมดจากบนลงล่าง ในหลาย ๆ กรณีการทดสอบเหล่านี้ส่วนใหญ่ดำเนินการโดยเครื่องมืออัตโนมัติ บางครั้งระบบอัตโนมัติไม่จำเป็น เทคนิคนี้มีราคาแพงเนื่องจากต้องใช้เวลาและทรัพยากรมากขึ้นเมื่อเทียบกับเทคนิคอื่น ๆ
การเลือกทดสอบ: แทนที่จะเลือกกรณีทดสอบทั้งหมดวิธีนี้ช่วยให้ทีมสามารถเลือกชุดการทดสอบที่จะประมาณการทดสอบทั้งหมดของชุดทดสอบ ข้อได้เปรียบหลักของการปฏิบัตินี้คือต้องใช้เวลาและความพยายามน้อยกว่ามากในการดำเนินการ โดยปกติแล้วนักพัฒนาที่มักจะมีความเข้าใจที่ดีขึ้นเกี่ยวกับความแตกต่างของกรณีทดสอบและพฤติกรรมที่ไม่คาดคิด
การจัดลำดับความสำคัญของกรณีทดสอบ: เป้าหมายของเทคนิคนี้คือการจัดลำดับความสำคัญของกรณีทดสอบที่ จำกัด โดยพิจารณากรณีทดสอบที่มีศักยภาพมากกว่าก่อนกรณีที่มีความสำคัญน้อยกว่า กรณีทดสอบที่อาจส่งผลกระทบต่อซอฟต์แวร์ทั้งในปัจจุบันและอนาคตจะถูกเลือก
นี่คือเทคนิคหลักสามประการ ในบางครั้งตามข้อกำหนดการทดสอบจะรวมเทคนิคเหล่านี้เข้าด้วยกัน
มีประโยชน์พอ ๆ กับการทดสอบการถดถอย แต่ก็ไม่ได้มีจุดลบ คุณต้องเข้าใจความท้าทายที่คุณอาจเผชิญเมื่อนำไปใช้
ความท้าทายของการทดสอบการถดถอย
- การใช้เวลา: เทคนิคเช่นการทดสอบซ้ำ - ทั้งหมดต้องใช้เวลามากในการทดสอบชุดทดสอบทั้งหมด
- เเพง: มีค่าใช้จ่ายสูงเนื่องจากทรัพยากรและกำลังคนที่คุณต้องทดสอบซ้ำแล้วซ้ำอีกซึ่งเป็นสิ่งที่ได้รับการพัฒนาทดสอบและปรับใช้ในระยะแรกแล้ว
- ซับซ้อน: เมื่อผลิตภัณฑ์ขยายตัวผู้ทดสอบมักจะถูกครอบงำด้วยกรณีทดสอบจำนวนมากและตกเป็นเหยื่อของการสูญเสียการติดตามกรณีทดสอบโดยมองข้ามกรณีทดสอบที่สำคัญ
แม้จะมีจุดลบเหล่านี้การทดสอบการถดถอยมีประโยชน์มากในกระบวนการทดสอบซอฟต์แวร์ ด้วยการทดสอบการถดถอย บริษัท ต่างๆสามารถป้องกันไม่ให้โครงการใช้จ่ายเกินงบประมาณทำให้ทีมของพวกเขาดำเนินการตามแนวทางและที่สำคัญที่สุดคือป้องกันข้อบกพร่องที่ไม่คาดคิดไม่ให้ทำลายผลิตภัณฑ์ของตน ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบล็อก หวังว่าสิ่งต่างๆที่คุณได้เรียนรู้ที่นี่ในวันนี้จะช่วยคุณในการออกเดินทางทดสอบซอฟต์แวร์
หากคุณพบสิ่งนี้ บทความที่เกี่ยวข้อง ตรวจสอบไฟล์ ถ่ายทอดสดออนไลน์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก
วิธีใช้ tostring ใน java
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ ' Regression Testing คืออะไร? ’บทความแล้วเราจะติดต่อกลับไป