การทดสอบฐานข้อมูล - ประเภท

ขึ้นอยู่กับฟังก์ชันและโครงสร้างของฐานข้อมูลการทดสอบ DB สามารถแบ่งออกเป็นสามประเภท -

  • Structural Database Testing - เกี่ยวข้องกับการทดสอบตารางและคอลัมน์การทดสอบสคีมาขั้นตอนการจัดเก็บและการทดสอบมุมมองการตรวจสอบทริกเกอร์ ฯลฯ

  • Functional Testing- เกี่ยวข้องกับการตรวจสอบการทำงานของฐานข้อมูลจากมุมมองของผู้ใช้ การทดสอบฟังก์ชันทั่วไปส่วนใหญ่ ได้แก่ การทดสอบกล่องขาวและกล่องดำ

  • Nonfunctional Testing - เกี่ยวข้องกับการทดสอบโหลดการทดสอบความเสี่ยงในฐานข้อมูลการทดสอบความเครียดข้อกำหนดขั้นต่ำของระบบและเกี่ยวข้องกับประสิทธิภาพของฐานข้อมูล

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

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

กล่าวถึงเป็นส่วนประกอบทั่วไปที่ผ่านการทดสอบเกี่ยวกับการทดสอบโครงสร้าง -

Schema / Mapping Testing

เกี่ยวข้องกับการตรวจสอบความถูกต้องของอ็อบเจ็กต์ของแอปพลิเคชันส่วนหน้าด้วยการแม็ปอ็อบเจ็กต์ฐานข้อมูล

ในการทดสอบสคีมา -

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

  • จำเป็นต้องค้นหาวัตถุที่ไม่ได้แมปในฐานข้อมูลเช่นตารางมุมมองคอลัมน์เป็นต้น

มีเครื่องมือมากมายในตลาดที่สามารถใช้เพื่อทำการแมปวัตถุในสกีมา

Example - ใน Microsoft SQL Server ผู้ทดสอบสามารถเขียนแบบสอบถามง่ายๆเพื่อตรวจสอบและตรวจสอบความถูกต้องของสกีมาในฐานข้อมูล

หากผู้ทดสอบต้องการเปลี่ยนแปลงโครงสร้างตารางเขา / เธอควรตรวจสอบให้แน่ใจว่าไฟล์ stored ขั้นตอนที่มีตารางนั้นเข้ากันได้กับการเปลี่ยนแปลงนี้

ขั้นตอนการจัดเก็บและการทดสอบมุมมอง

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

ผู้ทดสอบมั่นใจ -

  • หากเปิดใช้งานทริกเกอร์ที่จำเป็นจะดำเนินการตามที่คาดไว้

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

  • หากมีโพรซีเดอร์ที่ไม่ได้ใช้เก็บไว้ในฐานข้อมูล

  • การดำเนินการ TRIM ถูกนำไปใช้อย่างเหมาะสมเมื่อดึงข้อมูลจากตารางที่ต้องการในฐานข้อมูล

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

  • มีการปฏิบัติตามข้อยกเว้นและกลไกการจัดการข้อผิดพลาด

เครื่องมือทั่วไปที่ใช้ในการทดสอบขั้นตอนการจัดเก็บคือ LINQ, SP Test toolฯลฯ

การทดสอบทริกเกอร์

ในการทดสอบทริกเกอร์ผู้ทดสอบต้องตรวจสอบสิ่งต่อไปนี้ -

  • ไม่ว่าจะเป็นไปตามข้อกำหนดการเข้ารหัสในระหว่างขั้นตอนการเข้ารหัสของทริกเกอร์

  • ดูทริกเกอร์ที่ดำเนินการตรงตามเงื่อนไขที่กำหนด

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

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

การทดสอบตารางและคอลัมน์

ประเด็นสำคัญที่ครอบคลุมในการทดสอบนี้ ได้แก่ -

  • การตรวจสอบความถูกต้องของชนิดข้อมูลในฐานข้อมูลกับค่าฟิลด์ในแอปพลิเคชันส่วนหน้า

  • การตรวจสอบความยาวของฟิลด์ข้อมูลในฐานข้อมูลกับความยาวของชนิดข้อมูลในแอปพลิเคชัน

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

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

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

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

  • ตรวจสอบลักษณะเฉพาะของคีย์ที่ไม่ซ้ำกันและไม่เป็นโมฆะ

  • ความยาวและประเภทข้อมูลของคีย์และดัชนีจะคงไว้ตามความต้องการ

ตรวจสอบเซิร์ฟเวอร์ฐานข้อมูล

การตรวจสอบเซิร์ฟเวอร์ฐานข้อมูลเกี่ยวข้องกับการตรวจสอบ -

  • หากเซิร์ฟเวอร์ฐานข้อมูลสามารถรองรับจำนวนธุรกรรมที่คาดไว้ตามความต้องการของธุรกิจ

  • หากรายละเอียดการกำหนดค่าของเซิร์ฟเวอร์ฐานข้อมูลตรงตามข้อกำหนดทางธุรกิจ

  • หากการอนุญาตผู้ใช้ยังคงเป็นไปตามข้อกำหนด

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

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

การทดสอบกล่องดำ

การทดสอบกล่องดำเกี่ยวข้องกับการตรวจสอบการรวมฐานข้อมูลเพื่อตรวจสอบการทำงาน กรณีทดสอบนั้นง่ายและใช้เพื่อตรวจสอบข้อมูลขาเข้าและข้อมูลขาออกจากฟังก์ชัน

มีการใช้เทคนิคต่างๆเช่นเทคนิคการสร้างกราฟสาเหตุการแบ่งพาร์ติชันที่เท่ากันและการวิเคราะห์ค่าขอบเขตเพื่อทดสอบการทำงานของฐานข้อมูล

มัน advantages มีดังนี้ -

  • ค่อนข้างง่ายและดำเนินการในช่วงแรกของการพัฒนา
  • ค่าใช้จ่ายในการพัฒนากรณีทดสอบน้อยกว่าเมื่อเทียบกับการทดสอบกล่องขาว

ข้อเสียมีดังนี้ -

  • ตรวจไม่พบข้อผิดพลาดบางประการ
  • ไม่ทราบว่าต้องทดสอบโปรแกรมมากน้อยเพียงใด

การทดสอบกล่องสีขาว

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

ทำการทดสอบโมดูลของฟังก์ชันฐานข้อมูลทริกเกอร์มุมมองคิวรี SQL เป็นต้นการทดสอบประเภทนี้จะตรวจสอบตารางฐานข้อมูลโมเดลข้อมูลสคีมาฐานข้อมูลเป็นต้นซึ่งจะตรวจสอบกฎของความสมบูรณ์ของการอ้างอิง เลือกค่าตารางเริ่มต้นเพื่อตรวจสอบความสอดคล้องของฐานข้อมูล

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

ข้อผิดพลาดในการเข้ารหัสสามารถตรวจพบได้ในการทดสอบกล่องขาวดังนั้นจึงสามารถกำจัดจุดบกพร่องภายในฐานข้อมูลได้ ข้อ จำกัด ของการทดสอบกล่องขาวคือไม่ครอบคลุมคำสั่ง SQL

การทดสอบที่ไม่สามารถใช้งานได้

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

โหลดการทดสอบ

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

ในการทดสอบโหลดผู้ทดสอบจะตรวจสอบ -

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

Examples of load testing in different testing types -

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

การทดสอบความเครียด

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

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

เครื่องมือทดสอบความเครียดที่ใช้กันมากที่สุดคือ LoadRunner และ WinRunner.

ให้เราใช้ exampleของการทดสอบความเครียด แอปพลิเคชัน CRM สามารถรับภาระผู้ใช้ได้สูงสุด 50000 ผู้ใช้พร้อมกัน สมมติว่าคุณเพิ่มภาระเป็น 51000 และทำธุรกรรมบางอย่างเช่นการอัปเดตระเบียนหรือเพิ่มรายการ ทันทีที่คุณทำรายการแอปพลิเคชันสามารถซิงค์กับระบบฐานข้อมูลได้ ดังนั้นการทดสอบครั้งต่อไปคือการดำเนินการโดยโหลดผู้ใช้ 52000 บางครั้งการทดสอบความเครียดเรียกอีกอย่างว่าFatigue Testing.