การทดสอบแบบขนานคืออะไร? วิธีการ แนวทาง และตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
การทดสอบแบบขนาน (Parallel Testing) จะรันระบบเดิมและระบบที่พัฒนาขึ้นใหม่พร้อมกัน โดยใช้ข้อมูลป้อนเข้าชุดกัน ทำให้ผู้ทดสอบสามารถยืนยันได้ว่าข้อมูล การคำนวณ และกระบวนการทางธุรกิจที่ย้ายมานั้นยังคงให้ผลลัพธ์ที่เหมือนกันทุกประการ
การทดสอบแบบคู่ขนานคืออะไร
การทดสอบแบบขนาน การทดสอบแบบขนาน (Parallel Testing) คือการทดสอบซอฟต์แวร์ประเภทหนึ่งที่ทดสอบแอปพลิเคชันหลายเวอร์ชันหรือหลายส่วนประกอบย่อยด้วยข้อมูลป้อนเข้าเดียวกันบนระบบต่างๆ พร้อมกัน เพื่อลดเวลาในการดำเนินการทดสอบ จุดประสงค์ของการทดสอบแบบขนานคือเพื่อตรวจสอบว่าเวอร์ชันเดิมและเวอร์ชันใหม่ทำงานเหมือนหรือแตกต่างกัน และเพื่อตรวจสอบว่าเวอร์ชันใหม่มีประสิทธิภาพมากกว่าหรือไม่
ภาพด้านล่างแสดงให้เห็นถึงการทดสอบแบบขนาน
ตัวอย่างการทดสอบแบบขนาน
เมื่อองค์กรเปลี่ยนไปใช้ระบบใหม่ ข้อมูลเดิมเป็นส่วนสำคัญของการเปลี่ยนแปลง และการถ่ายโอนข้อมูลเหล่านั้นมีความซับซ้อน
ในการทดสอบซอฟต์แวร์ การตรวจสอบความเข้ากันได้ของระบบที่พัฒนาขึ้นใหม่กับระบบเดิมจะทำได้โดยใช้วิธีการทดสอบแบบคู่ขนาน ดังแสดงในแผนภาพด้านล่าง
ทำไมต้องทำการทดสอบแบบขนาน
การทดสอบแบบคู่ขนานดำเนินการด้วยเหตุผลดังต่อไปนี้
- เพื่อให้แน่ใจว่าแอปพลิเคชันเวอร์ชันใหม่ทำงานได้อย่างถูกต้อง
- เพื่อให้แน่ใจว่าผลลัพธ์มีความสอดคล้องกันระหว่างเวอร์ชันใหม่และเวอร์ชันเก่า
- เพื่อตรวจสอบว่ารูปแบบข้อมูลระหว่างสองเวอร์ชันมีการเปลี่ยนแปลงหรือไม่
- เพื่อตรวจสอบความสมบูรณ์ของแอปพลิเคชันใหม่
ตัวอย่างเช่น ปัจจุบันผู้ใช้กำลังใช้งานแอปพลิเคชันเวอร์ชัน 1.0 และตั้งแต่เดือนมีนาคมเป็นต้นไป พวกเขาจะเปลี่ยนไปใช้เวอร์ชัน 1.1 ดังแสดงในภาพด้านล่าง
ในกรณีเช่นนี้ ผู้ทดสอบจะทำการทดสอบแบบคู่ขนานเพื่อยืนยันว่าการย้ายข้อมูลเสร็จสมบูรณ์อย่างราบรื่น และการเปลี่ยนแปลงในเวอร์ชันใหม่จะไม่ส่งผลกระทบต่อการทำงานของระบบหรือผลลัพธ์ที่ผู้ใช้คาดหวัง
เมื่อใดควรทำการทดสอบแบบขนาน
การทดสอบแบบขนานถูกนำมาใช้กันอย่างแพร่หลายในกรณีต่อไปนี้:
- บริษัทกำลังเปลี่ยนจากระบบเก่าไปใช้ระบบใหม่
- Syncการซิงโครไนซ์จะดำเนินการระหว่างสองระบบ
- ข้อมูลเก่าถูกนำเข้าจากระบบหนึ่งไปยังอีกระบบหนึ่ง
- ผลลัพธ์ทั้งหมดจะต้องถูกกำหนดอย่างแม่นยำ เช่น ในด้านการเงินหรือประกันภัย ซึ่งการคำนวณเป็นฟังก์ชันหลักของระบบ
วิธีทำการทดสอบแบบขนาน: แนวทางที่สมบูรณ์
สำหรับการทดสอบแบบขนาน คุณจะต้องสร้างโปรเจกต์หลายโปรเจกต์ โดยแต่ละโปรเจกต์จะทดสอบส่วนต่างๆ ของแอปพลิเคชัน (โปรเจกต์รอง) และมีโปรเจกต์หลักหนึ่งโปรเจกต์ (โปรเจกต์หลัก) ที่ทำหน้าที่รันโปรเจกต์เหล่านั้น
การทดสอบแบบคู่ขนานมีเกณฑ์สองระดับ
- เกณฑ์การเข้าร่วมการทดสอบแบบคู่ขนาน — กำหนดภารกิจที่ต้องดำเนินการให้เสร็จสิ้นก่อนจึงจะสามารถทำการทดสอบแบบขนานได้อย่างมีประสิทธิภาพ
- เกณฑ์การออกจากการทดสอบแบบขนาน — กำหนดความสำเร็จของการทดสอบแบบคู่ขนาน
ต้องมีการปฏิบัติตามเงื่อนไขเบื้องต้นบางประการก่อน
- การทดสอบแบบคู่ขนานไม่สามารถเริ่มต้นได้จนกว่าจะถึง สภาพแวดล้อมการทดสอบ การตั้งค่าเสร็จสมบูรณ์แล้ว
- ควรกำหนดเงื่อนไขและสถานการณ์เบื้องต้นทั้งหมดก่อน
- ข้อมูลเดิมและข้อมูลใหม่จะต้องย้ายได้สำเร็จ
- การทดสอบแบบคู่ขนานจะยังไม่เสร็จสมบูรณ์จนกว่าจะตรงตามเกณฑ์การสิ้นสุดทั้งหมด
ดำเนินการทดสอบแบบขนานในห้าขั้นตอน
- นำระบบเก่ามาเปรียบเทียบกับระบบที่พัฒนาขึ้นใหม่
- ทำความเข้าใจความแตกต่างระหว่างระบบทั้งสอง
- ดำเนินการครบวงจรโดยใช้ข้อมูลป้อนเข้าชุดเดิม
- วัดผลลัพธ์ของระบบที่พัฒนาขึ้นใหม่เทียบกับผลลัพธ์ของระบบเดิม
- โปรดรายงานสาเหตุของข้อผิดพลาดที่พบ
แนวปฏิบัติที่ดีสำหรับการทดสอบแบบขนาน
ต่อไปนี้เป็นเคล็ดลับที่มีประโยชน์บางประการ
จุดบกพร่องทั่วไปที่ระบุในการทดสอบแบบขนาน
- ตรรกะภายในมีการเปลี่ยนแปลง
- การไหลของผลิตภัณฑ์เปลี่ยนแปลงไป
- ฟังก์ชันการทำงานหลักได้รับการปรับเปลี่ยน
ต้องใช้กี่รอบ
จำนวนรอบการทดสอบขึ้นอยู่กับความซับซ้อนของโมดูล เรียกใช้รอบสถานการณ์จำลองหลายรอบโดยใช้ค่าที่กำหนดไว้ล่วงหน้า ข้อมูลการทดสอบ ซึ่งผ่านการอนุมัติจากระบบเดิมแล้ว
การจำแนกความแตกต่าง
ควรวัดผลลัพธ์ของระบบใหม่และระบบเดิมทีละบรรทัด โดยเน้นส่วนที่แตกต่างกัน และจำแนกความแตกต่างแต่ละอย่างตามประเภทของข้อผิดพลาด
ประเภทของข้อผิดพลาดเกิดขึ้นระหว่างรอบ
สำหรับแต่ละความแตกต่าง ผู้ทดสอบควรระบุว่าข้อใดตรงกับความแตกต่างนั้น
- ข้อผิดพลาดในการเข้า
- ข้อผิดพลาดที่เกิดจากระบบเก่า
- ความแตกต่างที่อธิบายได้หรือยอมรับได้
- ข้อผิดพลาดที่ไม่คาดคิด
ข้อใดไม่ใช่การทดสอบแบบขนาน
ตารางกำหนดขอบเขต
| เป็นการทดสอบแบบขนาน | ไม่ใช่การทดสอบแบบขนาน |
| ทดสอบแอปพลิเคชันที่อัปเดตกับแอปพลิเคชันก่อนหน้า | ทดสอบซอฟต์แวร์ตัวเดียวเท่านั้น |
| เรียกใช้สถานการณ์เดิมด้วยซอฟต์แวร์ใหม่ภายใต้เงื่อนไขอินพุตเดียวกัน | การทดสอบข้ามเบราว์เซอร์หรือข้ามแพลตฟอร์ม |
| จุดมุ่งหมายคือการหาผลลัพธ์ตามระบบก่อนหน้านี้ | จุดประสงค์คือเพื่อค้นหาปัญหาด้านการออกแบบ |
| จำเป็นต้องมีความรู้ทั้งระบบเก่าและระบบที่พัฒนาขึ้นใหม่ | ไม่จำเป็นต้องมีความรู้เกี่ยวกับความแตกต่างนี้ |
ความท้าทายของการทดสอบแบบขนาน
- จำเป็นต้องมีความรู้เกี่ยวกับผลิตภัณฑ์อย่างครบถ้วน
- ทุกผลลัพธ์ควรได้รับการทดสอบ
- การป้อนข้อมูลและการไหลเวียนของผลิตภัณฑ์จำเป็นต้องได้รับการดูแลอย่างต่อเนื่อง



