การทดสอบแบบขนานคืออะไร? วิธีการ แนวทาง และตัวอย่าง

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

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

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

คำจำกัดความ แนวทาง และตัวอย่างของการทดสอบแบบขนาน

การทดสอบแบบคู่ขนานคืออะไร

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

ภาพด้านล่างแสดงให้เห็นถึงการทดสอบแบบขนาน

กระบวนการทดสอบแบบคู่ขนาน โดยระบบเก่าและระบบใหม่ใช้ข้อมูลป้อนเข้าเพียงชุดเดียว

ตัวอย่างการทดสอบแบบขนาน

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

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

ตัวอย่างการทดสอบแบบขนาน เปรียบเทียบผลลัพธ์ของระบบเดิมกับผลลัพธ์ของระบบใหม่

ทำไมต้องทำการทดสอบแบบขนาน

การทดสอบแบบคู่ขนานดำเนินการด้วยเหตุผลดังต่อไปนี้

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

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

เวอร์ชัน 1.0 และเวอร์ชัน 1.1 ถูกทดสอบควบคู่กันไปในระหว่างการย้ายระบบ

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

เมื่อใดควรทำการทดสอบแบบขนาน

การทดสอบแบบขนานถูกนำมาใช้กันอย่างแพร่หลายในกรณีต่อไปนี้:

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

วิธีทำการทดสอบแบบขนาน: แนวทางที่สมบูรณ์

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

การทดสอบแบบคู่ขนานมีเกณฑ์สองระดับ

  1. เกณฑ์การเข้าร่วมการทดสอบแบบคู่ขนาน — กำหนดภารกิจที่ต้องดำเนินการให้เสร็จสิ้นก่อนจึงจะสามารถทำการทดสอบแบบขนานได้อย่างมีประสิทธิภาพ
  2. เกณฑ์การออกจากการทดสอบแบบขนาน — กำหนดความสำเร็จของการทดสอบแบบคู่ขนาน

ต้องมีการปฏิบัติตามเงื่อนไขเบื้องต้นบางประการก่อน

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

ดำเนินการทดสอบแบบขนานในห้าขั้นตอน

  1. นำระบบเก่ามาเปรียบเทียบกับระบบที่พัฒนาขึ้นใหม่
  2. ทำความเข้าใจความแตกต่างระหว่างระบบทั้งสอง
  3. ดำเนินการครบวงจรโดยใช้ข้อมูลป้อนเข้าชุดเดิม
  4. วัดผลลัพธ์ของระบบที่พัฒนาขึ้นใหม่เทียบกับผลลัพธ์ของระบบเดิม
  5. โปรดรายงานสาเหตุของข้อผิดพลาดที่พบ

แนวปฏิบัติที่ดีสำหรับการทดสอบแบบขนาน

ต่อไปนี้เป็นเคล็ดลับที่มีประโยชน์บางประการ

จุดบกพร่องทั่วไปที่ระบุในการทดสอบแบบขนาน

  • ตรรกะภายในมีการเปลี่ยนแปลง
  • การไหลของผลิตภัณฑ์เปลี่ยนแปลงไป
  • ฟังก์ชันการทำงานหลักได้รับการปรับเปลี่ยน

ต้องใช้กี่รอบ

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

การจำแนกความแตกต่าง

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

ประเภทของข้อผิดพลาดเกิดขึ้นระหว่างรอบ

สำหรับแต่ละความแตกต่าง ผู้ทดสอบควรระบุว่าข้อใดตรงกับความแตกต่างนั้น

  • ข้อผิดพลาดในการเข้า
  • ข้อผิดพลาดที่เกิดจากระบบเก่า
  • ความแตกต่างที่อธิบายได้หรือยอมรับได้
  • ข้อผิดพลาดที่ไม่คาดคิด

ข้อใดไม่ใช่การทดสอบแบบขนาน

ตารางกำหนดขอบเขต

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

ความท้าทายของการทดสอบแบบขนาน

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

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

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

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

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

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

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

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

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

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

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