database testing complete guide why
Ένας πλήρης οδηγός για τη δοκιμή βάσεων δεδομένων με πρακτικές συμβουλές και παραδείγματα:
Οι εφαρμογές υπολογιστών είναι πιο περίπλοκες αυτές τις μέρες με τεχνολογίες όπως το Android και επίσης με πολλές εφαρμογές Smartphone. Όσο πιο περίπλοκα τα μπροστινά άκρα, τόσο πιο περίπλοκα γίνονται τα πίσω άκρα.
Επομένως, είναι ακόμη πιο σημαντικό να μάθετε για τις δοκιμές DB και να είστε σε θέση να επικυρώνετε αποτελεσματικά τις βάσεις δεδομένων για να διασφαλίσετε βάσεις δεδομένων ασφαλείας και ποιότητας.
Σε αυτό το σεμινάριο, θα μάθετε όλα σχετικά με τη Δοκιμή δεδομένων - γιατί, πώς και τι να δοκιμάσετε;
Η βάση δεδομένων είναι ένα από τα αναπόφευκτα μέρη μιας εφαρμογής λογισμικού.
Δεν έχει σημασία αν πρόκειται για web, επιτραπέζιο ή κινητό, πελάτη-διακομιστή, peer-to-peer, επιχείρηση ή μεμονωμένη επιχείρηση. η βάση δεδομένων απαιτείται παντού στο backend.
Ομοίως, είτε πρόκειται για υγειονομική περίθαλψη, χρηματοδότηση, χρηματοδοτική μίσθωση, λιανική, εφαρμογή αλληλογραφίας ή για έλεγχο διαστημόπλοιου. μια βάση δεδομένων είναι πάντα σε δράση πίσω από τη σκηνή.
Καθώς αυξάνεται η πολυπλοκότητα της εφαρμογής, εμφανίζεται η ανάγκη για μια ισχυρότερη και ασφαλέστερη βάση δεδομένων. Με τον ίδιο τρόπο, για εφαρμογές με υψηλή συχνότητα συναλλαγών ( Για παράδειγμα, Τραπεζική ή χρηματοοικονομική εφαρμογή), συνδυάζεται η αναγκαιότητα ενός πλήρως εξοπλισμένου DB Tool.
Σήμερα, έχουμε μεγάλα δεδομένα που είναι μεγάλα και περίπλοκα που δεν μπορούν να τα χειριστούν οι παραδοσιακές βάσεις δεδομένων.
Υπάρχουν πολλά Εργαλεία βάσης δεδομένων διατίθενται στην αγορά Για παράδειγμα, MS-Access, MS SQL Server, SQL Server, Oracle, Oracle Financial, MySQL, PostgreSQL, DB2, Toad, Admirer κ.λπ. Αυτά τα εργαλεία ποικίλλουν ως προς το κόστος, την ευρωστία, τα χαρακτηριστικά και την ασφάλεια. Καθένα από αυτά έχει τα δικά του πλεονεκτήματα και μειονεκτήματα.
Τι θα μάθετε:
- Γιατί να δοκιμάσετε τη βάση δεδομένων;
- Τι να δοκιμάσετε (Λίστα ελέγχου δοκιμών βάσης δεδομένων)
- Τρόπος δοκιμής της βάσης δεδομένων (Διαδικασία βήμα προς βήμα)
Γιατί να δοκιμάσετε τη βάση δεδομένων;
Παρακάτω, θα δούμε γιατί πρέπει να επικυρωθούν οι ακόλουθες πτυχές ενός DB:
# 1) Χαρτογράφηση δεδομένων
Στα συστήματα λογισμικού, τα δεδομένα μετακινούνται συχνά εμπρός και πίσω από τη διεπαφή χρήστη (διεπαφή χρήστη) στο backend DB και αντίστροφα. Αυτές είναι λοιπόν ορισμένες πτυχές που πρέπει να προσέξετε:
- Ελέγξτε εάν τα πεδία στις φόρμες UI / frontend αντιστοιχίζονται με τα αντίστοιχα πεδία στον πίνακα DB. Συνήθως, αυτές οι πληροφορίες χαρτογράφησης ορίζονται στα έγγραφα απαιτήσεων.
- Κάθε φορά που εκτελείται μια συγκεκριμένη ενέργεια στο μπροστινό άκρο μιας εφαρμογής, μια αντίστοιχη CRUD (Δημιουργία, Ανάκτηση, Ενημέρωση και Διαγραφή) ενεργοποιείται στο πίσω μέρος. Ένας υπεύθυνος δοκιμών θα πρέπει να ελέγξει εάν επικαλείται η σωστή ενέργεια και εάν η επικαλούμενη ενέργεια από μόνη της είναι επιτυχής ή όχι.
# 2) Επικύρωση ιδιοτήτων ACID
Ατομικότητα, συνέπεια, απομόνωση και ανθεκτικότητα. Κάθε συναλλαγή που εκτελεί ένα DB πρέπει να τηρεί αυτές τις τέσσερις ιδιότητες.
- Ατομικότητα σημαίνει ότι μια συναλλαγή αποτυγχάνει ή περνά. Αυτό σημαίνει ότι ακόμη και αν ένα μόνο μέρος της συναλλαγής αποτύχει - αυτό σημαίνει ότι ολόκληρη η συναλλαγή έχει αποτύχει. Συνήθως, αυτό ονομάζεται κανόνας «όλα ή τίποτα».
- Συνοχή : Μια συναλλαγή θα οδηγεί πάντα σε μια έγκυρη κατάσταση του DB
- Απομόνωση : Εάν υπάρχουν πολλαπλές συναλλαγές και εκτελούνται ταυτόχρονα, το αποτέλεσμα / κατάσταση του DB θα πρέπει να είναι το ίδιο σαν να εκτελέστηκαν το ένα μετά το άλλο.
- Αντοχή : Μόλις γίνει μια συναλλαγή και δεσμευτεί, κανένας εξωτερικός παράγοντας όπως η απώλεια ισχύος ή το σφάλμα δεν θα μπορούν να το αλλάξουν
Προτεινόμενη ανάγνωση = >> Εκμάθηση συναλλαγών MySQL
# 3) Ακεραιότητα δεδομένων
Για οποιοδήποτε από τα Λειτουργίες CRUD , οι ενημερωμένες και πιο πρόσφατες τιμές / κατάσταση των κοινόχρηστων δεδομένων θα πρέπει να εμφανίζονται σε όλες τις φόρμες και τις οθόνες. Η τιμή δεν πρέπει να ενημερώνεται σε μία οθόνη και να εμφανίζει παλαιότερη τιμή σε άλλη.
Όταν η εφαρμογή βρίσκεται υπό εκτέλεση, το Ο τελικός χρήστης χρησιμοποιεί κυρίως τις λειτουργίες «CRUD» που διευκολύνονται από το DB Tool .
C: Δημιουργία - Όταν ο χρήστης «Αποθηκεύει» οποιαδήποτε νέα συναλλαγή, εκτελείται η λειτουργία «Δημιουργία».
R: Ανάκτηση - Όταν ο χρήστης «Αναζήτηση» ή «Προβολή» οποιασδήποτε αποθηκευμένης συναλλαγής, εκτελείται η λειτουργία «Ανάκτηση».
U: Ενημέρωση - Όταν ο χρήστης «Επεξεργασία» ή «Τροποποίηση» υπάρχουσας εγγραφής, εκτελείται η λειτουργία «Ενημέρωση» του DB.
Δ: Διαγραφή - Όταν ένας χρήστης «Αφαιρεί» οποιαδήποτε εγγραφή από το σύστημα, εκτελείται η λειτουργία «Διαγραφή» του DB.
Οποιαδήποτε λειτουργία βάσης δεδομένων που εκτελείται από τον τελικό χρήστη είναι πάντα μία από τις παραπάνω τέσσερις.
Επομένως, επινοήστε τις περιπτώσεις δοκιμών DB με τρόπο που να περιλαμβάνει τον έλεγχο των δεδομένων σε όλα τα μέρη που φαίνεται να φαίνεται αν είναι σταθερά το ίδιο.
# 4) Συμμόρφωση επιχειρησιακού κανόνα
Μεγαλύτερη πολυπλοκότητα στις Βάσεις Δεδομένων σημαίνει πιο περίπλοκα στοιχεία όπως σχετικούς περιορισμούς, σκανδάλες, αποθηκευμένες διαδικασίες κ.λπ. Έτσι, οι δοκιμαστές θα πρέπει να βρουν κατάλληλα ερωτήματα SQL για να επικυρώσουν αυτά τα πολύπλοκα αντικείμενα.
Τι να δοκιμάσετε (Λίστα ελέγχου δοκιμών βάσης δεδομένων)
# 1) Συναλλαγές
Κατά τη δοκιμή συναλλαγών, είναι σημαντικό να βεβαιωθείτε ότι ικανοποιούν τις ιδιότητες ACID.
Αυτές είναι οι δηλώσεις που χρησιμοποιούνται συνήθως:
- ΑΡΧΙΚΗ ΣΥΝΑΛΛΑΓΗ ΣΥΝΑΛΛΑΓΗ #
- ΤΕΛΟΣ ΣΥΝΑΛΛΑΓΗΣ ΣΥΝΑΛΛΑΓΗ #
Η δήλωση επαναφοράς διασφαλίζει ότι η βάση δεδομένων παραμένει σε σταθερή κατάσταση.
- ΣΥΝΑΛΛΑΓΗ ΡΟΛΛΑΠΤΩΝ #
Μετά την εκτέλεση αυτών των δηλώσεων, χρησιμοποιήστε μια επιλογή για να βεβαιωθείτε ότι οι αλλαγές έχουν αντικατοπτριστεί.
- ΕΠΙΛΟΓΗ * ΑΠΟ ΤΡΑΠΕΖΙΝΑ
# 2) Σχήματα βάσης δεδομένων
Ένα σχήμα βάσης δεδομένων δεν είναι τίποτα περισσότερο από έναν επίσημο ορισμό του πώς θα οργανωθούν τα δεδομένα μέσα σε ένα DB. Για να το δοκιμάσετε:
- Προσδιορίστε τις απαιτήσεις βάσει των οποίων λειτουργεί η βάση δεδομένων. Απαιτήσεις δείγματος:
- Κύρια κλειδιά που θα δημιουργηθούν πριν από τη δημιουργία άλλων πεδίων.
- Τα ξένα κλειδιά πρέπει να ευρετηριαστούν πλήρως για εύκολη ανάκτηση και αναζήτηση.
- Τα ονόματα των πεδίων ξεκινούν ή τελειώνουν με συγκεκριμένους χαρακτήρες.
- Πεδία με περιορισμό που ορισμένες τιμές μπορούν ή δεν μπορούν να εισαχθούν.
- Χρησιμοποιήστε μία από τις ακόλουθες μεθόδους ανάλογα με τη συνάφεια:
- Ερώτημα SQL DESC
για επικύρωση του σχήματος.
- Τακτικές εκφράσεις για την επικύρωση των ονομάτων των επιμέρους πεδίων και των τιμών τους
- Εργαλεία όπως το SchemaCrawler
# 3) Ενεργοποιήσεις
Όταν ένα συγκεκριμένο συμβάν λαμβάνει χώρα σε ένα συγκεκριμένο τραπέζι, ένα κομμάτι κώδικα (ένα σκανδάλη) μπορεί να εντοπιστεί αυτόματα για να εκτελεστεί.
Για παράδειγμα, ένας νέος μαθητής εντάχθηκε σε σχολείο. Ο μαθητής παίρνει 2 μαθήματα: μαθηματικά και επιστήμη. Ο μαθητής προστίθεται στον 'πίνακα μαθητών'. Ένας κανόνας ετικέτας θα μπορούσε να προσθέσει τον μαθητή στους αντίστοιχους πίνακες θέματος μόλις προστεθεί στον πίνακα μαθητών.
Η κοινή μέθοδος δοκιμής είναι να εκτελέσετε πρώτα το ερώτημα SQL που είναι ενσωματωμένο στο Trigger ανεξάρτητα και να καταγράψετε το αποτέλεσμα. Ακολουθήστε αυτό με την εκτέλεση του Trigger στο σύνολό του. Συγκρίνετε τα αποτελέσματα.
Αυτά δοκιμάζονται τόσο στις φάσεις δοκιμής Black-box όσο και σε White-box.
ερωτήσεις συνέντευξης προγραμματιστή sql για 4 χρόνια εμπειρίας
- Δοκιμή λευκού κουτιού : Stubs και Drivers χρησιμοποιούνται για την εισαγωγή ή ενημέρωση ή διαγραφή δεδομένων που θα είχαν ως αποτέλεσμα την επίκληση της σκανδάλης. Η βασική ιδέα είναι να δοκιμάσετε μόνο το DB πριν από την ολοκλήρωση της διεπαφής (UI).
- Δοκιμή μαύρου κουτιού :
προς το) Από το UI και το DB, η ενσωμάτωση είναι πλέον διαθέσιμη. μπορούμε να Εισαγάγουμε / Διαγραφή / Ενημέρωση δεδομένων από τη διεπαφή με τρόπο που το Trigger επικαλείται. Μετά από αυτό, Επιλογή δηλώσεων μπορεί να χρησιμοποιηθεί για την ανάκτηση των δεδομένων DB για να διαπιστωθεί εάν το Trigger ήταν επιτυχές στην εκτέλεση της προβλεπόμενης λειτουργίας.
σι) Ο δεύτερος τρόπος για να το δοκιμάσετε αυτό είναι να φορτώσετε απευθείας τα δεδομένα που θα επικαλούσαν το Trigger και να δουν αν λειτουργεί όπως έχει προβλεφθεί.
# 4) Αποθηκευμένες διαδικασίες
Οι αποθηκευμένες διαδικασίες είναι λίγο πολύ παρόμοιες με τις λειτουργίες που καθορίζονται από τον χρήστη. Αυτά μπορούν να επικαλεσθούν με δηλώσεις Διαδικασίας Κλήσης / Εκτέλεσης Διαδικασίας και η έξοδος είναι συνήθως με τη μορφή συνόλων αποτελεσμάτων.
Αυτά αποθηκεύονται στο RDBMS και είναι διαθέσιμα για εφαρμογές.
Αυτά δοκιμάζονται επίσης κατά τη διάρκεια:
- Δοκιμή λευκού κουτιού: Τα stubs χρησιμοποιούνται για την επίκληση των αποθηκευμένων διαδικασιών και στη συνέχεια τα αποτελέσματα επικυρώνονται έναντι των αναμενόμενων τιμών.
- Δοκιμή μαύρου κουτιού: Εκτελέστε μια λειτουργία από το μπροστινό άκρο (UI) της εφαρμογής και ελέγξτε για την εκτέλεση της αποθηκευμένης διαδικασίας και των αποτελεσμάτων της.
# 5) Περιορισμοί πεδίου
Η προεπιλεγμένη τιμή, η μοναδική τιμή και το ξένο κλειδί:
- Εκτελέστε μια λειτουργία front-end που ασκεί την κατάσταση αντικειμένου βάσης δεδομένων
- Επικυρώστε τα αποτελέσματα με ένα ερώτημα SQL.
Ο έλεγχος της προεπιλεγμένης τιμής για ένα συγκεκριμένο πεδίο είναι αρκετά απλός. Είναι μέρος της επικύρωσης επιχειρηματικού κανόνα. Μπορείτε να το κάνετε χειροκίνητα ή μπορείτε να χρησιμοποιήσετε εργαλεία όπως το QTP. Με μη αυτόματο τρόπο, μπορείτε να εκτελέσετε μια ενέργεια που θα προσθέσει αξία διαφορετική από την προεπιλεγμένη τιμή του πεδίου από τη διεπαφή και θα δείτε εάν οδηγεί σε σφάλμα.
Το παρακάτω είναι ένα δείγμα κώδικα VBScript:
Function VBScriptRegularexpressionvlaidation(pattern , string_to_match) Set newregexp = new RegExp newregexp.Pattern = “
” newregexp.Ignorecase = True newregexp.Global = True VBScriptRegularexpressionvlaidation = newregexp.Test(string_to_match) End Function Msgbox VBScriptRegularexpressionvlaidation(pattern , string_to_match) Το αποτέλεσμα του παραπάνω κώδικα είναι Αληθές εάν υπάρχει η προεπιλεγμένη τιμή ή Λάθος εάν δεν ισχύει.
Ο έλεγχος της μοναδικής τιμής μπορεί να γίνει ακριβώς όπως κάναμε για τις προεπιλεγμένες τιμές. Δοκιμάστε να εισαγάγετε τιμές από τη διεπαφή χρήστη που θα παραβιάζουν αυτόν τον κανόνα και δείτε εάν εμφανίζεται κάποιο σφάλμα.
Ο κωδικός σεναρίου αυτοματισμού VB μπορεί να είναι:
Function VBScriptRegularexpressionvlaidation(pattern , string_to_match) Set newregexp = new RegExp newregexp.Pattern = “
” newregexp.Ignorecase = True newregexp.Global = True VBScriptRegularexpressionvlaidation = newregexp.Test(string_to_match) End Function Msgbox VBScriptRegularexpressionvlaidation(pattern , string_to_match) Για τοΞένο κλειδίΗ επικύρωση περιορισμού χρησιμοποιεί φορτία δεδομένων που εισάγουν απευθείας δεδομένα που παραβιάζουν τον περιορισμό και βλέπουν εάν η εφαρμογή τους περιορίζει ή όχι. Μαζί με τη φόρτωση δεδομένων στο πίσω μέρος, εκτελέστε και τις λειτουργίες διεπαφής χρήστη διεπαφής με τρόπο που θα παραβιάζει τους περιορισμούς και θα δείτε εάν εμφανίζεται το σχετικό σφάλμα.
Δραστηριότητες δοκιμής δεδομένων
Ο ελεγκτής βάσης δεδομένων πρέπει να επικεντρωθεί στις ακόλουθες δραστηριότητες δοκιμής:
# 1) Διασφαλίστε τη χαρτογράφηση δεδομένων:
Η χαρτογράφηση δεδομένων είναι μία από τις βασικές πτυχές της βάσης δεδομένων και πρέπει να δοκιμάζεται αυστηρά από κάθε υπεύθυνο δοκιμών λογισμικού.
Βεβαιωθείτε ότι η αντιστοίχιση μεταξύ διαφορετικών φορμών ή οθονών του AUT και του DB δεν είναι μόνο ακριβής αλλά και σύμφωνα με τα έγγραφα σχεδιασμού (SRS / BRS) ή τον κωδικό. Βασικά, πρέπει να επικυρώσετε τη χαρτογράφηση μεταξύ κάθε πεδίου front-end με το αντίστοιχο πεδίο βάσης δεδομένων backend.
Για όλες τις λειτουργίες CRUD, επαληθεύστε ότι οι αντίστοιχοι πίνακες και εγγραφές ενημερώνονται όταν ο χρήστης κάνει κλικ στην επιλογή 'Αποθήκευση', 'Ενημέρωση', 'Αναζήτηση' ή 'Διαγραφή' από το GUI της εφαρμογής.
Τι πρέπει να επαληθεύσετε:
- Αντιστοίχιση πίνακα, αντιστοίχιση στηλών και αντιστοίχιση τύπων δεδομένων.
- Χαρτογράφηση δεδομένων αναζήτησης.
- Επικαλείται σωστή λειτουργία CRUD για κάθε ενέργεια χρήστη στη διεπαφή χρήστη.
- Η λειτουργία CRUD είναι επιτυχής.
# 2) Διασφαλίστε τις ιδιότητες ACID των συναλλαγών:
Οι ιδιότητες ACID των Συναλλαγών DB αναφέρονται στο « ΠΡΟΣ ΤΗΝ ντοματικότητα »,« ντο επιμονή »,« Εγώ παρηγοριά »και« ρε ανθεκτικότητα ». Ο σωστός έλεγχος αυτών των τεσσάρων ιδιοτήτων πρέπει να γίνει κατά τη δραστηριότητα δοκιμής βάσης δεδομένων. Πρέπει να επαληθεύσετε ότι κάθε συναλλαγή ικανοποιεί τις ιδιότητες ACID της βάσης δεδομένων.
Ας πάρουμε ένα απλό παράδειγμα μέσω του παρακάτω κώδικα SQL:
CREATE TABLE acidtest (A INTEGER, B INTEGER, CHECK (A + B = 100));
Ο πίνακας δοκιμών ACID θα έχει δύο στήλες - Α & Β. Υπάρχει ένας περιορισμός ακεραιότητας ότι το άθροισμα των τιμών στα Α και Β πρέπει να είναι πάντα 100.
Δοκιμή ατομικότητας θα διασφαλίσει ότι οποιαδήποτε συναλλαγή που εκτελείται σε αυτόν τον πίνακα είναι πλήρης ή καμία, δηλαδή καμία ενημέρωση εγγραφών εάν αποτύχει κάποιο βήμα της συναλλαγής.
Δοκιμή συνέπειας θα διασφαλίσει ότι κάθε φορά που η τιμή στη στήλη Α ή Β ενημερώνεται, το άθροισμα παραμένει πάντα 100. Δεν θα επιτρέπει εισαγωγή / διαγραφή / ενημέρωση σε Α ή Β εάν το συνολικό άθροισμα είναι κάτι διαφορετικό από 100.
Δοκιμή απομόνωσης θα διασφαλίσει ότι εάν δύο συναλλαγές πραγματοποιούνται ταυτόχρονα και προσπαθούν να τροποποιήσουν τα δεδομένα του πίνακα δοκιμών ACID, τότε αυτές οι συναλλαγές εκτελούνται μεμονωμένα.
Δοκιμή αντοχής θα διασφαλίσει ότι μόλις πραγματοποιηθεί μια συναλλαγή πάνω από αυτόν τον πίνακα, θα παραμείνει έτσι, ακόμη και σε περίπτωση απώλειας ρεύματος, διακοπής λειτουργίας ή σφαλμάτων.
Αυτή η περιοχή απαιτεί πιο αυστηρές, διεξοδικές και έντονες δοκιμές εάν η εφαρμογή σας χρησιμοποιεί την κατανεμημένη βάση δεδομένων.
# 3) Διασφάλιση ακεραιότητας δεδομένων
Σκεφτείτε ότι διαφορετικές ενότητες (δηλαδή οθόνες ή φόρμες) της εφαρμογής χρησιμοποιούν τα ίδια δεδομένα με διαφορετικούς τρόπους και εκτελούν όλες τις λειτουργίες CRUD στα δεδομένα.
Σε αυτήν την περίπτωση, βεβαιωθείτε ότι η τελευταία κατάσταση δεδομένων αντικατοπτρίζεται παντού. Το σύστημα πρέπει να εμφανίζει τις ενημερωμένες και πιο πρόσφατες τιμές ή την κατάσταση αυτών των κοινόχρηστων δεδομένων σε όλες τις φόρμες και οθόνες. Αυτό ονομάζεται Data Integrity.
Δοκιμές για επικύρωση ακεραιότητας δεδομένων βάσης δεδομένων:
- Ελέγξτε εάν όλα τα Triggers είναι σε θέση να ενημερώσουν τις εγγραφές του πίνακα αναφοράς.
- Ελέγξτε εάν υπάρχουν λανθασμένα / μη έγκυρα δεδομένα στις κύριες στήλες κάθε πίνακα.
- Προσπαθήστε να εισαγάγετε λανθασμένα δεδομένα σε πίνακες και παρατηρήστε εάν προκύψει οποιαδήποτε αποτυχία.
- Ελέγξτε τι θα συμβεί αν προσπαθήσετε να εισαγάγετε ένα παιδί πριν εισαγάγετε τον γονέα του (προσπαθήστε να παίξετε με τα κύρια και ξένα κλειδιά).
- Ελέγξτε εάν υπάρχει αστοχία εάν διαγράψετε μια εγγραφή που εξακολουθεί να αναφέρεται από δεδομένα σε οποιονδήποτε άλλο πίνακα.
- Ελέγξτε εάν οι επαναληπτικοί διακομιστές και βάσεις δεδομένων είναι συγχρονισμένοι.
# 4) Εξασφαλίστε την ακρίβεια των εφαρμοζόμενων επιχειρηματικών κανόνων:
Σήμερα, οι βάσεις δεδομένων δεν προορίζονται μόνο για την αποθήκευση των αρχείων. Στην πραγματικότητα, οι βάσεις δεδομένων έχουν εξελιχθεί σε εξαιρετικά ισχυρά εργαλεία που παρέχουν άφθονη υποστήριξη στους προγραμματιστές για την εφαρμογή της επιχειρησιακής λογικής σε επίπεδο DB.
Μερικά απλά παραδείγματα ισχυρών λειτουργιών είναι η «Ακεραιότητα αναφοράς», οι σχετικοί περιορισμοί, οι σκανδάλες και οι αποθηκευμένες διαδικασίες.
Έτσι, χρησιμοποιώντας αυτές και πολλές άλλες δυνατότητες που προσφέρονται από DB, οι προγραμματιστές εφαρμόζουν την επιχειρησιακή λογική σε επίπεδο DB. Ο υπεύθυνος δοκιμών πρέπει να διασφαλίσει ότι η εφαρμοσμένη επιχειρησιακή λογική είναι σωστή και λειτουργεί με ακρίβεια.
Τα παραπάνω σημεία περιγράφουν τα τέσσερα πιο σημαντικά «Τι να» για τη δοκιμή DB. Τώρα, ας προχωρήσουμε στο τμήμα 'Πώς να'.
Τρόπος δοκιμής της βάσης δεδομένων (Διαδικασία βήμα προς βήμα)
Η γενική βάση δεδομένων δοκιμών διαδικασίας δοκιμής δεν διαφέρει πολύ από οποιαδήποτε άλλη εφαρμογή.
Τα παρακάτω είναι τα βασικά βήματα:
Βήμα 1) Προετοιμάστε το περιβάλλον
Βήμα 2) Εκτελέστε μια δοκιμή
Βήμα # 3) Ελέγξτε το αποτέλεσμα της δοκιμής
Βήμα # 4) Επικυρώστε σύμφωνα με τα αναμενόμενα αποτελέσματα
Βήμα # 5) Αναφέρετε τα ευρήματα στους αντίστοιχους ενδιαφερόμενουςΣυνήθως, τα ερωτήματα SQL χρησιμοποιούνται για την ανάπτυξη των δοκιμών. Η πιο συχνά χρησιμοποιούμενη εντολή είναι 'Επιλογή'.
Επιλέξτε * από πού
Εκτός από το Select, η SQL έχει 3 σημαντικούς τύπους εντολών:
- DDL: Γλώσσα ορισμού δεδομένων
- DML: Γλώσσα χειρισμού δεδομένων
- DCL: Γλώσσα ελέγχου δεδομένων
Ας δούμε τη σύνταξη για τις πιο συχνά χρησιμοποιούμενες δηλώσεις.
Γλώσσα ορισμού δεδομένων Χρησιμοποιεί CREATE, ALTER, RENAME, DROP και TRUNCATE για να χειριστεί πίνακες (και ευρετήρια).
Γλώσσα χειρισμού δεδομένων Περιλαμβάνει δηλώσεις για προσθήκη, ενημέρωση και διαγραφή εγγραφών.
Γλώσσα ελέγχου δεδομένων: Ασχολείται με την παροχή εξουσιοδότησης στους χρήστες για χειραγώγηση και πρόσβαση στα δεδομένα. Grant και Ανάκληση είναι οι δύο δηλώσεις που χρησιμοποιούνται.
Σύνταξη επιδότησης:
Εκχώρηση επιλογής / ενημέρωσης
Επί
Προς την ;Ανάκληση σύνταξης:
Επανάκληση / ενημέρωση
επί
από;Μερικές πρακτικές συμβουλές
# 1) Γράψτε μόνοι σας τα ερωτήματα:
Για να ελέγξετε με ακρίβεια τη βάση δεδομένων, ο υπεύθυνος δοκιμών θα πρέπει να έχει πολύ καλή γνώση των δηλώσεων SQL και DML (Data Manipulation Language). Ο ελεγκτής πρέπει επίσης να γνωρίζει την εσωτερική δομή DB του AUT.
Μπορείτε να συνδυάσετε GUI και επαλήθευση δεδομένων σε αντίστοιχους πίνακες για καλύτερη κάλυψη. Εάν χρησιμοποιείτε το διακομιστή SQL, τότε μπορείτε να χρησιμοποιήσετε το SQL Query Analyzer για τη σύνταξη ερωτημάτων, την εκτέλεση τους και την ανάκτηση αποτελεσμάτων.
Αυτός είναι ο καλύτερος και ισχυρός τρόπος δοκιμής μιας βάσης δεδομένων όταν η εφαρμογή είναι μικρού ή μεσαίου επιπέδου πολυπλοκότητας.
Εάν η εφαρμογή είναι πολύ περίπλοκη, τότε μπορεί να είναι δύσκολο ή αδύνατο για τον ελεγκτή να γράψει όλα τα απαιτούμενα ερωτήματα SQL. Για σύνθετα ερωτήματα, λαμβάνετε βοήθεια από τον προγραμματιστή. Συνιστώ πάντα αυτή τη μέθοδο καθώς σας δίνει εμπιστοσύνη στη δοκιμή και ενισχύει επίσης τις δεξιότητές σας στο SQL.
# 2) Παρατηρήστε τα δεδομένα σε κάθε πίνακα:
Μπορείτε να πραγματοποιήσετε επαλήθευση δεδομένων χρησιμοποιώντας τα αποτελέσματα των λειτουργιών CRUD. Αυτό μπορεί να γίνει χειροκίνητα χρησιμοποιώντας το περιβάλλον εργασίας της εφαρμογής όταν γνωρίζετε την ενοποίηση της βάσης δεδομένων. Αλλά αυτό μπορεί να είναι μια κουραστική και δυσκίνητη εργασία όταν υπάρχουν τεράστια δεδομένα σε διαφορετικούς πίνακες βάσεων δεδομένων.
Για τη μη αυτόματη δοκιμή δεδομένων, ο ελεγκτής βάσης δεδομένων πρέπει να διαθέτει καλή γνώση της δομής του πίνακα βάσεων δεδομένων.
# 3) Λάβετε ερωτήματα από τους προγραμματιστές:
Αυτός είναι ο απλούστερος τρόπος για να δοκιμάσετε τη βάση δεδομένων. Εκτελέστε οποιαδήποτε λειτουργία CRUD από το GUI και επαληθεύστε τις επιπτώσεις της εκτελώντας τα αντίστοιχα ερωτήματα SQL που λαμβάνονται από τον προγραμματιστή. Δεν απαιτεί καλή γνώση της SQL ούτε απαιτεί καλή γνώση της δομής DB της εφαρμογής.
Αλλά αυτή η μέθοδος πρέπει να χρησιμοποιηθεί με προσοχή. Τι γίνεται αν το ερώτημα που δίνεται από τον προγραμματιστή είναι σημασιολογικά λάθος ή δεν πληροί σωστά τις απαιτήσεις του χρήστη; Η διαδικασία απλώς δεν θα επικυρώσει τα δεδομένα.
# 4) Χρησιμοποιήστε τα εργαλεία ελέγχου αυτοματισμού βάσης δεδομένων:
Υπάρχουν πολλά διαθέσιμα εργαλεία για τη διαδικασία δοκιμής δεδομένων. Πρέπει να επιλέξετε το σωστό εργαλείο σύμφωνα με τις ανάγκες σας και να το αξιοποιήσετε καλύτερα.
=> Εδώ είναι η λίστα των TOP DB Testing Tools που πρέπει να ελέγξετε
συμπέρασμα
Με όλες αυτές τις δυνατότητες, παράγοντες και διαδικασίες για δοκιμή σε μια βάση δεδομένων, υπάρχει μια αυξανόμενη ζήτηση για τους υπεύθυνους δοκιμών να είναι τεχνικά ικανοί στις βασικές έννοιες της βάσης δεδομένων. Παρά τις αρνητικές πεποιθήσεις ότι ο έλεγχος μιας βάσης δεδομένων δημιουργεί νέα σημεία συμφόρησης και έχει πολλές πρόσθετες δαπάνες - αυτό είναι ένα πεδίο δοκιμών που προσελκύει σημαντική προσοχή και ζήτηση.
Προτεινόμενη ανάγνωση = >> Τι είναι ο έλεγχος ασφαλείας βάσης δεδομένων
Ελπίζω ότι αυτό το σεμινάριο βοήθησε να επικεντρωθεί στο γιατί συμβαίνει αυτό και σας έχει παράσχει επίσης τις βασικές λεπτομέρειες του τι συμβαίνει στη δοκιμή μιας βάσης δεδομένων.
Ενημερώστε μας για τα σχόλιά σας και, επίσης, μοιραστείτε τις προσωπικές σας εμπειρίες εάν εργάζεστε σε δοκιμές DB.
Συνιστώμενη ανάγνωση
- Δοκιμή βάσης δεδομένων με JMeter
- 40+ καλύτερα εργαλεία δοκιμής βάσης δεδομένων - Δημοφιλείς λύσεις δοκιμής δεδομένων
- Μια απλή προσέγγιση για XML στη δοκιμή βάσεων δεδομένων
- Εγχειρίδιο δοκιμών αποθήκης δεδομένων δοκιμών ETL (ένας πλήρης οδηγός)
- Εκμάθηση δοκιμών μετεγκατάστασης δεδομένων: Ένας πλήρης οδηγός
- Κορυφαία 10 εργαλεία σχεδίασης βάσεων δεδομένων για τη δημιουργία σύνθετων μοντέλων δεδομένων
- Εκμάθηση δοκιμών αποθήκης δεδομένων με παραδείγματα | Οδηγός δοκιμών ETL
- Πώς να δοκιμάσετε τη βάση δεδομένων της Oracle
^
- Ερώτημα SQL DESC