การทดสอบฐานข้อมูลคืออะไรและจะดำเนินการอย่างไร?



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

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

ด้านล่างนี้เป็นหัวข้อที่กล่าวถึงในบทช่วยสอนนี้:





มาเริ่มกันเลย

การทดสอบฐานข้อมูลคืออะไร?

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



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

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

ทำไมต้องทดสอบฐานข้อมูล?

อย่างที่เราทราบกันดีว่าฐานข้อมูลคือที่ทิ้งข้อมูลซึ่งข้อมูลจะถูกรวบรวมเป็นจำนวนมหาศาลและจัดเก็บในรูปแบบที่มีโครงสร้าง แม้ว่า (DataBase Management System) จัดเตรียมวิธีการจัดการเรียกและจัดเก็บข้อมูลนี้อย่างเป็นระบบมีบางกรณีที่ข้อมูลอาจซ้ำซ้อนซ้ำกัน ฯลฯ ในกรณีเช่นนี้การทดสอบฐานข้อมูลจะเป็นภาพที่ช่วยเราในการตรวจสอบความถูกต้องของข้อมูล ด้านล่างนี้ฉันได้ระบุประเด็นต่างๆตามฐานข้อมูลที่ต้องได้รับการตรวจสอบ:



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

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

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

การทดสอบฐานข้อมูลมี 3 ประเภทซึ่งฉันได้ระบุไว้ด้านล่าง:

  1. การทดสอบโครงสร้าง
  2. การทดสอบการทำงาน
  3. การทดสอบแบบไม่ใช้งาน

ตอนนี้เรามาดูแต่ละประเภทเหล่านี้และประเภทย่อยทีละประเภท

การทดสอบโครงสร้าง

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

การทดสอบโครงสร้างประเภทต่างๆ ได้แก่ :

  • การทดสอบสคีมา

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

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

จุดตรวจที่สำคัญบางประการของการทดสอบนี้ ได้แก่ :

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

จุดตรวจที่สำคัญบางประการของการทดสอบนี้ ได้แก่ :

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

จุดตรวจที่สำคัญบางประการของการทดสอบนี้ ได้แก่ :

    • ตรวจสอบการยอมรับข้อกำหนดมาตรฐานการเข้ารหัสที่จำเป็นข้อยกเว้นและการจัดการข้อผิดพลาดสำหรับโพรซีเดอร์ที่จัดเก็บไว้ทั้งหมดโดยทีมพัฒนาในโมดูลทั้งหมดของแอปพลิเคชันที่อยู่ระหว่างการทดสอบ
    • ตรวจสอบให้แน่ใจว่าทีมพัฒนาได้ครอบคลุมเงื่อนไข / ลูปทั้งหมดแล้วโดยใช้ข้อมูลอินพุตที่จำเป็นกับแอปพลิเคชันที่อยู่ระหว่างการทดสอบ
    • ตรวจสอบว่าทีมพัฒนาได้ใช้การดำเนินการ TRIM อย่างถูกต้องหรือไม่ในแต่ละครั้งที่ดึงข้อมูลจากตารางฐานข้อมูลที่ระบุ
    • ตรวจสอบให้แน่ใจว่าเอาต์พุตที่ต้องการถูกสร้างขึ้นโดยดำเนินการ Stored Procedures ด้วยตนเอง
    • ตรวจสอบให้แน่ใจว่าฟิลด์ตารางได้รับการอัพเดตตามที่ระบุโดยแอ็พพลิเคชันภายใต้การทดสอบโดยดำเนินการ Stored Procedures ด้วยตนเอง
    • ตรวจสอบให้แน่ใจว่าทริกเกอร์ที่ต้องการถูกเรียกโดยปริยายโดยการดำเนินการ Stored Procedures
    • ตรวจหาและตรวจสอบขั้นตอนการจัดเก็บที่ไม่ได้ใช้
    • การตรวจสอบเงื่อนไข Null ที่ระดับฐานข้อมูล
    • ตรวจสอบให้แน่ใจว่ากระบวนงานและฟังก์ชันที่เก็บไว้ทั้งหมดได้ถูกดำเนินการและทดสอบบนฐานข้อมูลเปล่าที่อยู่ระหว่างการทดสอบ
    • ตรวจสอบการรวมโดยรวมของโมดูลโพรซีเดอร์ที่จัดเก็บตามที่ระบุไว้ในข้อกำหนดของแอปพลิเคชันภายใต้การทดสอบ
  • การทดสอบทริกเกอร์

จุดตรวจที่สำคัญบางประการของการทดสอบนี้ ได้แก่ :

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

จุดตรวจที่สำคัญบางประการของการทดสอบนี้ ได้แก่ :

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

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

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

การทดสอบการทำงานประเภทต่างๆ ได้แก่ :

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

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

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

การทดสอบกล่องสีขาวเกี่ยวข้องกับโครงสร้างภายในของฐานข้อมูลและผู้ใช้ไม่ทราบรายละเอียดข้อกำหนด การทดสอบนี้ต้องการทริกเกอร์ฐานข้อมูลและการทดสอบมุมมองตรรกะซึ่งสนับสนุนการปรับโครงสร้างฐานข้อมูล ยิ่งไปกว่านั้นฟังก์ชันฐานข้อมูลทริกเกอร์มุมมอง แบบสอบถาม SQL ได้รับการทดสอบในเรื่องนี้ด้วย การทดสอบกล่องสีขาวใช้เพื่อตรวจสอบความถูกต้องของตารางฐานข้อมูลโมเดลข้อมูลสคีมาฐานข้อมูล ฯลฯ โดยยึดตามกฎของ Referential Integrity และเลือกค่าตารางเริ่มต้นเพื่อตรวจสอบความสอดคล้องของฐานข้อมูลเทคนิคเช่นการครอบคลุมเงื่อนไขการครอบคลุมการตัดสินใจการครอบคลุมใบแจ้งยอด ฯลฯ มักใช้ในการทดสอบ White Box ซึ่งแตกต่างจากการทดสอบกล่องดำข้อผิดพลาดในการเข้ารหัสสามารถตรวจพบได้ง่ายเพื่อกำจัดข้อบกพร่องภายในที่มีอยู่ในฐานข้อมูล ข้อเสียเปรียบประการเดียวของการทดสอบประเภทนี้คือไม่ครอบคลุมคำสั่ง SQL

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

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

การทดสอบแบบไม่ใช้งานประเภทหลัก ได้แก่ :

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

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

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

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

ตอนนี้เรามาดูกันว่าขั้นตอนต่างๆที่เกี่ยวข้องกับการทดสอบฐานข้อมูลมีอะไรบ้าง

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

การทดสอบ DB ไม่ใช่กระบวนการที่น่าเบื่อและรวมถึงขั้นตอนต่างๆในวงจรการทดสอบฐานข้อมูลตามกระบวนการทดสอบ

ขั้นตอนสำคัญในการทดสอบฐานข้อมูล ได้แก่

  1. ตั้งค่าข้อกำหนดเบื้องต้นของการทดสอบ
  2. ดำเนินการทดสอบ
  3. ตรวจสอบสถานะการทดสอบ
  4. ตรวจสอบผลลัพธ์
  5. รวมและเผยแพร่รายงาน

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

เครื่องมือทดสอบฐานข้อมูล

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

ประเภท เครื่องมือ
เครื่องมือรักษาความปลอดภัยของข้อมูล
  • IBM Optim Data Privacy
โหลดเครื่องมือทดสอบ
  • ประสิทธิภาพของเว็บ
  • มุมมอง Rad
  • ปรอท
ทดสอบเครื่องมือสร้างข้อมูล
  • โรงงานข้อมูล
  • เครื่องกำเนิดข้อมูล DTM
  • ข้อมูลเทอร์โบ
ทดสอบเครื่องมือการจัดการข้อมูล
  • IBM Optim Test Data Management
เครื่องมือทดสอบหน่วย
  • SQLUnit
  • TSQLUnit
  • DBFit
  • DBUnit

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

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

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ ' การทดสอบฐานข้อมูล ” แล้วฉันจะติดต่อกลับไป