บทช่วยสอนการทดสอบ ETL

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

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

  • 🎯 นิยามการทดสอบ ETL: ตรวจสอบความถูกต้องสมบูรณ์ของข้อมูลในขั้นตอนการดึงข้อมูล การแปลงข้อมูล และการโหลดข้อมูลระหว่างระบบต้นทางและระบบปลายทาง
  • 🔁 ระยะกระบวนการ: ระบุแหล่งที่มา รวบรวมข้อมูล ประยุกต์ใช้ตรรกะทางธุรกิจและการสร้างแบบจำลองเชิงมิติ จากนั้นจึงสร้างและรายงานผลลัพธ์
  • 🧪 ประเภทการทดสอบ: การตรวจสอบความถูกต้องของการผลิต, การแปลงจากแหล่งข้อมูลไปยังเป้าหมาย, เมตาเดตา, ความสมบูรณ์, ความถูกต้อง, การแปลง และการทดสอบแบบเพิ่มทีละขั้น
  • 🐞 ประเภทของบั๊ก: ข้อบกพร่องด้าน UI, การวิเคราะห์ค่าขอบเขต, การแบ่งส่วนสมมูล, การคำนวณ, การโหลด, สภาวะการแข่งขัน และการควบคุมเวอร์ชัน
  • 🤖 โฟกัสอัตโนมัติ: เครื่องมือต่างๆ เช่น Informatica และสคริปต์ที่ใช้ AI ช่วยลดภาระงานด้วยตนเองและขยายขอบเขตการทดสอบให้ครอบคลุมมากขึ้น
  • ปฏิบัติที่ดีที่สุด: ตรวจสอบความถูกต้องของการแปลงข้อมูล กำหนดเป้าหมายข้อยกเว้น บังคับใช้การครอบคลุม และยืนยันกรอบเวลาการโหลดที่ปรับขนาดได้

บทช่วยสอนการทดสอบ ETL

ETL คืออะไร

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

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

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

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

แยก-แปลง-โหลด

1) สารสกัด

  • ดึงข้อมูลที่เกี่ยวข้องจากระบบแหล่งข้อมูลหนึ่งระบบขึ้นไป

2) การแปลง

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

3) โหลด

  • โหลดข้อมูลเข้าสู่ DW (Data Warehouse)
  • สร้าง Aggregate: Aggregate จะสรุปและจัดเก็บข้อมูลจาก Aggregate ต่างๆ ตารางข้อเท็จจริง เพื่อปรับปรุงประสิทธิภาพการค้นหาข้อมูลของผู้ใช้ปลายทาง

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

การทดสอบ ETL ดำเนินการเพื่อให้แน่ใจว่าข้อมูลที่โหลดจากแหล่งข้อมูลไปยังปลายทางหลังจากการแปลงทางธุรกิจนั้นถูกต้องแม่นยำ นอกจากนี้ยังเกี่ยวข้องกับการตรวจสอบข้อมูลในขั้นตอนกลางต่างๆ ระหว่างแหล่งข้อมูลและปลายทาง เนื่องจาก ETL ย่อมาจาก Extract-Transform-Load การทดสอบ ETL จึงครอบคลุมทั้งสามขั้นตอนและจุดที่ข้อมูลมีการแลกเปลี่ยนระหว่างกัน

การทดสอบ ETL

เหตุใดการทดสอบ ETL จึงมีความสำคัญ?

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

ประเด็นต่อไปนี้อธิบายถึงคุณค่าเชิงปฏิบัติของการทดสอบ ETL ที่มีประสิทธิภาพ:

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

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

กระบวนการทดสอบ ETL

เช่นเดียวกับกระบวนการทดสอบอื่นๆ ETL ก็ต้องผ่านหลายขั้นตอนเช่นกัน ขั้นตอนต่างๆ ของกระบวนการทดสอบ ETL มีดังต่อไปนี้:

กระบวนการทดสอบ ETL

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

  1. การระบุแหล่งข้อมูลและข้อกำหนด
  2. ข้อมูลที่ได้มา
  3. ดำเนินการตามตรรกะทางธุรกิจและการสร้างแบบจำลองเชิงมิติ
  4. สร้างและเติมข้อมูล
  5. สร้างรายงาน

กระบวนการทดสอบ ETL

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

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

  1. การทดสอบการตรวจสอบการผลิต
    ขั้นตอนการทดสอบ: การทดสอบ ETL ประเภทนี้ หรือที่เรียกว่า “การปรับสมดุลตาราง” หรือ “การตรวจสอบความถูกต้องของข้อมูลในระบบการผลิต” จะดำเนินการกับข้อมูลขณะที่กำลังส่งไปยังระบบการผลิต เพื่อสนับสนุนการตัดสินใจทางธุรกิจ ข้อมูลในระบบการผลิตจะต้องอยู่ในลำดับที่ถูกต้อง สารสนเทศ ตัวเลือกการตรวจสอบความถูกต้องของข้อมูลช่วยให้สามารถทำการทดสอบ ETL โดยอัตโนมัติและจัดการได้อย่างมีประสิทธิภาพ เพื่อป้องกันไม่ให้ระบบการผลิตได้รับผลกระทบจากข้อมูลที่ไม่ถูกต้อง
  2. ที่มาที่ Target การทดสอบ (การทดสอบการตรวจสอบ)
    ขั้นตอนการทดสอบ: การทดสอบประเภทนี้จะตรวจสอบว่าค่าข้อมูลที่แปลงแล้วตรงกับค่าเป้าหมายที่คาดหวังหรือไม่
  3. การใช้งาน Upgrades
    ขั้นตอนการทดสอบ: การทดสอบ ETL ประเภทนี้สามารถสร้างได้โดยอัตโนมัติ ช่วยประหยัดเวลาในการพัฒนาการทดสอบได้อย่างมาก โดยจะตรวจสอบว่าข้อมูลที่ดึงมาจากแอปพลิเคชันหรือที่เก็บข้อมูลเก่าตรงกับข้อมูลในแอปพลิเคชันหรือที่เก็บข้อมูลใหม่หรือไม่
  4. การทดสอบข้อมูลเมตา
    ขั้นตอนการทดสอบ: การทดสอบเมตาเดตาประกอบด้วยการตรวจสอบประเภทข้อมูล การตรวจสอบความยาวข้อมูล และการตรวจสอบดัชนีหรือข้อจำกัด
  5. การทดสอบความสมบูรณ์ของข้อมูล
    ขั้นตอนการทดสอบ: การทดสอบความสมบูรณ์ของข้อมูลจะตรวจสอบว่าข้อมูลที่คาดหวังทั้งหมดถูกโหลดจากแหล่งข้อมูลไปยังปลายทางแล้ว การทดสอบทั่วไปได้แก่ การเปรียบเทียบและตรวจสอบจำนวนระเบียน ผลรวม และข้อมูลจริงระหว่างคอลัมน์ของแหล่งข้อมูลและปลายทาง เมื่อการแปลงข้อมูลนั้นง่ายหรือไม่มีการแปลงข้อมูลเลย
  6. การทดสอบความถูกต้องของข้อมูล
    ขั้นตอนการทดสอบ: การทดสอบนี้ช่วยให้มั่นใจได้ว่าข้อมูลจะถูกโหลดและแปลงอย่างถูกต้องตามที่คาดหวัง
  7. การทดสอบการเปลี่ยนแปลงข้อมูล
    ขั้นตอนการทดสอบ: การทดสอบการแปลงข้อมูลมักไม่สามารถทำได้ด้วยแหล่งข้อมูลเพียงแหล่งเดียว SQL การสอบถามและการเปรียบเทียบผลลัพธ์ อาจจำเป็นต้องใช้คำสั่ง SQL หลายคำสั่งสำหรับแต่ละแถวเพื่อตรวจสอบกฎการแปลงข้อมูล
  8. การทดสอบคุณภาพข้อมูล
    ขั้นตอนการทดสอบ:

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

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

    การทดสอบอ้างอิงจะตรวจสอบข้อมูลกับแบบจำลองข้อมูล ตัวอย่างเช่น รหัสลูกค้า

    การทดสอบคุณภาพข้อมูลยังรวมถึงการตรวจสอบตัวเลข การตรวจสอบวันที่ การตรวจสอบความแม่นยำ การตรวจสอบข้อมูล และการตรวจสอบค่าว่างด้วย

  9. การทดสอบ ETL แบบเพิ่มทีละขั้น
    ขั้นตอนการทดสอบ: การทดสอบนี้ตรวจสอบความถูกต้องของข้อมูลทั้งข้อมูลเก่าและข้อมูลใหม่ โดยมีการเพิ่มข้อมูลใหม่เข้าไปด้วย การทดสอบแบบเพิ่มทีละส่วนจะตรวจสอบว่าการแทรกและการอัปเดตได้รับการประมวลผลตามที่คาดไว้ในระหว่างกระบวนการ ETL แบบเพิ่มทีละส่วน
  10. การทดสอบ GUI/การนำทาง
    ขั้นตอนการทดสอบ: การทดสอบนี้ตรวจสอบการนำทางและส่วนติดต่อผู้ใช้ (GUI) ของรายงานส่วนหน้า

วิธีสร้างกรณีทดสอบ ETL

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

ในการทดสอบ ETL นั้น ผู้ทดสอบ ETL จะใช้เอกสารสองฉบับเสมอ:

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

สถานการณ์การทดสอบ ETL และกรณีทดสอบ

  1. การตรวจสอบเอกสารการทำแผนที่
    กรณีทดสอบ: ตรวจสอบว่าข้อมูล ETL ที่เกี่ยวข้องมีอยู่ในเอกสารการแมปหรือไม่ ควรมีการบันทึกการเปลี่ยนแปลงไว้ในเอกสารการแมปทุกฉบับ
  2. การตรวจสอบ
    กรณีทดสอบ:

    1) ตรวจสอบโครงสร้างตารางต้นทางและตารางปลายทางเทียบกับเอกสารการแมปที่เกี่ยวข้อง
    2) ชนิดข้อมูลต้นทางและชนิดข้อมูลปลายทางต้องเหมือนกัน
    3) ความยาวของชนิดข้อมูลทั้งในแหล่งข้อมูลและปลายทางต้องเท่ากัน
    4) ตรวจสอบว่าได้ระบุประเภทและรูปแบบของฟิลด์ข้อมูลแล้ว
    5) ความยาวของชนิดข้อมูลต้นทางต้องไม่น้อยกว่าความยาวของชนิดข้อมูลปลายทาง
    6) ตรวจสอบความถูกต้องของชื่อคอลัมน์ในตารางโดยเทียบกับเอกสารการแมปข้อมูล

  3. การตรวจสอบข้อจำกัด
    กรณีทดสอบ: ตรวจสอบให้แน่ใจว่าได้กำหนดข้อจำกัดสำหรับตารางเฉพาะนั้นตามที่คาดหวังไว้แล้ว
  4. ปัญหาความสอดคล้องของข้อมูล
    กรณีทดสอบ:

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

  5. ประเด็นความสมบูรณ์
    กรณีทดสอบ:

    1) ตรวจสอบให้แน่ใจว่าข้อมูลที่คาดหวังทั้งหมดถูกโหลดลงในตารางเป้าหมายเรียบร้อยแล้ว
    2) เปรียบเทียบจำนวนบันทึกระหว่างแหล่งที่มาและเป้าหมาย
    3) ตรวจสอบหาบันทึกข้อมูลที่ถูกปฏิเสธ
    4) ตรวจสอบว่าข้อมูลในคอลัมน์ของตารางเป้าหมายไม่ถูกตัดทอน
    5) ตรวจสอบการวิเคราะห์ค่าขอบเขต
    6) เปรียบเทียบค่าที่ไม่ซ้ำกันของฟิลด์หลักระหว่างข้อมูลที่โหลดไปยังคลังข้อมูลและข้อมูลต้นทาง

  6. ปัญหาความถูกต้อง
    กรณีทดสอบ:

    1) ข้อมูลที่สะกดผิดหรือบันทึกไม่ถูกต้อง
    2) ข้อมูลว่างเปล่า ข้อมูลที่ไม่ซ้ำกัน หรือข้อมูลที่อยู่นอกช่วงที่กำหนด

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

    1) การตรวจสอบตัวเลข: ตรวจสอบรูปแบบและค่าตัวเลขให้ถูกต้อง
    2) การตรวจสอบวันที่: วันที่ต้องใช้รูปแบบเดียวกันและสอดคล้องกันในทุกบันทึก
    3) ตรวจสอบความแม่นยำ
    4) ตรวจสอบข้อมูล
    5) การตรวจสอบค่าว่าง

  9. ตรวจสอบความถูกต้องเป็นโมฆะ
    กรณีทดสอบ: ตรวจสอบค่าว่างในกรณีที่ระบุ “ไม่ใช่ค่าว่าง” สำหรับคอลัมน์นั้นๆ
  10. ตรวจสอบซ้ำ
    กรณีทดสอบ:

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

  11. การตรวจสอบวันที่
    กรณีทดสอบ: ค่าวันที่ถูกนำไปใช้ในหลายด้านของการพัฒนา ETL:

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

  12. ตรวจสอบข้อมูลให้เสร็จสมบูรณ์
    กรณีทดสอบ:

    1) ตรวจสอบความถูกต้องของชุดข้อมูลทั้งหมดในตารางต้นทางและตารางปลายทางโดยใช้การค้นหาแบบลบ (minus query) เป็นวิธีที่ดีที่สุด
    2) คุณต้องทำการลบค่าต้นฉบับออกจากค่าเป้าหมาย และลบค่าเป้าหมายออกจากค่าต้นฉบับ
    3) หากคำสั่งค้นหาแบบลบส่งค่ากลับมาใดๆ แถวเหล่านั้นควรถือว่าไม่ตรงกัน
    4) จับคู่แถวระหว่างแหล่งข้อมูลและเป้าหมายโดยใช้คำสั่ง intersect
    5) จำนวนที่ได้จากการใช้ฟังก์ชัน intersect ควรตรงกับจำนวนของตารางต้นทางและตารางปลายทาง
    6) หากการค้นหาแบบลบส่งคืนแถว และจำนวนที่ซ้ำกันน้อยกว่าจำนวนในแหล่งข้อมูลหรือเป้าหมาย แสดงว่ามีแถวซ้ำกันอยู่

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

ประเภทของข้อบกพร่อง ETL

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

ประเภทของข้อบกพร่อง ETL

ประเภทของแมลง Descriptไอออน
ข้อบกพร่องของอินเทอร์เฟซผู้ใช้/ข้อบกพร่องด้านความงาม • เกี่ยวข้องกับ GUI ของแอปพลิเคชัน
• รูปแบบตัวอักษร ขนาดตัวอักษร สี การจัดแนว การตรวจสอบการสะกดคำ การนำทาง และอื่นๆ
ข้อผิดพลาดที่เกี่ยวข้องกับการวิเคราะห์มูลค่าขอบเขต (BVA) • ค่าต่ำสุดและสูงสุด
ข้อผิดพลาดที่เกี่ยวข้องกับการแบ่งพาร์ติชันคลาส Equivalence (ECP) • ประเภทที่ถูกต้องและไม่ถูกต้อง
ข้อบกพร่องอินพุต/เอาท์พุต • ไม่ยอมรับค่าที่ถูกต้อง
• ยอมรับค่าที่ไม่ถูกต้อง
ข้อผิดพลาดในการคำนวณ • ข้อผิดพลาดทางคณิตศาสตร์
• ผลลัพธ์สุดท้ายไม่ถูกต้อง
โหลดข้อบกพร่องเงื่อนไข • ไม่อนุญาตให้ใช้งานหลายผู้ใช้พร้อมกัน
• ไม่รองรับปริมาณการใช้งานที่ลูกค้าคาดหวัง
ข้อบกพร่องของสภาพการแข่งขัน • ระบบล่มและค้าง
• ระบบไม่สามารถรันแพลตฟอร์มไคลเอนต์ได้
ข้อบกพร่องในการควบคุมเวอร์ชัน • ไม่มีโลโก้ที่ตรงกัน
• ไม่มีข้อมูลเวอร์ชันให้บริการ
• มักเกิดขึ้นใน การทดสอบการถดถอย
ข้อบกพร่องของ H/W • อุปกรณ์ไม่ตอบสนองต่อแอปพลิเคชัน
ช่วยเหลือ แหล่งที่มาของข้อบกพร่อง • ข้อผิดพลาดในเอกสารช่วยเหลือ

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

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

ความแตกต่างระหว่างการทดสอบฐานข้อมูลและการทดสอบ ETL

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

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

การทดสอบประสิทธิภาพใน ETL

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

Informatica เป็นหนึ่งในเครื่องมือที่ดีที่สุดสำหรับการทดสอบและปรับแต่งประสิทธิภาพ

ความรับผิดชอบของผู้ทดสอบ ETL

หน้าที่หลักของผู้ทดสอบ ETL แบ่งออกเป็นสามประเภท:

  • โต๊ะเวที / SFS หรือ MFS
  • ใช้ตรรกะการเปลี่ยนแปลงทางธุรกิจ
  • Target การโหลดข้อมูลลงตารางจากไฟล์ชั่วคราวหรือจากตารางหลังจากทำการแปลงข้อมูลแล้ว

หน้าที่ความรับผิดชอบประจำวันของผู้ทดสอบ ETL ประกอบด้วย:

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

ระบบอัตโนมัติของการทดสอบ ETL

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

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

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

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

เช็คเอาท์ - คำถามและคำตอบสัมภาษณ์การทดสอบ ETL

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

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

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

เครื่องมือยอดนิยมได้แก่ สารสนเทศ ตัวเลือกการตรวจสอบความถูกต้องของข้อมูล, QuerySurge, Talend, IBM InfoSphere DataStage และยูทิลิตี้โอเพนซอร์ส เช่น การทดสอบ dbt การเลือกใช้ที่เหมาะสมนั้นขึ้นอยู่กับแพลตฟอร์มคลังข้อมูล งบประมาณ และระดับความลึกของระบบอัตโนมัติที่ต้องการ

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

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

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