Sobes.tech
Middle

Ποια τεστ περιπτώσεις μπορούν να αναπτυχθούν για τη δοκιμή βάσεων δεδομένων;

sobes.tech AI

Απάντηση από AI

Δοκιμή της δομής της βάσης δεδομένων, συμπεριλαμβανομένων των σχημάτων, πινάκων, ευρετηρίων, περιορισμών (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL).

Δοκιμή δεδομένων:

  • Έλεγχος ορθότητας δεδομένων μετά από λειτουργίες: INSERT, UPDATE, DELETE.
  • Έλεγχος συμμόρφωσης των δεδομένων με τη λογική της επιχείρησης.
  • Δοκιμή ακεραιότητας δεδομένων κατά τη διάρκεια ταυτόχρονων λειτουργιών (ανταγωνιστική πρόσβαση).
  • Δοκιμή εισαγωγής/εξαγωγής δεδομένων.
  • Δοκιμή μετανάστευσης δεδομένων.

Δοκιμή αποθηκευμένων διαδικασιών, συναρτήσεων και triggers:

  • Δοκιμή εισόδων και εξόδων.
  • Δοκιμή διαχείρισης σφαλμάτων και εξαιρέσεων.
  • Δοκιμή επιρροής στα δεδομένα των πινάκων.
  • Δοκιμή απόδοσης.

Δοκιμή απόδοσης και φόρτου:

  • Δοκιμή χρόνου εκτέλεσης ερωτημάτων (SELECT).
  • Δοκιμή ταχύτητας λειτουργιών τροποποίησης δεδομένων (INSERT, UPDATE, DELETE).
  • Δοκιμή συμπεριφοράς της βάσης δεδομένων υπό υψηλό φόρτο.
  • Δοκιμή κλιμάκωσης.

Δοκιμή ασφάλειας:

  • Δοκιμή δικαιωμάτων πρόσβασης χρηστών.
  • Δοκιμή ευπάθειας σε SQL injection.
  • Δοκιμή καταγραφής και ελέγχου.

Επαναληπτική δοκιμή μετά από αλλαγές στο σχήμα της βάσης δεδομένων ή στον κώδικα.

Δοκιμή αντιγράφων ασφαλείας και αποκατάστασης δεδομένων.

Παραδείγματα περιπτώσεων για έλεγχο περιορισμών:

ID Όνομα περίπτωσης Βήματα Αναμενόμενο αποτέλεσμα
1 Έλεγχος PRIMARY KEY - διπλότυπη τιμή Προσπάθεια εισαγωγής νέας εγγραφής με ID που ήδη υπάρχει στον πίνακα. Το σύστημα πρέπει να εμφανίσει σφάλμα παραβίασης μοναδικότητας PRIMARY KEY.
2 Έλεγχος FOREIGN KEY - αναφορά σε μη υπαρκή εγγραφή Προσπάθεια εισαγωγής εγγραφής σε σχετικό πίνακα που αναφέρεται σε ID που δεν υπάρχει στον γονικό πίνακα. Το σύστημα πρέπει να εμφανίσει σφάλμα παραβίασης της ακεραιότητας του εξωτερικού κλειδιού.
3 Έλεγχος NOT NULL - εισαγωγή NULL Προσπάθεια εισαγωγής εγγραφής στον πίνακα αφήνοντας NULL σε πεδίο που έχει οριστεί ως NOT NULL. Το σύστημα πρέπει να εμφανίσει σφάλμα παραβίασης περιορισμού NOT NULL.
4 Έλεγχος CHECK - μη έγκυρη τιμή Προσπάθεια εισαγωγής / ενημέρωσης εγγραφής με τιμή που δεν ικανοποιεί το CHECK constraint (π.χ. αρνητική τιμή στην ηλικία). Το σύστημα πρέπει να εμφανίσει σφάλμα παραβίασης του CHECK constraint.

Παράδειγμα ερωτήματος SQL για δοκιμή ευπάθειας:

-- Έλεγχος για πιθανή SQL injection στο πεδίο εισόδου ονόματος χρήστη
SELECT * FROM users WHERE username = 'admin' AND password = '' OR '1'='1';

Παράδειγμα ερωτήματος για δοκιμή απόδοσης:

-- Μέτρηση χρόνου εκτέλεσης πολύπλοκου ερωτήματος SELECT
EXPLAIN ANALYZE SELECT o.order_id, c.customer_name, p.product_name
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
JOIN order_items oi ON o.order_id = oi.order_id
JOIN products p ON oi.product_id = p.product_id
WHERE c.country = 'USA' AND o.order_date > '2023-01-01';