การทดสอบ ETL - คู่มือฉบับย่อ

ข้อมูลในระบบคลังข้อมูลถูกโหลดด้วยเครื่องมือ ETL (Extract, Transform, Load) ตามชื่อที่แนะนำมันดำเนินการสามอย่างต่อไปนี้ -

  • ดึงข้อมูลจากระบบธุรกรรมของคุณซึ่งอาจเป็น Oracle, Microsoft หรือฐานข้อมูลเชิงสัมพันธ์อื่น ๆ

  • แปลงข้อมูลโดยดำเนินการล้างข้อมูลจากนั้น

  • โหลดข้อมูลลงในคลังข้อมูล OLAP

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

ตัวอย่าง

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

เครื่องมือ ETL จะดึงข้อมูลจากแหล่งข้อมูลที่แตกต่างกันทั้งหมดเหล่านี้แปลงข้อมูล (เช่นการใช้การคำนวณการรวมฟิลด์คีย์การลบฟิลด์ข้อมูลที่ไม่ถูกต้อง ฯลฯ ) และโหลดลงในคลังข้อมูล ในภายหลังคุณสามารถใช้เครื่องมือ Business Intelligence (BI) ต่างๆเพื่อสร้างรายงานแดชบอร์ดและการแสดงภาพที่มีความหมายโดยใช้ข้อมูลนี้

ความแตกต่างระหว่าง ETL และ BI Tools

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

เครื่องมือ ETL ที่ใช้กันทั่วไป ได้แก่ - SAP BO Data Services (BODS), Informatica - Power Center, Microsoft - SSIS, Oracle Data Integrator ODI, Talend Open Studio, Clover ETL Open source เป็นต้น

เครื่องมือ BI ยอดนิยม ได้แก่ - SAP Business Objects, SAP Lumira, IBM Cognos, JasperSoft, Microsoft BI Platform, Tableau, Oracle Business Intelligence Enterprise Edition เป็นต้น

กระบวนการ ETL

ตอนนี้ให้เราพูดคุยในรายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับขั้นตอนสำคัญที่เกี่ยวข้องในขั้นตอน ETL -

การแยกข้อมูล

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

การแปลงข้อมูล

เกี่ยวข้องกับการแปลงข้อมูลให้อยู่ในรูปแบบที่เหมาะสมซึ่งสามารถโหลดลงในระบบ DW ได้อย่างง่ายดาย การแปลงข้อมูลเกี่ยวข้องกับการใช้การคำนวณการรวมและการกำหนดคีย์หลักและคีย์ต่างประเทศบนข้อมูล ตัวอย่างเช่นหากคุณต้องการ% ของรายได้ทั้งหมดที่ไม่ได้อยู่ในฐานข้อมูลคุณจะใช้สูตร% ในการแปลงและโหลดข้อมูล ในทำนองเดียวกันหากคุณมีชื่อจริงและนามสกุลของผู้ใช้ในคอลัมน์ที่ต่างกันคุณสามารถใช้การดำเนินการเรียงต่อกันก่อนที่จะโหลดข้อมูล ข้อมูลบางอย่างไม่ต้องการการเปลี่ยนแปลงใด ๆ ข้อมูลดังกล่าวเรียกว่าdirect move หรือ pass through data.

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

การโหลดข้อมูลลงในระบบ DW

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

ฟังก์ชัน ETL Tool

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

  • Staging Layer - ชั้นการจัดเตรียมหรือฐานข้อมูลการจัดเตรียมใช้เพื่อจัดเก็บข้อมูลที่ดึงมาจากระบบข้อมูลต้นทางที่แตกต่างกัน

  • Data Integration Layer - เลเยอร์การรวมจะแปลงข้อมูลจากเลเยอร์การจัดเตรียมและย้ายข้อมูลไปยังฐานข้อมูลซึ่งข้อมูลจะถูกจัดเรียงเป็นกลุ่มตามลำดับชั้นซึ่งมักเรียกว่า dimensionsและเข้า facts และ aggregate facts. การรวมกันของตารางข้อเท็จจริงและขนาดในระบบ DW เรียกว่า aschema.

  • Access Layer - ผู้ใช้ปลายทางใช้ชั้นการเข้าถึงเพื่อดึงข้อมูลสำหรับการรายงานเชิงวิเคราะห์และข้อมูล

ภาพประกอบต่อไปนี้แสดงให้เห็นว่าเลเยอร์ทั้งสามโต้ตอบกันอย่างไร

การทดสอบ ETL เสร็จสิ้นก่อนที่ข้อมูลจะถูกย้ายไปยังระบบคลังข้อมูลการผลิต บางครั้งเรียกว่าเป็นtable balancing หรือ production reconciliation. แตกต่างจากการทดสอบฐานข้อมูลในแง่ของขอบเขตและขั้นตอนที่ต้องดำเนินการเพื่อให้เสร็จสมบูรณ์

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

การทดสอบ ETL - งานที่ต้องดำเนินการ

นี่คือรายการของงานทั่วไปที่เกี่ยวข้องกับการทดสอบ ETL -

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

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

ที่นี่เราได้เน้นถึงความแตกต่างที่สำคัญระหว่างการทดสอบ ETL และการทดสอบฐานข้อมูล

การทดสอบ ETL

การทดสอบ ETL เกี่ยวข้องกับการดำเนินการดังต่อไปนี้ -

  • การตรวจสอบความถูกต้องของการเคลื่อนย้ายข้อมูลจากต้นทางไปยังระบบเป้าหมาย

  • การตรวจสอบจำนวนข้อมูลในแหล่งที่มาและระบบเป้าหมาย

  • ตรวจสอบการแยกข้อมูลการแปลงตามความต้องการและความคาดหวัง

  • การตรวจสอบว่าความสัมพันธ์ของตาราง - การรวมและคีย์ - ถูกเก็บรักษาไว้ในระหว่างการแปลงหรือไม่

เครื่องมือทดสอบ ETL ทั่วไป ได้แก่ QuerySurge, Informaticaฯลฯ

การทดสอบฐานข้อมูล

การทดสอบฐานข้อมูลเน้นความถูกต้องของข้อมูลความถูกต้องของข้อมูลและค่าที่ถูกต้อง มันเกี่ยวข้องกับการดำเนินการต่อไปนี้ -

  • ตรวจสอบว่าคีย์หลักและคีย์ต่างประเทศถูกเก็บรักษาไว้หรือไม่

  • ตรวจสอบว่าคอลัมน์ในตารางมีค่าข้อมูลที่ถูกต้องหรือไม่

  • การตรวจสอบความถูกต้องของข้อมูลในคอลัมน์ Example - คอลัมน์จำนวนเดือนไม่ควรมีค่ามากกว่า 12

  • กำลังตรวจสอบข้อมูลที่ขาดหายไปในคอลัมน์ ตรวจสอบว่ามีคอลัมน์ว่างซึ่งควรมีค่าที่ถูกต้องหรือไม่

เครื่องมือทดสอบฐานข้อมูลทั่วไป ได้แก่ Selenium, QTPฯลฯ

ตารางต่อไปนี้รวบรวมคุณสมบัติหลักของการทดสอบฐานข้อมูลและ ETL และการเปรียบเทียบ -

ฟังก์ชัน การทดสอบฐานข้อมูล การทดสอบ ETL
เป้าหมายหลัก การตรวจสอบและการรวมข้อมูล การแยกข้อมูลการแปลงและการโหลดสำหรับการรายงาน BI
ระบบที่ใช้งานได้ ระบบธุรกรรมที่เกิดกระแสธุรกิจ ระบบที่มีข้อมูลประวัติและไม่อยู่ในสภาพแวดล้อมของกระแสธุรกิจ
เครื่องมือทั่วไป QTP ซีลีเนียม ฯลฯ QuerySurge, Informatica ฯลฯ
ความต้องการทางธุรกิจ ใช้เพื่อรวมข้อมูลจากแอพพลิเคชั่นหลายตัวผลกระทบที่รุนแรง ใช้สำหรับการรายงานเชิงวิเคราะห์ข้อมูลและการคาดการณ์
การสร้างแบบจำลอง วิธี ER หลายมิติ
ประเภทฐานข้อมูล โดยปกติจะใช้ในระบบ OLTP ใช้กับระบบ OLAP
ประเภทข้อมูล ข้อมูลที่เป็นมาตรฐานพร้อมการรวมเพิ่มเติม ข้อมูลที่ไม่ทำให้เป็นมาตรฐานโดยมีการรวมน้อยดัชนีและการรวมมากขึ้น

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

  • Source to Target Count Testing - เกี่ยวข้องกับการจับคู่จำนวนบันทึกในระบบต้นทางและระบบเป้าหมาย

  • Source to Target Data Testing- เกี่ยวข้องกับการตรวจสอบข้อมูลระหว่างแหล่งที่มาและระบบเป้าหมาย นอกจากนี้ยังเกี่ยวข้องกับการรวมข้อมูลและการตรวจสอบค่าขีด จำกัด และการตรวจสอบข้อมูลที่ซ้ำกันในระบบเป้าหมาย

  • Data Mapping or Transformation Testing- ยืนยันการทำแผนที่ของวัตถุในแหล่งที่มาและระบบเป้าหมาย นอกจากนี้ยังเกี่ยวข้องกับการตรวจสอบการทำงานของข้อมูลในระบบเป้าหมาย

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

  • Retesting - เกี่ยวข้องกับการแก้ไขข้อบกพร่องและข้อบกพร่องของข้อมูลในระบบเป้าหมายและเรียกใช้รายงานอีกครั้งสำหรับการตรวจสอบข้อมูล

  • System Integration Testing- เกี่ยวข้องกับการทดสอบระบบแต่ละระบบและรวมผลลัพธ์ในภายหลังเพื่อดูว่ามีการเบี่ยงเบนหรือไม่ มีสามวิธีที่สามารถใช้ในการดำเนินการนี้: จากบนลงล่างขึ้นล่างขึ้นบนและไฮบริด

ตามโครงสร้างของระบบคลังข้อมูลการทดสอบ ETL (โดยไม่คำนึงถึงเครื่องมือที่ใช้) สามารถแบ่งออกเป็นประเภทต่างๆดังต่อไปนี้ -

การทดสอบระบบ DW ใหม่

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

การทดสอบการย้ายข้อมูล

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

เปลี่ยนการทดสอบ

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

รายงานการทดสอบ

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

การทดสอบ ETL แตกต่างจากการทดสอบฐานข้อมูลหรือการทดสอบทั่วไปอื่น ๆ อาจต้องเผชิญกับความท้าทายประเภทต่างๆขณะทำการทดสอบ ETL ที่นี่เราแสดงรายการความท้าทายทั่วไปบางประการ -

  • ข้อมูลสูญหายระหว่างกระบวนการ ETL

  • ข้อมูลไม่ถูกต้องไม่สมบูรณ์หรือซ้ำกัน

  • ระบบ DW มีข้อมูลในอดีตดังนั้นปริมาณข้อมูลจึงใหญ่เกินไปและซับซ้อนมากที่จะทำการทดสอบ ETL ในระบบเป้าหมาย

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

  • ยากที่จะสร้างและสร้างกรณีทดสอบเนื่องจากปริมาณข้อมูลสูงและซับซ้อนเกินไป

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

  • การทดสอบ ETL เกี่ยวข้องกับแนวคิด SQL ที่ซับซ้อนต่างๆสำหรับการตรวจสอบข้อมูลในระบบเป้าหมาย

  • บางครั้งผู้ทดสอบจะไม่ได้รับข้อมูลการแมปต้นทางกับเป้าหมาย

  • สภาพแวดล้อมการทดสอบที่ไม่เสถียรทำให้การพัฒนาและการทดสอบกระบวนการล่าช้า

ผู้ทดสอบ ETL มีหน้าที่หลักในการตรวจสอบความถูกต้องของแหล่งข้อมูลการแยกข้อมูลการใช้ตรรกะการแปลงและการโหลดข้อมูลในตารางเป้าหมาย

ความรับผิดชอบหลักของผู้ทดสอบ ETL มีดังต่อไปนี้

ตรวจสอบตารางในระบบต้นทาง

มันเกี่ยวข้องกับการดำเนินการต่อไปนี้ -

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

ใช้ Transformation Logic

ตรรกะการแปลงถูกนำไปใช้ก่อนที่จะโหลดข้อมูล มันเกี่ยวข้องกับการดำเนินการต่อไปนี้ -

  • การตรวจสอบความถูกต้องของเกณฑ์ข้อมูลเช่นค่าอายุไม่ควรเกิน 100

  • บันทึกการตรวจนับก่อนและหลังใช้ตรรกะการแปลง

  • การตรวจสอบกระแสข้อมูลจากพื้นที่จัดเตรียมไปยังตารางกลาง

  • ตรวจสอบคีย์ตัวแทน

กำลังโหลดข้อมูล

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

  • บันทึกการตรวจนับจากตารางกลางไปยังระบบเป้าหมาย

  • ตรวจสอบให้แน่ใจว่าข้อมูลคีย์ฟิลด์ไม่หายไปหรือ Null

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

  • ตรวจสอบมุมมองการสร้างแบบจำลองตามตารางเป้าหมาย

  • ตรวจสอบว่ามีการนำ CDC ไปใช้กับตารางโหลดส่วนเพิ่มหรือไม่

  • การตรวจสอบข้อมูลในตารางมิติข้อมูลและการตรวจสอบตารางประวัติ

  • ตรวจสอบรายงาน BI ตามตารางข้อมูลและมิติข้อมูลที่โหลดและตามผลลัพธ์ที่คาดหวัง

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

ผู้ทดสอบ ETL จะต้องทดสอบเครื่องมือและกรณีทดสอบด้วย มันเกี่ยวข้องกับการดำเนินการต่อไปนี้ -

  • ทดสอบเครื่องมือ ETL และฟังก์ชั่น
  • ทดสอบระบบ ETL Data Warehouse
  • สร้างออกแบบและดำเนินการตามแผนการทดสอบและกรณีทดสอบ
  • ทดสอบการถ่ายโอนข้อมูลไฟล์แบบแบน

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

มีเทคนิคการทดสอบหลายประเภทที่สามารถใช้ได้ ในบทนี้เราจะพูดถึงเทคนิคการทดสอบโดยสังเขป

การทดสอบการตรวจสอบการผลิต

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

การทดสอบการนับจากต้นทางถึงเป้าหมาย

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

การทดสอบข้อมูลจากต้นทางถึงเป้าหมาย

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

การรวมข้อมูล / การทดสอบการตรวจสอบความถูกต้องของค่าเกณฑ์

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

Example - แอตทริบิวต์อายุไม่ควรมีค่ามากกว่า 100 ในคอลัมน์วันที่ DD / MM / YY ช่องเดือนไม่ควรมีค่ามากกว่า 12

การทดสอบการย้ายแอปพลิเคชัน

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

การตรวจสอบข้อมูลและการทดสอบข้อ จำกัด

ซึ่งรวมถึงการดำเนินการตรวจสอบต่างๆเช่นการตรวจสอบประเภทข้อมูลการตรวจสอบความยาวของข้อมูลและการตรวจสอบดัชนี วิศวกรทดสอบจะดำเนินการในสถานการณ์ต่อไปนี้ - คีย์หลักคีย์ต่างประเทศไม่ใช่ NULL NULL และ UNIQUE

การทดสอบการตรวจสอบข้อมูลซ้ำ

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

ค่าที่ซ้ำกันสามารถตรวจสอบได้ด้วยคำสั่ง SQL เช่น -

Select Cust_Id, Cust_NAME, Quantity, COUNT (*) 
FROM Customer
GROUP BY Cust_Id, Cust_NAME, Quantity HAVING COUNT (*) >1;

ข้อมูลที่ซ้ำกันปรากฏในระบบเป้าหมายเนื่องจากสาเหตุต่อไปนี้ -

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

การทดสอบการแปลงข้อมูล

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

การทดสอบคุณภาพข้อมูล

การทดสอบคุณภาพข้อมูลเกี่ยวข้องกับการตรวจสอบตัวเลขการตรวจสอบวันที่การตรวจสอบค่าว่างการตรวจสอบความแม่นยำ ฯลฯ ผู้ทดสอบจะดำเนินการ Syntax Test เพื่อรายงานอักขระที่ไม่ถูกต้องลำดับตัวพิมพ์ใหญ่ / เล็กไม่ถูกต้อง ฯลฯ และ Reference Tests เพื่อตรวจสอบว่าข้อมูลเป็นไปตามแบบจำลองข้อมูลหรือไม่

การทดสอบที่เพิ่มขึ้น

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

การทดสอบการถดถอย

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

การทดสอบซ้ำ

เมื่อคุณเรียกใช้การทดสอบหลังจากแก้ไขรหัสแล้วจะเรียกว่าการทดสอบซ้ำ

การทดสอบการรวมระบบ

การทดสอบการรวมระบบเกี่ยวข้องกับการทดสอบส่วนประกอบของระบบทีละระบบและการรวมโมดูลในภายหลัง การรวมระบบสามารถทำได้สามวิธี ได้แก่ จากบนลงล่างล่างขึ้นบนและไฮบริด

การทดสอบการนำทาง

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

การทดสอบ ETL ครอบคลุมขั้นตอนทั้งหมดที่เกี่ยวข้องกับวงจรชีวิต ETL เริ่มต้นด้วยการทำความเข้าใจข้อกำหนดทางธุรกิจจนถึงการสร้างรายงานสรุป

ขั้นตอนทั่วไปภายใต้วงจรชีวิตการทดสอบ ETL แสดงอยู่ด้านล่าง -

  • ทำความเข้าใจกับข้อกำหนดทางธุรกิจ

  • การตรวจสอบความต้องการของธุรกิจ

  • Test Estimation ใช้เพื่อระบุเวลาโดยประมาณในการเรียกใช้กรณีทดสอบและเพื่อทำรายงานสรุป

  • การวางแผนการทดสอบเกี่ยวข้องกับการค้นหาเทคนิคการทดสอบตามปัจจัยการผลิตตามความต้องการทางธุรกิจ

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

  • เมื่อกรณีทดสอบพร้อมและได้รับการอนุมัติขั้นตอนต่อไปคือทำการตรวจสอบก่อนการดำเนินการ

  • ดำเนินการทดสอบกรณีทั้งหมด

  • ขั้นตอนสุดท้ายคือการสร้างรายงานสรุปที่สมบูรณ์และยื่นกระบวนการปิด

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

สถานการณ์ทดสอบ กรณีทดสอบ

การตรวจสอบโครงสร้าง

เกี่ยวข้องกับการตรวจสอบแหล่งที่มาและโครงสร้างตารางเป้าหมายตามเอกสารการแม็ป

ประเภทข้อมูลควรได้รับการตรวจสอบความถูกต้องในแหล่งที่มาและระบบเป้าหมาย

ความยาวของชนิดข้อมูลในแหล่งที่มาและระบบเป้าหมายควรเหมือนกัน

ประเภทฟิลด์ข้อมูลและรูปแบบควรเหมือนกันในแหล่งที่มาและระบบเป้าหมาย

การตรวจสอบชื่อคอลัมน์ในระบบเป้าหมาย

กำลังตรวจสอบเอกสารการทำแผนที่

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

ตรวจสอบข้อ จำกัด

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

การตรวจสอบความสอดคล้องของข้อมูล

เกี่ยวข้องกับการตรวจสอบการใช้ข้อ จำกัด ด้านความสมบูรณ์ในทางที่ผิดเช่น Foreign Key

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

การตรวจสอบความสมบูรณ์ของข้อมูล

เกี่ยวข้องกับการตรวจสอบว่าข้อมูลทั้งหมดถูกโหลดไปยังระบบเป้าหมายจากระบบต้นทางหรือไม่

การนับจำนวนเรกคอร์ดในระบบต้นทางและระบบเป้าหมาย

การวิเคราะห์มูลค่าขอบเขต

การตรวจสอบความถูกต้องของค่าที่ไม่ซ้ำกันของคีย์หลัก

การตรวจสอบความถูกต้องของข้อมูล

เกี่ยวข้องกับการตรวจสอบค่าของข้อมูลในระบบเป้าหมาย

พบข้อมูลที่สะกดผิดหรือไม่ถูกต้องในตาราง

ข้อมูลที่เป็นค่าว่างไม่ซ้ำจะถูกจัดเก็บเมื่อคุณปิดใช้งานข้อ จำกัด ด้านความสมบูรณ์ในเวลาที่นำเข้า

การตรวจสอบการแปลงข้อมูล

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

การตรวจสอบความสัมพันธ์แม่ลูกในข้อมูลโดยการสร้างสถานการณ์จำลอง

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

ตรวจสอบว่าชนิดข้อมูลในคลังข้อมูลตรงกับที่ระบุไว้ในโมเดลข้อมูลหรือไม่

การตรวจสอบคุณภาพข้อมูล

มันเกี่ยวข้องกับการตรวจสอบหมายเลขการตรวจสอบวันที่การตรวจสอบความแม่นยำการตรวจสอบข้อมูลการตรวจสอบ Null ฯลฯ

Example - รูปแบบวันที่ควรเหมือนกันสำหรับค่าทั้งหมด

การตรวจสอบค่าว่าง

เกี่ยวข้องกับการตรวจสอบค่า Null ที่กล่าวถึง Not Null สำหรับฟิลด์นั้น

การตรวจสอบความถูกต้องซ้ำกัน

เกี่ยวข้องกับการตรวจสอบความถูกต้องของค่าที่ซ้ำกันในระบบเป้าหมายเมื่อข้อมูลมาจากหลายคอลัมน์จากระบบต้นทาง

การตรวจสอบความถูกต้องของคีย์หลักและคอลัมน์อื่น ๆ หากมีค่าที่ซ้ำกันตามข้อกำหนดทางธุรกิจ

ตรวจสอบวันที่

การตรวจสอบฟิลด์วันที่สำหรับการดำเนินการต่างๆที่ดำเนินการในกระบวนการ ETL

กรณีทดสอบทั่วไปเพื่อทำการตรวจสอบวันที่ -

  • From_Date ไม่ควรมากกว่า To_Date

  • รูปแบบของค่าวันที่ควรเหมาะสม

  • ค่าวันที่ไม่ควรมีค่าขยะหรือค่าว่าง

การตรวจสอบข้อมูลแบบเต็มลบแบบสอบถาม

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

  • คุณต้องดำเนินการทั้งสองอย่าง source minus target และ target minus source.

  • หากคิวรีลบส่งกลับค่าจะถือว่าเป็นแถวที่ไม่ตรงกัน

  • คุณต้องจับคู่แถวในซอร์สและกำหนดเป้าหมายโดยใช้ไฟล์ Intersect คำให้การ.

  • จำนวนที่ส่งคืนโดย Intersect ควรตรงกับจำนวนตารางต้นทางและตารางเป้าหมายแต่ละรายการ

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

สถานการณ์ทดสอบอื่น ๆ

สถานการณ์การทดสอบอื่น ๆ สามารถตรวจสอบได้ว่ากระบวนการแยกไม่ได้ดึงข้อมูลที่ซ้ำกันออกจากระบบต้นทาง

ทีมทดสอบจะเก็บรักษารายการคำสั่ง SQL ที่เรียกใช้เพื่อตรวจสอบความถูกต้องว่าไม่มีการดึงข้อมูลที่ซ้ำกันออกจากระบบต้นทาง

การทำความสะอาดข้อมูล

ควรลบข้อมูลที่ไม่ต้องการออกก่อนโหลดข้อมูลไปยังพื้นที่จัดเตรียม

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

วิธีการปรับแต่งประสิทธิภาพการทดสอบ ETL

ทำตามขั้นตอนด้านล่างเพื่อทำการปรับแต่งประสิทธิภาพการทดสอบ ETL -

  • Step 1 - ค้นหาภาระที่กำลังเปลี่ยนแปลงในการผลิต

  • Step 2 - สร้างข้อมูลใหม่ของโหลดเดียวกันหรือย้ายจากข้อมูลการผลิตไปยังเซิร์ฟเวอร์ประสิทธิภาพภายในของคุณ

  • Step 3 - ปิดการใช้งาน ETL จนกว่าคุณจะสร้างภาระที่ต้องการ

  • Step 4 - นับข้อมูลที่ต้องการจากตารางของฐานข้อมูล

  • Step 5- จดบันทึก ETL ครั้งสุดท้ายและเปิดใช้งาน ETL เพื่อให้ได้รับความเครียดเพียงพอที่จะเปลี่ยนภาระทั้งหมดที่สร้างขึ้น เรียกใช้

  • Step 6 - หลังจาก ETL ทำงานเสร็จสิ้นให้นับข้อมูลที่สร้างขึ้น

ตัวบ่งชี้ประสิทธิภาพ

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

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

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

เพื่อให้มั่นใจถึงความพร้อมในการทดสอบจากทุกด้านประเด็นสำคัญที่กลยุทธ์การทดสอบควรมุ่งเน้นคือ -

  • ขอบเขตของการทดสอบ - อธิบายเทคนิคการทดสอบและประเภทที่จะใช้

  • การตั้งค่าสภาพแวดล้อมการทดสอบ

  • ทดสอบความพร้อมใช้งานของข้อมูล - ขอแนะนำให้มีการผลิตเช่นข้อมูลที่ครอบคลุมความต้องการทางธุรกิจที่สำคัญทั้งหมด

  • เกณฑ์การยอมรับคุณภาพของข้อมูลและประสิทธิภาพ

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

การเปรียบเทียบมูลค่า

การเปรียบเทียบมูลค่าเกี่ยวข้องกับการเปรียบเทียบข้อมูลในระบบต้นทางและเป้าหมายโดยมีการเปลี่ยนแปลงขั้นต่ำหรือไม่มีเลย สามารถทำได้โดยใช้เครื่องมือทดสอบ ETL ต่างๆตัวอย่างเช่น Source Qualifier Transformation ใน Informatica

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

ตรวจสอบคอลัมน์ข้อมูลที่สำคัญ

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

SELECT cust_name, Order_Id, city, count(*) FROM customer 
GROUP BY cust_name, Order_Id, city;

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

ตรวจสอบความยาวข้อมูล

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

ตรวจสอบประเภทข้อมูล

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

การตรวจสอบข้อ จำกัด / ดัชนี

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

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

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

ขั้นตอนสำคัญสำหรับการแปลงข้อมูลการทดสอบ ETL มีดังต่อไปนี้ -

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

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

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

  • ตรวจสอบการประมวลผลที่ถูกต้องของฟิลด์ที่สร้างโดย ETL เช่นคีย์ตัวแทน

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

  • สร้างสถานการณ์ข้อมูลระหว่างตารางที่ทดสอบความสมบูรณ์ของการอ้างอิง

  • ตรวจสอบความสัมพันธ์ระหว่างแม่กับลูกในข้อมูล

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

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

ตรวจสอบหมายเลข

รูปแบบตัวเลขควรเหมือนกันในระบบเป้าหมาย ตัวอย่างเช่นในระบบต้นทางรูปแบบของการกำหนดหมายเลขคอลัมน์คือx.30แต่ถ้าเป้าหมายเป็นเพียง 30ก็ต้องโหลดไม่ใช่คำนำหน้า x. ในหมายเลขคอลัมน์เป้าหมาย

ตรวจสอบวันที่

รูปแบบวันที่ควรสอดคล้องกันทั้งในระบบต้นทางและระบบเป้าหมาย ตัวอย่างเช่นควรจะเหมือนกันในทุกระเบียน รูปแบบมาตรฐานคือ: yyyy-mm-dd

ตรวจสอบความแม่นยำ

ค่าความแม่นยำควรแสดงตามที่คาดไว้ในตารางเป้าหมาย ตัวอย่างเช่นในตารางต้นทางค่าคือ 15.2323422 แต่ในตารางเป้าหมายควรแสดงเป็น 15.23 หรือรอบ 15

ตรวจสอบข้อมูล

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

Example - เฉพาะระเบียนที่มี date_id> = 2015 และ Account_Id! = '001' เท่านั้นที่ควรโหลดในตารางเป้าหมาย

ตรวจสอบค่าว่าง

บางคอลัมน์ควรมีค่า Null ตามข้อกำหนดและค่าที่เป็นไปได้สำหรับฟิลด์นั้น

Example - คอลัมน์วันที่สิ้นสุดควรแสดงค่า Null เว้นแต่และจนกว่าคอลัมน์สถานะที่ใช้งานจะเป็น "T" หรือ "เสียชีวิต"

การตรวจสอบอื่น ๆ

การตรวจสอบทั่วไปเช่น From_Date ไม่ควรมากกว่า To_Date สามารถทำได้

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

การทดสอบทั่วไปที่สามารถทำได้มีดังนี้ -

  • การตรวจสอบฟังก์ชัน Aggregate (sum, max, min, count),

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

การตรวจสอบการนับ

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

SELECT count (1) FROM employee; 
SELECT count (1) FROM emp_dim;

การตรวจสอบโปรไฟล์ข้อมูล

เกี่ยวข้องกับการตรวจสอบฟังก์ชันการรวมเช่น count, sum และ max ในตารางต้นทางและเป้าหมาย (fact หรือมิติ)

การตรวจสอบโปรไฟล์ข้อมูลคอลัมน์

เกี่ยวข้องกับการเปรียบเทียบค่าที่แตกต่างกันและจำนวนแถวสำหรับแต่ละค่าที่แตกต่างกัน

SELECT city, count(*) FROM employee GROUP BY city; 
SELECT city_id, count(*) FROM emp_dim GROUP BY city_id;

การตรวจสอบข้อมูลซ้ำ

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

SELECT first_name, last_name, date_of_joining, count (1) FROM employee
GROUP BY first_name, last_name HAVING count(1)>1;

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

การทดสอบการกู้คืนข้อมูล ETL ใช้เพื่อให้แน่ใจว่าระบบคลังข้อมูลสามารถกู้คืนจากฮาร์ดแวร์ซอฟต์แวร์หรือจากความล้มเหลวของเครือข่ายโดยสูญเสียข้อมูลใด ๆ

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

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

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

ความท้าทายทางเทคนิคในการทดสอบ ETL ด้วยตนเอง

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

มีเครื่องมือมากมายในตลาดเพื่อทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติ เครื่องมือทดสอบ ETL ที่พบบ่อยที่สุด ได้แก่ QuerySurge และ Informatica Data Validation

QuerySurge

QuerySurge เป็นโซลูชันการทดสอบข้อมูลที่ออกแบบมาสำหรับการทดสอบ Big Data, Data Warehouses และกระบวนการ ETL สามารถทำให้กระบวนการทั้งหมดเป็นไปโดยอัตโนมัติและเข้ากันได้ดีกับกลยุทธ์ DevOps ของคุณ

คุณสมบัติที่สำคัญของ QuerySurge มีดังนี้ -

  • มี Query Wizards เพื่อสร้าง QueryPairs ทดสอบอย่างรวดเร็วและง่ายดายโดยที่ผู้ใช้ไม่ต้องเขียน SQL ใด ๆ

  • มีไลบรารีการออกแบบพร้อมตัวอย่างแบบสอบถามที่ใช้ซ้ำได้ คุณสามารถสร้าง QueryPairs แบบกำหนดเองได้เช่นกัน

  • สามารถเปรียบเทียบข้อมูลจากไฟล์ต้นทางและที่เก็บข้อมูลกับคลังข้อมูลเป้าหมายหรือที่เก็บข้อมูลขนาดใหญ่

  • สามารถเปรียบเทียบแถวและคอลัมน์ข้อมูลนับล้านในไม่กี่นาที

  • ช่วยให้ผู้ใช้สามารถกำหนดเวลาการทดสอบเพื่อเรียกใช้ (1) ทันที (2) วันที่ / เวลาใดก็ได้หรือ (3) โดยอัตโนมัติหลังจากเหตุการณ์สิ้นสุดลง

  • สามารถสร้างรายงานข้อมูลดูการอัปเดตและส่งอีเมลผลลัพธ์อัตโนมัติไปยังทีมของคุณ

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

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

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

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

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

วิเคราะห์ข้อมูล

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

แก้ไขข้อมูลที่ไม่ถูกต้องในระบบต้นทาง

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

ค้นหาเครื่องมือ ETL ที่เข้ากันได้

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

ตรวจสอบงาน ETL

แนวทางปฏิบัติที่ดีที่สุดอีกประการหนึ่งในระหว่างการใช้งาน ETL คือการตั้งเวลาการตรวจสอบและการตรวจสอบงาน ETL เพื่อให้แน่ใจว่าโหลดจะดำเนินการตามความคาดหวัง

รวมข้อมูลที่เพิ่มขึ้น

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

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

ความสามารถในการปรับขนาด

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