การทดสอบฐานข้อมูล - ประเภท
ขึ้นอยู่กับฟังก์ชันและโครงสร้างของฐานข้อมูลการทดสอบ 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.