คำตอบที่สมบูรณ์สำหรับคำถามนี้จะยาวมาก ฉันจะพยายามพูดถึงประเด็นหลัก
หากต้องการแยกข้อกังวลคุณอาจดูการทดสอบเพื่อ:
เอ - ตรวจสอบการออกแบบฐานข้อมูล
B - ตรวจสอบว่าโปรแกรมกำลังโต้ตอบอย่างถูกต้องกับฐานข้อมูล
การตรวจสอบการออกแบบฐานข้อมูลควรดำเนินการโดยบุคคลที่ออกแบบฐานข้อมูล นักพัฒนา (ในขณะที่การทดสอบหน่วย) ควรมีความกังวลมากขึ้นด้วยส่วน (B) ความแตกต่างหลักที่ฉันเห็นระหว่างการทดสอบสองประเภทคือเครื่องมือที่ใช้ สำหรับ (A) คุณจะต้องใช้สภาพแวดล้อมที่เป็นอิสระจากรหัสโครงการในขณะที่ใน (B) คุณแน่นอนว่าต้องใช้รหัสของโครงการ ในข้อความต่อไปนี้ฉันจะผสมทั้งสองอย่าง
หากต้องการตอบคำถามเฉพาะของคุณ:
กฎค่าโดเมนคอลัมน์
แต่ละคอลัมน์มีประเภทข้อมูลที่เกี่ยวข้อง แต่ละคอลัมน์จะต้องมีการตรวจสอบกับกฎทางธุรกิจเพื่อพิสูจน์ว่ามันเป็นประเภทข้อมูลที่ถูกต้อง ปัญหาอาจเกิดขึ้นได้หากชนิดข้อมูลคอลัมน์ไม่เข้ากันกับข้อกำหนดทางธุรกิจหรือหากรหัสใช้ชนิดข้อมูลที่แตกต่างจากวิธีการที่กำหนดไว้ในฐานข้อมูล
ตัวอย่างเช่น:
หากคอลัมน์ถูกกำหนดเป็น int ขนาดเล็กคุณไม่ควรเก็บข้อความไว้ นี่คือการทดสอบที่สำคัญเป็นพิเศษเมื่อคอลัมน์เป็นตัวเลือกเนื่องจากอาจไม่มีใครสังเกตจนกว่าจะมีคนป้อนข้อมูลบางอย่างในนั้น
คุณสามารถเก็บค่าลบในคอลัมน์ที่ธุรกิจต้องการให้เกิดขึ้นได้หรือไม่?
กฎค่าเริ่มต้นของคอลัมน์
บางคอลัมน์เกี่ยวข้องกับข้อกำหนดค่าเริ่มต้นใน DDL (Data Def. Language) ซึ่งหากในระหว่างการแทรกการแทรกไม่ได้ให้ค่าฐานข้อมูลจะถือว่าเป็นค่าเริ่มต้น สิ่งนี้สามารถทดสอบได้โดยไม่ผ่านค่าและสังเกตค่าผลลัพธ์ที่ฐานข้อมูลจัดเก็บ การทดสอบนี้อาจรวมถึงการตรวจสอบคอลัมน์ที่เป็นโมฆะ สิ่งนี้ไม่ค่อยต้องการการทดสอบเนื่องจากสามารถตรวจสอบได้จาก DDL ยกเว้นว่ามีการสร้างดัชนีที่ไม่ซ้ำกันในคอลัมน์
กฎการดำรงอยู่ของค่า
ตามที่ฉันเข้าใจสิ่งนี้คุณยืนยันว่าข้อมูลที่แทรกหรืออัพเดตแสดงตามที่คาดไว้ในฐานข้อมูล
กฎค่าแถว
ฉันไม่ชัดเจนในสิ่งที่คนนี้มีความหมายตรง
ขนาดกฎ
แต่ละคอลัมน์มีขนาดในฐานข้อมูลตามวิธีที่กำหนดไว้ใน DDL คุณต้องการตรวจสอบให้แน่ใจว่าค่าใด ๆ ที่ตรงกับความต้องการ (ไม่ว่าจะเป็นแบบฟอร์ม GUI ที่ป้อนหรือผลลัพธ์เป็นผลลัพธ์ของการคำนวณ) จะถูกเก็บไว้อย่างถูกต้องในคอลัมน์ ตัวอย่างเช่นชนิดข้อมูลขนาดเล็กจำนวนเต็มไม่อนุญาตให้คุณเก็บค่า 5 พันล้าน นอกจากนี้ชื่อที่กำหนดเป็น VARCHAR2 (30) จะไม่รองรับอักขระ 40 ตัวดังนั้นกฎเกณฑ์ทางธุรกิจจะต้องชัดเจนมากที่นี่โดยเฉพาะเมื่อใช้คอลัมน์เพื่อรวบรวมข้อมูล คุณต้องการทดสอบสิ่งที่เกิดขึ้นในสถานการณ์เช่นนี้
แนวทางเกี่ยวกับวิธี / เริ่มต้น
วิธีหนึ่งในการทำเช่นนี้คือการวางแผนการทดสอบ คุณต้องการให้แน่ใจว่าคุณกำลังใช้ข้อมูลจำเพาะรุ่นที่ถูกต้อง (เช่นเอกสารข้อกำหนดและกรณีการใช้งาน) และซอฟต์แวร์ คุณต้องประสานการทดสอบกับการทดสอบที่ทำโดยการทดสอบหน่วย (ถ้ามี) คุณอาจพบการทดสอบซ้ำที่คุณไม่จำเป็นต้องดำเนินการอีกครั้ง คุณต้องการคัดลอกฐานข้อมูลก่อนการทดสอบเพื่อให้คุณสามารถทำซ้ำการทดสอบเฉพาะหากคุณต้องการ DBA อาจช่วยคุณในเรื่องนี้ คุณต้องตรวจสอบกับทีมของคุณว่าพวกเขาทำเอกสารการทดสอบเหล่านี้อย่างไรและตรวจสอบขอบเขตการทดสอบกับพวกเขา คุณสามารถแบ่งฐานข้อมูลของคุณเป็นส่วนตรรกะและเริ่มการทดสอบของแต่ละส่วนตรรกะแยกจากกัน กระบวนการทดสอบอาจเริ่มต้นด้วยการศึกษา DDL ของฐานข้อมูลและตรวจสอบว่าคอลัมน์ถูกกำหนดอย่างถูกต้องตามที่ธุรกิจต้องการ คุณควรใช้ซอฟต์แวร์ของแอพพลิเคชั่นและไม่ใช่เครื่องมืออื่นใดที่จะทำการทดสอบส่วนใหญ่ ตัวอย่างเช่นคำถามต่อไปนี้:
เป็นคอลัมน์ที่ควรจะเป็นประเภทที่กำหนดไว้ (ไม่มีจุดในการสร้างชื่อเป็น Int)
ขนาดเข้ากันได้กับข้อกำหนดทางธุรกิจหรือไม่
พบคอลัมน์ทั้งหมดในข้อกำหนดทางธุรกิจในฐานข้อมูลหรือไม่
คอลัมน์ null เป็นตัวเลือกจริงหรือไม่
เป็นต้น
ถัดไปคุณสามารถออกแบบกรณีทดสอบเพื่อทดสอบข้างต้น คุณสามารถใช้ GUI เพื่อทำการทดสอบส่วนใหญ่ได้
มีการทดสอบฐานข้อมูลสำคัญอื่น ๆ ที่คุณไม่ได้กล่าวถึง ข้อตกลงเหล่านั้นด้วย:
1 - ทดสอบว่าคีย์หลักแตกต่างจากมุมมองทางธุรกิจจริงๆ
2 - ทดสอบว่าดัชนีเฉพาะ (นอกเหนือจาก PK) นั้นแตกต่างจากมุมมองทางธุรกิจ
3 - การทดสอบข้อ จำกัด คีย์ต่างประเทศทำงาน
4 - ทดสอบว่าจะเกิดอะไรขึ้นเมื่อลบแถวและมีผลกับแถวที่เกี่ยวข้อง
5 - การทดสอบอื่น ๆ เกี่ยวกับการสร้างฐานข้อมูลพิเศษเช่น CHEKC, ทริกเกอร์ถ้าพวกเขามีอยู่
6 - การนอร์มัลไลซ์ของตารางที่ถูกต้องและคอลัมน์ที่ถูกทำให้เป็นมาตรฐานจะมีค่าที่ถูกต้อง
ข้างต้นไม่ใช่รายการที่สมบูรณ์ แต่คุณควรเริ่มต้น