บทช่วยสอนการทดสอบ ETL
⚡ สรุปอย่างชาญฉลาด
การทดสอบ 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 ที่มีประสิทธิภาพ:
- ความถูกต้องของข้อมูล: เป็นการยืนยันว่าค่าที่แปลงโดยกฎทางธุรกิจตรงกับข้อกำหนดการแมปที่ระบุไว้ในเอกสาร ซึ่งช่วยป้องกันการทุจริตโดยไม่รู้ตัว
- การรายงานที่น่าเชื่อถือ: แดชบอร์ดและเครื่องมือ BI ขึ้นอยู่กับคลังข้อมูล ดังนั้นไปป์ไลน์ ETL ที่ได้รับการตรวจสอบแล้วจะช่วยปกป้องรายงานและ KPI ทุกรายการในขั้นตอนถัดไป
- การปฏิบัติตามกฎระเบียบ: อุตสาหกรรมต่างๆ เช่น ธนาคาร การดูแลสุขภาพ และประกันภัย ต้องพิสูจน์ให้ได้ว่าที่มาและความสมบูรณ์ของข้อมูลได้รับการรักษาไว้ตั้งแต่ต้นจนจบ
- ลดการทำงานซ้ำ: การตรวจจับข้อบกพร่องในสภาพแวดล้อมที่ต่ำกว่าจะช่วยหลีกเลี่ยงการโหลดการผลิตซ้ำที่มีค่าใช้จ่ายสูง การตรวจสอบความถูกต้องด้วยตนเอง และข้อผิดพลาดที่ลูกค้าพบเจอ
- การรับประกันประสิทธิภาพ: การทดสอบ ETL จะวัดช่วงเวลาการโหลด ปริมาณงาน และจุดคอขวด เพื่อให้คลังข้อมูลสามารถขยายขนาดได้อย่างต่อเนื่องตามปริมาณข้อมูลที่เพิ่มขึ้น
เมื่อเข้าใจแรงจูงใจเหล่านี้แล้ว ส่วนถัดไปจะอธิบายกระบวนการที่เป็นระบบซึ่งผู้ทดสอบ ETL ปฏิบัติตามในโครงการจริง
กระบวนการทดสอบ ETL
เช่นเดียวกับกระบวนการทดสอบอื่นๆ ETL ก็ต้องผ่านหลายขั้นตอนเช่นกัน ขั้นตอนต่างๆ ของกระบวนการทดสอบ ETL มีดังต่อไปนี้:
การทดสอบ ETL ดำเนินการในห้าขั้นตอน:
- การระบุแหล่งข้อมูลและข้อกำหนด
- ข้อมูลที่ได้มา
- ดำเนินการตามตรรกะทางธุรกิจและการสร้างแบบจำลองเชิงมิติ
- สร้างและเติมข้อมูล
- สร้างรายงาน
เมื่อพิจารณาถึงกระบวนการโดยรวมแล้ว เรามาดูประเภทของการทดสอบเฉพาะที่เหมาะสมกับวงจรชีวิตนี้กัน
ประเภทของการทดสอบ ETL
- การทดสอบการตรวจสอบการผลิต
ขั้นตอนการทดสอบ: การทดสอบ ETL ประเภทนี้ หรือที่เรียกว่า “การปรับสมดุลตาราง” หรือ “การตรวจสอบความถูกต้องของข้อมูลในระบบการผลิต” จะดำเนินการกับข้อมูลขณะที่กำลังส่งไปยังระบบการผลิต เพื่อสนับสนุนการตัดสินใจทางธุรกิจ ข้อมูลในระบบการผลิตจะต้องอยู่ในลำดับที่ถูกต้อง สารสนเทศ ตัวเลือกการตรวจสอบความถูกต้องของข้อมูลช่วยให้สามารถทำการทดสอบ ETL โดยอัตโนมัติและจัดการได้อย่างมีประสิทธิภาพ เพื่อป้องกันไม่ให้ระบบการผลิตได้รับผลกระทบจากข้อมูลที่ไม่ถูกต้อง - ที่มาที่ Target การทดสอบ (การทดสอบการตรวจสอบ)
ขั้นตอนการทดสอบ: การทดสอบประเภทนี้จะตรวจสอบว่าค่าข้อมูลที่แปลงแล้วตรงกับค่าเป้าหมายที่คาดหวังหรือไม่ - การใช้งาน Upgrades
ขั้นตอนการทดสอบ: การทดสอบ ETL ประเภทนี้สามารถสร้างได้โดยอัตโนมัติ ช่วยประหยัดเวลาในการพัฒนาการทดสอบได้อย่างมาก โดยจะตรวจสอบว่าข้อมูลที่ดึงมาจากแอปพลิเคชันหรือที่เก็บข้อมูลเก่าตรงกับข้อมูลในแอปพลิเคชันหรือที่เก็บข้อมูลใหม่หรือไม่ - การทดสอบข้อมูลเมตา
ขั้นตอนการทดสอบ: การทดสอบเมตาเดตาประกอบด้วยการตรวจสอบประเภทข้อมูล การตรวจสอบความยาวข้อมูล และการตรวจสอบดัชนีหรือข้อจำกัด - การทดสอบความสมบูรณ์ของข้อมูล
ขั้นตอนการทดสอบ: การทดสอบความสมบูรณ์ของข้อมูลจะตรวจสอบว่าข้อมูลที่คาดหวังทั้งหมดถูกโหลดจากแหล่งข้อมูลไปยังปลายทางแล้ว การทดสอบทั่วไปได้แก่ การเปรียบเทียบและตรวจสอบจำนวนระเบียน ผลรวม และข้อมูลจริงระหว่างคอลัมน์ของแหล่งข้อมูลและปลายทาง เมื่อการแปลงข้อมูลนั้นง่ายหรือไม่มีการแปลงข้อมูลเลย - การทดสอบความถูกต้องของข้อมูล
ขั้นตอนการทดสอบ: การทดสอบนี้ช่วยให้มั่นใจได้ว่าข้อมูลจะถูกโหลดและแปลงอย่างถูกต้องตามที่คาดหวัง - การทดสอบการเปลี่ยนแปลงข้อมูล
ขั้นตอนการทดสอบ: การทดสอบการแปลงข้อมูลมักไม่สามารถทำได้ด้วยแหล่งข้อมูลเพียงแหล่งเดียว SQL การสอบถามและการเปรียบเทียบผลลัพธ์ อาจจำเป็นต้องใช้คำสั่ง SQL หลายคำสั่งสำหรับแต่ละแถวเพื่อตรวจสอบกฎการแปลงข้อมูล - การทดสอบคุณภาพข้อมูล
ขั้นตอนการทดสอบ:การทดสอบคุณภาพข้อมูลประกอบด้วยการทดสอบไวยากรณ์และการทดสอบการอ้างอิง ซึ่งช่วยป้องกันข้อผิดพลาดในกระบวนการทางธุรกิจที่เกิดจากวันที่หรือหมายเลขคำสั่งซื้อที่ไม่ถูกต้อง
การทดสอบไวยากรณ์จะรายงานข้อมูลที่ไม่ถูกต้อง โดยพิจารณาจากอักขระที่ไม่ถูกต้อง รูปแบบอักขระ และลำดับตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กที่ไม่ถูกต้อง
การทดสอบอ้างอิงจะตรวจสอบข้อมูลกับแบบจำลองข้อมูล ตัวอย่างเช่น รหัสลูกค้า
การทดสอบคุณภาพข้อมูลยังรวมถึงการตรวจสอบตัวเลข การตรวจสอบวันที่ การตรวจสอบความแม่นยำ การตรวจสอบข้อมูล และการตรวจสอบค่าว่างด้วย
- การทดสอบ ETL แบบเพิ่มทีละขั้น
ขั้นตอนการทดสอบ: การทดสอบนี้ตรวจสอบความถูกต้องของข้อมูลทั้งข้อมูลเก่าและข้อมูลใหม่ โดยมีการเพิ่มข้อมูลใหม่เข้าไปด้วย การทดสอบแบบเพิ่มทีละส่วนจะตรวจสอบว่าการแทรกและการอัปเดตได้รับการประมวลผลตามที่คาดไว้ในระหว่างกระบวนการ ETL แบบเพิ่มทีละส่วน - การทดสอบ GUI/การนำทาง
ขั้นตอนการทดสอบ: การทดสอบนี้ตรวจสอบการนำทางและส่วนติดต่อผู้ใช้ (GUI) ของรายงานส่วนหน้า
วิธีสร้างกรณีทดสอบ ETL
การทดสอบ ETL เป็นแนวคิดที่สามารถนำไปใช้กับเครื่องมือและฐานข้อมูลต่างๆ ในอุตสาหกรรมการจัดการข้อมูลได้ วัตถุประสงค์ของการทดสอบ ETL คือการรับรองว่าข้อมูลที่โหลดจากแหล่งข้อมูลไปยังปลายทางหลังจากกระบวนการทางธุรกิจนั้นถูกต้องแม่นยำ นอกจากนี้ยังเกี่ยวข้องกับการตรวจสอบความถูกต้องของข้อมูลในขั้นตอนต่างๆ ระหว่างแหล่งที่มาและปลายทางด้วย
ในการทดสอบ ETL นั้น ผู้ทดสอบ ETL จะใช้เอกสารสองฉบับเสมอ:
- เอกสารแผนผัง ETL: เอกสารการแมป ETL ประกอบด้วยข้อมูลทั้งหมดของตารางต้นทางและปลายทาง รวมถึงแต่ละคอลัมน์และการค้นหาในตารางอ้างอิง ผู้ทดสอบ ETL ต้องมีความคุ้นเคยกับการเขียนคำสั่ง SQL เนื่องจาก การทดสอบ ETL อาจเกี่ยวข้องกับการเขียนคำสั่ง SQL ขนาดใหญ่ที่มีการเชื่อมต่อหลายครั้งเพื่อตรวจสอบความถูกต้องของข้อมูลในทุกขั้นตอน เอกสารการแมป ETL ช่วยได้อย่างมากในการเขียนคำสั่ง SQL สำหรับการตรวจสอบข้อมูล
- โครงสร้างฐานข้อมูลของแหล่งที่มาและปลายทาง: ควรเก็บเอกสารนี้ไว้ใกล้มือเพื่อใช้ตรวจสอบรายละเอียดต่างๆ ในแผนที่
สถานการณ์การทดสอบ ETL และกรณีทดสอบ
- การตรวจสอบเอกสารการทำแผนที่
กรณีทดสอบ: ตรวจสอบว่าข้อมูล ETL ที่เกี่ยวข้องมีอยู่ในเอกสารการแมปหรือไม่ ควรมีการบันทึกการเปลี่ยนแปลงไว้ในเอกสารการแมปทุกฉบับ - การตรวจสอบ
กรณีทดสอบ:1) ตรวจสอบโครงสร้างตารางต้นทางและตารางปลายทางเทียบกับเอกสารการแมปที่เกี่ยวข้อง
2) ชนิดข้อมูลต้นทางและชนิดข้อมูลปลายทางต้องเหมือนกัน
3) ความยาวของชนิดข้อมูลทั้งในแหล่งข้อมูลและปลายทางต้องเท่ากัน
4) ตรวจสอบว่าได้ระบุประเภทและรูปแบบของฟิลด์ข้อมูลแล้ว
5) ความยาวของชนิดข้อมูลต้นทางต้องไม่น้อยกว่าความยาวของชนิดข้อมูลปลายทาง
6) ตรวจสอบความถูกต้องของชื่อคอลัมน์ในตารางโดยเทียบกับเอกสารการแมปข้อมูล - การตรวจสอบข้อจำกัด
กรณีทดสอบ: ตรวจสอบให้แน่ใจว่าได้กำหนดข้อจำกัดสำหรับตารางเฉพาะนั้นตามที่คาดหวังไว้แล้ว - ปัญหาความสอดคล้องของข้อมูล
กรณีทดสอบ:1) ชนิดข้อมูลและความยาวสำหรับแอตทริบิวต์เฉพาะอาจแตกต่างกันไปในแต่ละไฟล์หรือตาราง แม้ว่าคำจำกัดความเชิงความหมายจะเหมือนกันก็ตาม
2) การใช้ข้อจำกัดด้านความสมบูรณ์ของข้อมูลในทางที่ผิด - ประเด็นความสมบูรณ์
กรณีทดสอบ:1) ตรวจสอบให้แน่ใจว่าข้อมูลที่คาดหวังทั้งหมดถูกโหลดลงในตารางเป้าหมายเรียบร้อยแล้ว
2) เปรียบเทียบจำนวนบันทึกระหว่างแหล่งที่มาและเป้าหมาย
3) ตรวจสอบหาบันทึกข้อมูลที่ถูกปฏิเสธ
4) ตรวจสอบว่าข้อมูลในคอลัมน์ของตารางเป้าหมายไม่ถูกตัดทอน
5) ตรวจสอบการวิเคราะห์ค่าขอบเขต
6) เปรียบเทียบค่าที่ไม่ซ้ำกันของฟิลด์หลักระหว่างข้อมูลที่โหลดไปยังคลังข้อมูลและข้อมูลต้นทาง - ปัญหาความถูกต้อง
กรณีทดสอบ:1) ข้อมูลที่สะกดผิดหรือบันทึกไม่ถูกต้อง
2) ข้อมูลว่างเปล่า ข้อมูลที่ไม่ซ้ำกัน หรือข้อมูลที่อยู่นอกช่วงที่กำหนด - การแปลง
กรณีทดสอบ: ตรวจสอบให้แน่ใจว่ากฎทางธุรกิจและตรรกะการแปลงข้อมูลทั้งหมดในเอกสารการแมปถูกนำไปใช้กับข้อมูลต้นทางอย่างถูกต้องก่อนที่จะส่งไปยังปลายทาง - คุณภาพของข้อมูล
กรณีทดสอบ:1) การตรวจสอบตัวเลข: ตรวจสอบรูปแบบและค่าตัวเลขให้ถูกต้อง
2) การตรวจสอบวันที่: วันที่ต้องใช้รูปแบบเดียวกันและสอดคล้องกันในทุกบันทึก
3) ตรวจสอบความแม่นยำ
4) ตรวจสอบข้อมูล
5) การตรวจสอบค่าว่าง - ตรวจสอบความถูกต้องเป็นโมฆะ
กรณีทดสอบ: ตรวจสอบค่าว่างในกรณีที่ระบุ “ไม่ใช่ค่าว่าง” สำหรับคอลัมน์นั้นๆ - ตรวจสอบซ้ำ
กรณีทดสอบ:1) ตรวจสอบความถูกต้องของคีย์เฉพาะ คีย์หลัก และคอลัมน์อื่นๆ ที่ควรมีค่าไม่ซ้ำกันตามข้อกำหนดทางธุรกิจ เพื่อยืนยันว่าไม่มีแถวที่ซ้ำกัน
2) ตรวจสอบว่ามีค่าซ้ำกันในคอลัมน์ใดๆ ที่ดึงมาจากคอลัมน์ต้นทางหลายคอลัมน์และรวมเข้าเป็นคอลัมน์เดียวหรือไม่
3) ตามความต้องการของลูกค้า โปรดตรวจสอบให้แน่ใจว่าไม่มีข้อมูลซ้ำกันในคอลัมน์หลายๆ คอลัมน์ที่อยู่ในเป้าหมาย - การตรวจสอบวันที่
กรณีทดสอบ: ค่าวันที่ถูกนำไปใช้ในหลายด้านของการพัฒนา ETL:1) เพื่อทราบวันที่สร้างแถว
2) ระบุระเบียนที่ใช้งานอยู่จากมุมมองการพัฒนา ETL
3) ระบุบันทึกข้อมูลที่ใช้งานอยู่จากมุมมองของข้อกำหนดทางธุรกิจ
4) บางครั้ง การอัปเดตและการแทรกข้อมูลจะถูกสร้างขึ้นโดยอิงจากค่าวันที่ - ตรวจสอบข้อมูลให้เสร็จสมบูรณ์
กรณีทดสอบ:1) ตรวจสอบความถูกต้องของชุดข้อมูลทั้งหมดในตารางต้นทางและตารางปลายทางโดยใช้การค้นหาแบบลบ (minus query) เป็นวิธีที่ดีที่สุด
2) คุณต้องทำการลบค่าต้นฉบับออกจากค่าเป้าหมาย และลบค่าเป้าหมายออกจากค่าต้นฉบับ
3) หากคำสั่งค้นหาแบบลบส่งค่ากลับมาใดๆ แถวเหล่านั้นควรถือว่าไม่ตรงกัน
4) จับคู่แถวระหว่างแหล่งข้อมูลและเป้าหมายโดยใช้คำสั่ง intersect
5) จำนวนที่ได้จากการใช้ฟังก์ชัน intersect ควรตรงกับจำนวนของตารางต้นทางและตารางปลายทาง
6) หากการค้นหาแบบลบส่งคืนแถว และจำนวนที่ซ้ำกันน้อยกว่าจำนวนในแหล่งข้อมูลหรือเป้าหมาย แสดงว่ามีแถวซ้ำกันอยู่ - ความสะอาดของข้อมูล
กรณีทดสอบ: ควรลบคอลัมน์ที่ไม่จำเป็นออกก่อนที่จะโหลดลงในพื้นที่จัดเตรียม
ประเภทของข้อบกพร่อง 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
- ตรวจสอบให้แน่ใจว่าข้อมูลได้รับการแปลงอย่างถูกต้อง
- ข้อมูลที่คาดการณ์ไว้ควรถูกโหลดเข้าสู่คลังข้อมูลโดยไม่มีการสูญหายหรือการตัดทอนข้อมูลใดๆ
- ตรวจสอบให้แน่ใจว่าแอปพลิเคชัน ETL ปฏิเสธข้อมูลที่ไม่ถูกต้องอย่างเหมาะสม แทนที่ด้วยค่าเริ่มต้นหากทำได้ และรายงานข้อมูลดังกล่าว
- ตรวจสอบให้แน่ใจว่าข้อมูลถูกโหลดเข้าสู่คลังข้อมูลภายในกรอบเวลาที่กำหนดและเป็นไปตามที่คาดไว้ เพื่อยืนยันความสามารถในการขยายขนาดและประสิทธิภาพ
- ทุกวิธีการควรมีการทดสอบหน่วยที่เหมาะสม โดยไม่คำนึงถึงระดับการมองเห็น
- เพื่อวัดประสิทธิภาพของการทดสอบหน่วย ควรใช้เทคนิคการครอบคลุมที่เหมาะสมในทุกการทดสอบ
- พยายามให้มีการยืนยันเพียงครั้งเดียวต่อกรณีทดสอบ
- สร้างบัญชีตัวแทน การทดสอบหน่วย ข้อยกเว้นเป้าหมาย
เช็คเอาท์ - คำถามและคำตอบสัมภาษณ์การทดสอบ ETL





