Κεφάλαιο 9

Cards (17)

  • Βασικές κατηγορίες λαθών που είναι δυνατό να παρουσιαστούν στα προγράμματα
    • Λάθη κατά την υλοποίηση (Συντακτικά λάθη)
    • Λάθη κατά την εκτέλεση (Λάθη που οδηγούν σε αντικανονικό τερματισμό του προγράμματος)
    • Λογικά λάθη (Λογικά λάθη που παράγουν λανθασμένα αποτελέσματα)
  • Λάθη κατά την υλοποίηση
    Προκαλούνται κυρίως από λανθασμένη σύνταξη εντολών προγράμματος, ανιχνεύονται από τον μεταγλωττιστή και δεν επιτρέπεται η εκτέλεσή του προγράμματος μέχρι να τα διορθώσει ο προγραμματιστής
  • Λάθη κατά την εκτέλεση

    Προκαλούν τον αντικανονικό τερματισμό της εφαρμογής και το κρέμασμα του συστήματος, εμφανίζονται σε πραγματικό περιβάλλον εκτέλεσης
  • Λογικά λάθη
    Δεν προκαλούν τη διακοπή της εκτέλεσης του προγράμματος, αλλά δεν παράγονται τα επιθυμητά αποτελέσματα, ανιχνεύονται μόνο με τη διαδικασία ελέγχου (testing) και την ανάλυση των αποτελεσμάτων των προγραμμάτων
  • Εκσφαλμάτωση
    Η διαδικασία ελέγχου, εντοπισμού και διόρθωσης των σφαλμάτων ενός προγράμματος, με στόχο τον εντοπισμό των σημείων του προγράμματος που προκαλούν προβλήματα στη λειτουργία του
  • Η εισαγωγή γραμμών με σχόλια σε ένα πρόγραμμα υποβοηθά σημαντικά την εκσφαλμάτωση
  • Λογικά λάθη σε δομή επιλογής
    Σχετίζονται με τη συνθήκη ή τις συνθήκες, και τις ομάδες εντολών που εκτελούνται όταν μια συνθήκη είναι αληθής ή ψευδής
  • Για την ανίχνευση ενός λογικού λάθους σε δομές επιλογής χρειάζεται να μελετηθεί το αποτέλεσμα που παράγει ο συνδυασμός των συνθηκών και των ομάδων εντολών
  • Λογικά λάθη σε δομή επανάληψης
    Σχετίζονται με τη συνθήκη επανάληψης ή τερματισμού, την αρχικοποίηση της συνθήκης, την ενημέρωση της συνθήκης εντός του βρόχου επανάληψης, και τις εντολές που περιλαμβάνονται εντός του βρόχου
  • Κατά την εκσφαλμάτωση των δομών επανάληψης χρειάζεται να δίνετε προσοχή στους συγκριτικούς και τους λογικούς τελεστές των συνθηκών επανάληψης ή τερματισμού, την αρχικοποίηση της συνθήκης, την ενημέρωση της συνθήκης εντός του βρόχου, την αλληλουχία των εντολών του βρόχου και τη σειρά εκτέλεσής τους, το κριτήριο της περατότητας, και την πρώτη επανάληψη και τη τελευταία
  • Εκσφαλμάτωση λογικών λαθών σε δομή επανάληψης

    1. Έλεγχος της συνθήκης επανάληψης ή τερματισμού
    2. Έλεγχος της αρχικοποίησης της συνθήκης
    3. Έλεγχος της ενημέρωσης της συνθήκης εντός του βρόχου επανάληψης
    4. Έλεγχος των εντολών που περιλαμβάνονται εντός του βρόχου
    5. Έλεγχος αν θα συμπεριλάβουμε στον υπολογισμό την τιμή που λαμβάνει κάποια μεταβλητή στην τελευταία επανάληψη
  • Κατά την εκσφαλμάτωση των δομών επανάληψης χρειάζεται να δίνετε προσοχή στα εξής:
  • Στοιχεία που χρειάζεται προσοχή κατά την εκσφαλμάτωση δομών επανάληψης
    • Συγκριτικοί και λογικοί τελεστές των συνθηκών επανάληψης ή τερματισμού
    • Αρχικοποίηση της συνθήκης
    • Ενημέρωση της συνθήκης εντός του βρόχου
    • Αλληλουχία και σειρά εκτέλεσης των εντολών του βρόχου
    • Κριτήριο της περατότητας
    • Πρώτη επανάληψη και περίπτωση που ο βρόχος δεν πρέπει να εκτελεστεί ούτε μία φορά
    • Τελευταία επανάληψη
  • Εκσφαλμάτωση λογικών λαθών σε πίνακες

    1. Μέγεθος των πινάκων κατά τη δήλωσή τους
    2. Δείκτες των πινάκων κατά την προσπέλασή τους
    3. Μη υπέρβαση των ορίων του πίνακα
  • Εκσφαλμάτωση λογικών λαθών στα υποπρογράμματα
    1. Κλήση του υποπρογράμματος και πέρασμα των παραμέτρων
    2. Λοιπά λογικά λάθη που εμφανίζονται και στα προγράμματα
  • Έλεγχος «μαύρου κουτιού» (black-box testing)

    Εκτέλεση σεναρίων ελέγχου με δεδομένα εισόδου που προκύπτουν από τις προδιαγραφές του προγράμματος, αγνοώντας εντελώς τον κώδικα
  • Επιλογή δεδομένων στον έλεγχο μαύρου κουτιού

    1. Δημιουργία ισοδύναμων διαστημάτων τιμών (equivalence partitioning) για τα δεδομένα εισόδου
    2. Επιλογή αντιπροσωπευτικών τιμών για τα σενάρια ελέγχου που να καλύπτουν όλα τα διαστήματα
    3. Έλεγχος των ακραίων τιμών κάθε διαστήματος (boundary value analysis)