บทช่วยสอนการทดสอบฐานข้อมูล (ข้อมูล)
การทดสอบฐานข้อมูลคืออะไร?
การทดสอบฐานข้อมูล เป็นประเภทหนึ่งของการทดสอบซอฟต์แวร์ที่ตรวจสอบโครงร่าง ตาราง ทริกเกอร์ ฯลฯ ของฐานข้อมูลที่กำลังทดสอบ นอกจากนี้ยังตรวจสอบความสมบูรณ์และความสอดคล้องของข้อมูลด้วย อาจต้องสร้างแบบสอบถามที่ซับซ้อนเพื่อโหลด/ทดสอบความเครียดของฐานข้อมูลและตรวจสอบการตอบสนองของฐานข้อมูล
ทำไมการทดสอบฐานข้อมูลจึงมีความสำคัญ?
การทดสอบฐานข้อมูลเป็นสิ่งสำคัญ in การทดสอบซอฟต์แวร์ เพราะจะทำให้มั่นใจได้ว่าค่าข้อมูลและข้อมูลที่ได้รับและจัดเก็บไว้ในฐานข้อมูลนั้นถูกต้องหรือไม่ การทดสอบฐานข้อมูลช่วยบันทึกการสูญหายของข้อมูล บันทึกข้อมูลธุรกรรมที่ถูกยกเลิก และไม่มีการเข้าถึงข้อมูลโดยไม่ได้รับอนุญาต ฐานข้อมูลมีความสำคัญสำหรับแอปพลิเคชันซอฟต์แวร์ ดังนั้นผู้ทดสอบจึงต้องมีความรู้เกี่ยวกับ SQL เป็นอย่างดีสำหรับการทดสอบฐานข้อมูล
โดยปกติแล้ว GUI จะได้รับการเน้นมากที่สุดโดยสมาชิกในทีมทดสอบและพัฒนา เนื่องจากส่วนต่อประสานกราฟิกกับผู้ใช้เป็นส่วนที่มองเห็นได้ชัดเจนที่สุดของแอปพลิเคชัน อย่างไรก็ตาม สิ่งที่สำคัญคือการตรวจสอบความถูกต้องของข้อมูลที่เป็นหัวใจของแอปพลิเคชัน หรือที่เรียกว่า DATABASE
ลองพิจารณาแอปพลิเคชันการธนาคารที่ผู้ใช้ทำธุรกรรม จากมุมมองการทดสอบฐานข้อมูลหรือการทดสอบ DB ต่อไปนี้ สิ่งสำคัญคือ:
- แอปพลิเคชันจัดเก็บข้อมูลธุรกรรมไว้ในฐานข้อมูลแอปพลิเคชันและแสดงให้ผู้ใช้เห็นอย่างถูกต้อง
- ไม่มีข้อมูลสูญหายในกระบวนการ
- แอปพลิเคชันจะไม่บันทึกข้อมูลการดำเนินการที่ดำเนินการบางส่วนหรือยกเลิก
- ไม่อนุญาตให้บุคคลที่ไม่ได้รับอนุญาตเข้าถึงข้อมูลของผู้ใช้
เพื่อให้มั่นใจถึงวัตถุประสงค์ข้างต้นทั้งหมด เราจำเป็นต้องใช้การตรวจสอบข้อมูลหรือการทดสอบข้อมูล
ความแตกต่างระหว่างการทดสอบส่วนต่อประสานกับผู้ใช้และการทดสอบข้อมูล
การทดสอบส่วนต่อประสานกับผู้ใช้ | การทดสอบฐานข้อมูลหรือข้อมูล |
---|---|
การทดสอบประเภทนี้เรียกอีกอย่างว่าการทดสอบส่วนต่อประสานกับผู้ใช้แบบกราฟิกหรือการทดสอบส่วนหน้า | การทดสอบประเภทนี้เรียกอีกอย่างว่าการทดสอบแบ็กเอนด์หรือการทดสอบข้อมูล |
การทดสอบประเภทนี้ส่วนใหญ่เกี่ยวข้องกับรายการทดสอบทั้งหมดที่เปิดให้ผู้ใช้รับชมและการโต้ตอบ เช่น แบบฟอร์ม การนำเสนอ กราฟ เมนู และรายงาน ฯลฯ (สร้างผ่าน VB, VB.net, VC++, Delphi – เครื่องมือส่วนหน้า) | การทดสอบประเภทนี้ส่วนใหญ่เกี่ยวข้องกับรายการทดสอบทั้งหมดซึ่งโดยทั่วไปแล้วจะซ่อนไม่ให้ผู้ใช้เห็นเพื่อการดู ซึ่งรวมถึงกระบวนการภายในและการจัดเก็บข้อมูลเช่น Assembly, DBMS ชอบ Oracle, SQL Server, MYSQL ฯลฯ. |
การทดสอบประเภทนี้รวมถึงการตรวจสอบความถูกต้องของ
|
การทดสอบประเภทนี้เกี่ยวข้องกับการตรวจสอบความถูกต้อง:
|
ผู้ทดสอบจะต้องมีความรู้อย่างถ่องแท้เกี่ยวกับข้อกำหนดทางธุรกิจ ตลอดจนการใช้เครื่องมือการพัฒนา ตลอดจนการใช้เฟรมเวิร์กและเครื่องมืออัตโนมัติ | เพื่อจะสามารถทำการทดสอบแบ็คเอนด์ได้ ผู้ทดสอบจะต้องมีความรู้พื้นฐานที่แข็งแกร่งในเซิร์ฟเวอร์ฐานข้อมูลและแนวคิดของ Structured Query Language |
ประเภทของการทดสอบฐานข้อมูล
การทดสอบฐานข้อมูลมี 3 ประเภท คือ
ในบทช่วยสอนการทดสอบฐานข้อมูลนี้ เราจะดูแต่ละประเภทและประเภทย่อยทีละรายการ
การทดสอบฐานข้อมูลโครงสร้าง
การทดสอบฐานข้อมูลโครงสร้าง เป็นเทคนิคการทดสอบฐานข้อมูลที่ตรวจสอบองค์ประกอบทั้งหมดภายในพื้นที่เก็บข้อมูลซึ่งส่วนใหญ่ใช้สำหรับจัดเก็บข้อมูลและไม่ได้รับอนุญาตให้จัดการโดยตรงโดยผู้ใช้ปลายทาง การตรวจสอบความถูกต้องของเซิร์ฟเวอร์ฐานข้อมูลยังเป็นข้อพิจารณาที่สำคัญในการทดสอบฐานข้อมูลโครงสร้าง การทดสอบนี้ให้สำเร็จต้องอาศัยความเชี่ยวชาญในการสืบค้น SQL
การทดสอบสคีมาคืออะไร?
การทดสอบสคีมา ในการทดสอบฐานข้อมูลจะตรวจสอบรูปแบบสคีมาต่างๆ ที่เกี่ยวข้องกับฐานข้อมูล และตรวจสอบว่ารูปแบบการแมปของตาราง/มุมมอง/คอลัมน์เข้ากันได้กับรูปแบบการแมปของอินเทอร์เฟซผู้ใช้หรือไม่ วัตถุประสงค์หลักของการทดสอบสคีมาคือเพื่อให้แน่ใจว่าการแมปสคีมาระหว่างส่วนหน้าและส่วนหลังมีความคล้ายคลึงกัน ดังนั้นจึงเรียกอีกอย่างว่าการทดสอบการทำแผนที่
ให้เราหารือเกี่ยวกับจุดตรวจสอบที่สำคัญที่สุดสำหรับการทดสอบสคีมา
- การตรวจสอบความถูกต้องของรูปแบบสคีมาต่างๆ ที่เกี่ยวข้องกับฐานข้อมูล หลายครั้งที่รูปแบบการแมปของตารางอาจเข้ากันไม่ได้กับรูปแบบการแมปที่มีอยู่ในระดับส่วนต่อประสานผู้ใช้ของแอปพลิเคชัน
- จำเป็นต้องมีการตรวจสอบในกรณีของตาราง/มุมมอง/คอลัมน์ที่ไม่ได้แมป
- นอกจากนี้ ยังจำเป็นต้องตรวจสอบว่าฐานข้อมูลที่มีความหลากหลายในสภาพแวดล้อมสอดคล้องกับการแมปแอปพลิเคชันโดยรวมหรือไม่
ให้เราดูเครื่องมือทดสอบฐานข้อมูลที่น่าสนใจสำหรับการตรวจสอบความถูกต้องของสคีมาฐานข้อมูล
- DBUnit ที่รวมเข้ากับ Ant เหมาะมากสำหรับการทดสอบการทำแผนที่
- SQL Server ช่วยให้ผู้ทดสอบสามารถตรวจสอบและสืบค้นสคีมาของฐานข้อมูลโดยการเขียนคำสั่งง่ายๆ ไม่ใช่ผ่านโค้ด
ตัวอย่างเช่น หากนักพัฒนาต้องการเปลี่ยนโครงสร้างตารางหรือลบออก ผู้ทดสอบจะต้องการให้แน่ใจว่า Stored Procedures และ Views ทั้งหมดที่ใช้ตารางนั้นเข้ากันได้กับการเปลี่ยนแปลงนั้นๆ อีกตัวอย่างหนึ่งอาจเป็นได้ว่าหากผู้ทดสอบต้องการตรวจสอบการเปลี่ยนแปลงสคีมาระหว่าง 2 ฐานข้อมูล พวกเขาสามารถทำได้โดยใช้แบบสอบถามง่ายๆ
ตารางฐานข้อมูล การทดสอบคอลัมน์
ให้เราดูการตรวจสอบต่างๆ สำหรับการทดสอบฐานข้อมูลและคอลัมน์
- การแมปฟิลด์ฐานข้อมูลและคอลัมน์ในแบ็กเอนด์เข้ากันได้กับการแมปเหล่านั้นในฟรอนต์เอนด์หรือไม่
- การตรวจสอบความถูกต้องของความยาวและการตั้งชื่อของฟิลด์ฐานข้อมูลและคอลัมน์ตามที่ระบุโดยข้อกำหนด
- การตรวจสอบความถูกต้องของการมีอยู่ของตาราง/คอลัมน์ฐานข้อมูลที่ไม่ได้ใช้/ไม่ได้แมป
- การตรวจสอบความเข้ากันได้ของ
- ประเภทข้อมูล
- ความยาวสนาม
ของคอลัมน์ฐานข้อมูลส่วนหลังโดยมีคอลัมน์อยู่ที่ส่วนหน้าของแอปพลิเคชัน
- ไม่ว่าฟิลด์ฐานข้อมูลจะอนุญาตให้ผู้ใช้ป้อนข้อมูลผู้ใช้ที่ต้องการตามที่กำหนดในเอกสารข้อกำหนดข้อกำหนดทางธุรกิจหรือไม่
การทดสอบคีย์และดัชนี
การตรวจสอบคีย์และดัชนีที่สำคัญ –
- ตรวจสอบว่าจำเป็นหรือไม่
- คีย์หลัก
- ต่างประเทศที่สำคัญ
มีการสร้างข้อจำกัดในตารางที่ต้องการ
- ตรวจสอบว่าการอ้างอิงสำหรับคีย์ต่างประเทศนั้นถูกต้องหรือไม่
- ตรวจสอบว่าชนิดข้อมูลของคีย์หลักและคีย์ต่างประเทศที่เกี่ยวข้องเหมือนกันในทั้งสองตารางหรือไม่
- ตรวจสอบว่ามีการปฏิบัติตามหลักการตั้งชื่อที่จำเป็นสำหรับคีย์และดัชนีทั้งหมดหรือไม่
- ตรวจสอบขนาดและความยาวของฟิลด์และดัชนีที่จำเป็น
- ไม่ว่าจะจำเป็นก็ตาม
- Clusterดัชนีเอ็ด
- ไม่ Clusterดัชนีเอ็ด
ได้ถูกสร้างขึ้นบนตารางที่จำเป็นตามที่กำหนดโดยข้อกำหนดทางธุรกิจ
การทดสอบขั้นตอนการจัดเก็บ
การทดสอบที่สำคัญในการตรวจสอบขั้นตอนการจัดเก็บคือ:
- ไม่ว่าทีมพัฒนาจะใช้ข้อกำหนด A) แบบแผนมาตรฐานการเข้ารหัส และ B) การจัดการข้อยกเว้นและข้อผิดพลาดหรือไม่ สำหรับขั้นตอนการจัดเก็บทั้งหมดสำหรับโมดูลทั้งหมดสำหรับแอปพลิเคชันภายใต้การทดสอบ
- ทีมพัฒนาได้ครอบคลุมเงื่อนไข/ลูปทั้งหมดโดยการนำข้อมูลอินพุตที่จำเป็นไปใช้กับแอปพลิเคชันที่กำลังทดสอบหรือไม่
- ทีมพัฒนาได้ใช้การดำเนินการ TRIM อย่างถูกต้องหรือไม่ทุกครั้งที่ดึงข้อมูลจากตารางที่ต้องการในฐานข้อมูล
- การดำเนินการด้วยตนเองของ Stored Procedure จะให้ผลลัพธ์ที่ต้องการแก่ผู้ใช้ปลายทางหรือไม่
- การดำเนินการด้วยตนเองของ Stored Procedure ช่วยให้มั่นใจได้ว่าฟิลด์ตารางได้รับการอัปเดตตามที่แอปพลิเคชันภายใต้การทดสอบต้องการหรือไม่
- ไม่ว่าการดำเนินการของ Stored Procedures จะเปิดใช้งานการเรียกใช้ทริกเกอร์ที่จำเป็นโดยนัยหรือไม่
- การตรวจสอบความถูกต้องของการมีอยู่ของขั้นตอนการจัดเก็บที่ไม่ได้ใช้
- การตรวจสอบเงื่อนไข Allow Null ซึ่งสามารถทำได้ในระดับฐานข้อมูล
- การตรวจสอบความถูกต้องของข้อเท็จจริงที่ว่าขั้นตอนและฟังก์ชันที่เก็บไว้ทั้งหมดได้รับการดำเนินการเรียบร้อยแล้วเมื่อฐานข้อมูลที่อยู่ระหว่างการทดสอบว่างเปล่า
- การตรวจสอบความถูกต้องของการบูรณาการโดยรวมของโมดูลขั้นตอนการจัดเก็บตามข้อกำหนดของแอปพลิเคชันภายใต้การทดสอบ
เครื่องมือทดสอบฐานข้อมูลที่มีประโยชน์บางส่วนสำหรับการทดสอบขั้นตอนการจัดเก็บ ได้แก่ LINQ , เครื่องมือทดสอบ SP เป็นต้น
การทดสอบทริกเกอร์
- มีการปฏิบัติตามแบบแผนการเข้ารหัสที่จำเป็นในระหว่างขั้นตอนการเข้ารหัสของทริกเกอร์หรือไม่
- ตรวจสอบว่าทริกเกอร์ที่ดำเนินการสำหรับธุรกรรม DML ที่เกี่ยวข้องนั้นตรงตามเงื่อนไขที่กำหนดหรือไม่
- ทริกเกอร์จะอัปเดตข้อมูลอย่างถูกต้องหรือไม่เมื่อดำเนินการแล้ว
- การตรวจสอบความถูกต้องของการอัปเดต/แทรก/ลบที่จำเป็นจะทำให้เกิดฟังก์ชันการทำงานในขอบเขตของแอปพลิเคชันที่อยู่ระหว่างการทดสอบ
การตรวจสอบเซิร์ฟเวอร์ฐานข้อมูล
- ตรวจสอบการกำหนดค่าเซิร์ฟเวอร์ฐานข้อมูลตามที่ระบุไว้ในข้อกำหนดทางธุรกิจ
- ตรวจสอบการอนุญาตของผู้ใช้ที่ต้องการเพื่อดำเนินการเฉพาะระดับที่แอปพลิเคชันกำหนดเท่านั้น
- ตรวจสอบว่าเซิร์ฟเวอร์ฐานข้อมูลสามารถตอบสนองความต้องการของจำนวนการทำธุรกรรมของผู้ใช้สูงสุดที่อนุญาตตามที่ระบุไว้ในข้อกำหนดข้อกำหนดทางธุรกิจ
การทดสอบฐานข้อมูลเชิงฟังก์ชัน
การทดสอบฐานข้อมูลเชิงฟังก์ชัน เป็นประเภทหนึ่งของการทดสอบฐานข้อมูลที่ใช้เพื่อตรวจสอบความต้องการด้านการทำงานของฐานข้อมูลจากมุมมองของผู้ใช้ปลายทาง เป้าหมายหลักของการทดสอบฐานข้อมูลเชิงฟังก์ชันคือการทดสอบว่าธุรกรรมและการดำเนินการที่ผู้ใช้ปลายทางดำเนินการซึ่งเกี่ยวข้องกับฐานข้อมูลนั้นทำงานตามที่คาดหวังหรือไม่
ต่อไปนี้เป็นเงื่อนไขพื้นฐานที่จำเป็นต้องปฏิบัติตามสำหรับการตรวจสอบฐานข้อมูล
- ว่าฟิลด์นี้จำเป็นหรือไม่ในขณะที่อนุญาตให้มีค่า NULL ในฟิลด์นั้น?
- ความยาวของแต่ละฟิลด์มีขนาดเพียงพอหรือไม่?
- เขตข้อมูลที่คล้ายกันทั้งหมดมีชื่อเหมือนกันในตารางหรือไม่
- ไม่ว่าจะมีฟิลด์ที่คำนวณอยู่ในฐานข้อมูลหรือไม่?
กระบวนการเฉพาะนี้คือการตรวจสอบความถูกต้องของการแมปฟิลด์จากมุมมองของผู้ใช้ปลายทาง ในสถานการณ์เฉพาะนี้ ผู้ทดสอบจะดำเนินการที่ระดับฐานข้อมูล จากนั้นจะนำทางไปยังรายการอินเทอร์เฟซผู้ใช้ที่เกี่ยวข้องเพื่อสังเกตและตรวจสอบว่าได้ดำเนินการตรวจสอบฟิลด์อย่างถูกต้องหรือไม่
เงื่อนไขในทางกลับกัน คือ ต้องมีการดำเนินการครั้งแรกโดยผู้ทดสอบที่อินเทอร์เฟซกับผู้ใช้ จากนั้นจึงตรวจสอบความถูกต้องจากแบ็คเอนด์ ซึ่งก็ควรทำเช่นเดียวกัน
การตรวจสอบความสมบูรณ์และความสอดคล้องของข้อมูล
การตรวจสอบต่อไปนี้มีความสำคัญ
- ข้อมูลได้รับการจัดระเบียบอย่างดีตามตรรกะหรือไม่?
- ข้อมูลที่จัดเก็บไว้ในตารางนั้นถูกต้องและเป็นไปตามข้อกำหนดทางธุรกิจหรือไม่?
- มีข้อมูลที่ไม่จำเป็นใดๆ ปรากฏอยู่ในแอปพลิเคชันที่อยู่ระหว่างการทดสอบหรือไม่
- ข้อมูลถูกจัดเก็บตามข้อกำหนดเกี่ยวกับข้อมูลที่อัปเดตจากอินเทอร์เฟซผู้ใช้หรือไม่
- การดำเนินการ TRIM ได้ดำเนินการกับข้อมูลก่อนที่จะแทรกข้อมูลลงในฐานข้อมูลภายใต้การทดสอบหรือไม่
- ธุรกรรมได้ดำเนินการตามข้อกำหนดข้อกำหนดทางธุรกิจหรือไม่ และผลลัพธ์ถูกต้องหรือไม่?
- ข้อมูลมีความมุ่งมั่นอย่างถูกต้องหรือไม่หากธุรกรรมได้รับการดำเนินการสำเร็จหรือไม่?
- ข้อมูลได้รับการย้อนกลับสำเร็จหรือไม่ หากผู้ใช้ปลายทางดำเนินการธุรกรรมไม่สำเร็จ
- หากธุรกรรมไม่ได้ดำเนินการสำเร็จและมีฐานข้อมูลที่แตกต่างกันหลายฐานเกี่ยวข้องในธุรกรรมที่เกี่ยวข้อง ข้อมูลจะได้รับการย้อนกลับหรือไม่?
- ธุรกรรมทั้งหมดได้ดำเนินการโดยใช้ขั้นตอนการออกแบบที่จำเป็นตามที่ระบุไว้ในข้อกำหนดทางธุรกิจของระบบหรือไม่
การเข้าสู่ระบบและความปลอดภัยของผู้ใช้
การตรวจสอบข้อมูลประจำตัวในการเข้าสู่ระบบและความปลอดภัยของผู้ใช้จะต้องคำนึงถึงสิ่งต่อไปนี้
- ไม่ว่าแอปพลิเคชันจะป้องกันไม่ให้ผู้ใช้ดำเนินการต่อไปในแอปพลิเคชันหรือไม่ในกรณีของ
- ชื่อผู้ใช้ไม่ถูกต้องแต่รหัสผ่านที่ถูกต้อง
- ชื่อผู้ใช้ที่ถูกต้องแต่รหัสผ่านไม่ถูกต้อง
- ชื่อผู้ใช้และรหัสผ่านไม่ถูกต้อง
- ผู้ใช้จะได้รับอนุญาตให้ดำเนินการเฉพาะตามที่กำหนดโดยข้อกำหนดทางธุรกิจหรือไม่
- ข้อมูลมีความปลอดภัยจากการเข้าถึงโดยไม่ได้รับอนุญาตหรือไม่?
- มีบทบาทผู้ใช้ที่แตกต่างกันซึ่งสร้างด้วยสิทธิ์ที่แตกต่างกันหรือไม่
- ผู้ใช้ทั้งหมดมีระดับการเข้าถึงฐานข้อมูลที่ระบุตามที่กำหนดโดยข้อกำหนดทางธุรกิจหรือไม่
- ตรวจสอบว่าข้อมูลสำคัญ เช่น รหัสผ่าน หมายเลขบัตรเครดิต ได้รับการเข้ารหัสและไม่ได้จัดเก็บเป็นข้อความธรรมดาในฐานข้อมูล ควรตรวจสอบให้ดีว่าบัญชีทั้งหมดควรมีรหัสผ่านที่ซับซ้อนและเดาได้ยาก
การทดสอบที่ไม่ใช้งาน
การทดสอบที่ไม่ใช้งาน ในบริบทของการทดสอบฐานข้อมูลสามารถแบ่งได้เป็นประเภทต่างๆ ตามความต้องการทางธุรกิจ สิ่งเหล่านี้สามารถเป็นการทดสอบโหลด, การทดสอบความเครียด, การทดสอบความปลอดภัย, การทดสอบการใช้งานและ การทดสอบความเข้ากันได้และอื่นๆ การทดสอบโหลด รวมถึงการทดสอบความเครียด ซึ่งสามารถจัดกลุ่มภายใต้ขอบเขตของการทดสอบประสิทธิภาพได้ มีวัตถุประสงค์เฉพาะสองประการเมื่อพูดถึงบทบาทของการทดสอบที่ไม่ใช้งาน
ปริมาณความเสี่ยง– การระบุปริมาณความเสี่ยงช่วยให้ผู้มีส่วนได้ส่วนเสียสามารถตรวจสอบข้อกำหนดด้านเวลาตอบสนองของระบบต่างๆ ภายใต้ระดับโหลดที่ต้องการ ซึ่งเป็นเจตนารมณ์เดิมประการใด การประกันคุณภาพ งาน. เราจำเป็นต้องทราบว่าการทดสอบโหลดไม่ได้ลดความเสี่ยงโดยตรง แต่ผ่านกระบวนการระบุความเสี่ยงและการวัดปริมาณความเสี่ยง นำเสนอโอกาสในการแก้ไขและเป็นแรงผลักดันในการแก้ไขที่จะลดความเสี่ยง
ความต้องการอุปกรณ์ระบบขั้นต่ำ– การกำหนดค่าระบบขั้นต่ำที่จะช่วยให้ระบบสามารถตอบสนองความคาดหวังด้านประสิทธิภาพที่ระบุไว้อย่างเป็นทางการของผู้มีส่วนได้ส่วนเสียได้ ดังนั้นจึงสามารถลดฮาร์ดแวร์ ซอฟต์แวร์ และต้นทุนการเป็นเจ้าของที่เกี่ยวข้องได้ ข้อกำหนดเฉพาะนี้สามารถจัดประเภทเป็นข้อกำหนดการเพิ่มประสิทธิภาพทางธุรกิจโดยรวมได้
โหลดการทดสอบ
จุดประสงค์ของการทดสอบโหลดใดๆ ควรได้รับการเข้าใจและบันทึกไว้อย่างชัดเจน การกำหนดค่าประเภทต่อไปนี้เป็นสิ่งจำเป็น โหลดการทดสอบ.
- ธุรกรรมของผู้ใช้ที่ใช้บ่อยที่สุดมีแนวโน้มที่จะส่งผลกระทบต่อประสิทธิภาพของธุรกรรมอื่นๆ ทั้งหมด หากธุรกรรมเหล่านั้นไม่มีประสิทธิภาพ
- ควรจะรวมธุรกรรมผู้ใช้ที่ไม่มีการแก้ไขอย่างน้อยหนึ่งรายการในชุดการทดสอบขั้นสุดท้าย เพื่อให้ประสิทธิภาพของธุรกรรมดังกล่าวสามารถแยกแยะความแตกต่างจากธุรกรรมอื่นๆ ที่ซับซ้อนกว่าได้
- ควรรวมธุรกรรมที่สำคัญกว่าที่เอื้อต่อวัตถุประสงค์หลักของระบบ เนื่องจากความล้มเหลวภายใต้ภาระของธุรกรรมเหล่านี้มีผลกระทบที่ยิ่งใหญ่ที่สุดตามคำนิยาม
- ควรรวมธุรกรรมที่แก้ไขได้อย่างน้อยหนึ่งรายการไว้ด้วย การปฏิบัติ ของธุรกรรมดังกล่าวสามารถแยกความแตกต่างจากธุรกรรมอื่นๆ ได้
- เวลาตอบสนองที่เหมาะสมที่สุดภายใต้จำนวนผู้ใช้เสมือนจริงจำนวนมากสำหรับความต้องการในอนาคตทั้งหมด
- เวลาที่มีประสิทธิภาพในการดึงข้อมูลบันทึกต่างๆ
เครื่องมือทดสอบโหลดที่สำคัญได้แก่ โหลดรันเนอร์มืออาชีพ, ชนะนักวิ่ง และ JMeter.
การทดสอบความเครียดของฐานข้อมูลคืออะไร?
การทดสอบความเครียดของฐานข้อมูล เป็นวิธีการทดสอบที่ใช้ในการทดสอบระบบฐานข้อมูลที่มีภาระงานหนักจนล้มเหลวในบางจุด ซึ่งจะช่วยในการระบุจุดพังทลายของระบบฐานข้อมูล ต้องมีการวางแผนและความพยายามที่เหมาะสมเพื่อหลีกเลี่ยงการใช้ทรัพยากรมากเกินไป ข้อมูล ทดสอบความเครียด เรียกอีกอย่างว่าการทดสอบที่ทรมานหรือการทดสอบความล้า
เครื่องมือทดสอบความเครียดที่สำคัญคือ โหลดรันเนอร์มืออาชีพ and JMeter.
ปัญหาที่พบบ่อยที่สุดระหว่างการทดสอบฐานข้อมูล
A significant amount of overhead could be involved to determine the state of the database transactions
วิธีการแก้: การวางแผนกระบวนการและเวลาโดยรวมควรได้รับการจัดระเบียบเพื่อไม่ให้เกิดปัญหาด้านเวลาและต้นทุนปรากฏขึ้น
New test data have to be designed after cleaning up of the old test data.
วิธีการแก้: แผนและวิธีการก่อนหน้าสำหรับการสร้างข้อมูลทดสอบควรอยู่ในมือ
An SQL generator is required to transform SQL validators in order to ensure the SQL queries are apt for handling the required database test cases.
วิธีการแก้: การบำรุงรักษาคำสั่ง SQL และการอัปเดตอย่างต่อเนื่องเป็นส่วนสำคัญของกระบวนการทดสอบโดยรวมซึ่งควรเป็นส่วนหนึ่งของภาพรวม กลยุทธ์การทดสอบ.
The above mentioned prerequisite ensure that the set-up of the database testing procedure could be costly as well as time consuming.
วิธีการแก้: ควรมีความสมดุลที่ดีระหว่างคุณภาพและระยะเวลากำหนดการโครงการโดยรวม
ตำนานหรือความเข้าใจผิดที่เกี่ยวข้องกับการทดสอบฐานข้อมูล
Database Testing requires plenty of expertise and it is a very tedious job
ความจริง: การทดสอบฐานข้อมูลที่มีประสิทธิภาพและประสิทธิผลในการทดสอบซอฟต์แวร์ให้ความเสถียรในการทำงานในระยะยาวแก่แอปพลิเคชันโดยรวม ดังนั้นจึงจำเป็นต้องทำงานหนักเบื้องหลัง
Database testing adds extra work bottleneck
ความจริง: ในทางตรงกันข้าม การทดสอบฐานข้อมูลจะเพิ่มมูลค่าให้กับงานโดยรวมโดยการค้นหาปัญหาที่ซ่อนอยู่ และช่วยปรับปรุงแอปพลิเคชันโดยรวมในเชิงรุก
Database testing slows down the overall development process
ความจริง: การทดสอบฐานข้อมูลจำนวนมากช่วยในการปรับปรุงคุณภาพโดยรวมสำหรับแอปพลิเคชันฐานข้อมูล
Database testing could be excessively costly
ความจริง: ค่าใช้จ่ายในการทดสอบฐานข้อมูลถือเป็นการลงทุนระยะยาวซึ่งนำไปสู่ความเสถียรและความทนทานในระยะยาวของแอปพลิเคชัน ดังนั้นค่าใช้จ่ายในการทดสอบฐานข้อมูลหรือ SQL จำเป็นต้องมีการทดสอบ
ปฏิบัติที่ดีที่สุด
- ข้อมูลทั้งหมดรวมถึงเมตาดาต้าและข้อมูลการทำงานจำเป็นต้องได้รับการตรวจสอบความถูกต้องตามการแมปตามเอกสารข้อกำหนดข้อกำหนด
- การตรวจสอบของ ข้อมูลการทดสอบ ซึ่งถูกสร้างขึ้นโดย / ในการปรึกษาหารือกับทีมพัฒนาจะต้องมีการตรวจสอบ
- การตรวจสอบความถูกต้องของข้อมูลเอาต์พุตโดยใช้ทั้งขั้นตอนด้วยตนเองและขั้นตอนอัตโนมัติ
- การใช้เทคนิคต่างๆ เช่น เทคนิคการสร้างกราฟเอฟเฟกต์เหตุ เทคนิคการแบ่งส่วนสมมูล และเทคนิคการวิเคราะห์ค่าขอบเขตเพื่อสร้างเงื่อนไขข้อมูลทดสอบที่ต้องการ
- กฎการตรวจสอบความสมบูรณ์ของการอ้างอิงสำหรับตารางฐานข้อมูลที่จำเป็นยังต้องได้รับการตรวจสอบด้วย
- การเลือกค่าตารางเริ่มต้นสำหรับการตรวจสอบความสอดคล้องของฐานข้อมูลเป็นแนวคิดที่สำคัญมาก ไม่ว่าเหตุการณ์บันทึกจะถูกเพิ่มในฐานข้อมูลสำหรับเหตุการณ์การเข้าสู่ระบบที่จำเป็นทั้งหมดหรือไม่
- งานที่กำหนดเวลาไว้ดำเนินการได้ทันเวลาหรือไม่?
- สำรองข้อมูลฐานข้อมูลอย่างทันท่วงที
ตรวจสอบด้วย- คำถามและคำตอบสัมภาษณ์การทดสอบฐานข้อมูล