ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου και Συστήματος Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου
Τύποι Σφαλμάτων (1) Συντακτικό σφάλμα Αλγοριθμικό σφάλμα Διακλάδωση που γίνεται πολύ νωρίς ή πολύ αργά Έλεγχο λανθασμένης συνθήκης Παράλειψη αρχικοποίησης μεταβλητών Παράλειψη ελέγχου συνθήκης (όπως διαίρεση με 0 ή αποδεκτές τιμές εισόδου) Σύγκριση μεταβλητών διαφορετικού τύπου Σφάλματα υπολογισμού-σφάλματα ακρίβειας Σφάλματα τεκμηρίωσης Σφάλματα υπερφόρτωσης (overload)/ πίεσης (stess) 2
Τύποι Σφαλμάτων (2) Σφάλματα χωρητικότητας ή ορίων Σφάλματα χρονισμού/ συχρονισμού (timing/ coordination) Σφάλματα διεκπεραιωτικής ικανότητας ή σφάλματα επίδοσης (throughput/ performance) Σφάλματα ανάκτησης (recovery) Σφάλματα υλικού και λογισμικού συστήματος Σφάλματα προτύπων και διαδικασιών 3
Ορθογώνια ταξινόμηση σφαλμάτων Λειτουργία Διασύνδεση Εξέταση δεδομένων Ανάθεση Χρονισμός/ Συνέχιση Κατασκευή/ πακετοποίηση/ συγχώνευση Τεκμηρίωση Αλγόριθμος 4
Οργάνωση Ελέγχων (1) Έλεγχος υπομονάδων (module testing) Έλεγχος συστατικών (component testing) Έλεγχος μονάδων (unit testing) Έλεγχος ολοκλήρωσης (integration testing) Έλεγχος λειτουργιών (function testing) Έλεγχος επίδοσης 5
Οργάνωση Ελέγχων (2) Έλεγχος αποδοχής (σε συνεργασία με τον πελάτη) Έλεγχος εγκατάστασης (στο περιβάλλον του χρήστη) Έλεγχος συστήματος Επικυρωμένο σύστημα 6
Βήματα ελέγχου Έλεγχος μονάδων Προδιαγραφές σχεδίου Λειτουργικές απαιτήσεις Άλλες απαιτήσεις Προδιαγραφές απαιτήσεων πελάτη Περιβάλλον χρήστη Έλεγχος μονάδων Έλεγχος ολοκλήρωσης Έλεγχος λειτουργιών Έλεγχος επίδοσης Έλεγχος αποδοχής Έλεγχος εγκατάστασης Σε συνεργασία με τον πελάτη Έλεγχος μονάδων ΣΥΣΤΗΜΑ ΣΕ ΛΕΙΤΟΥΡΓΙΑ 7
Σχεδιασμός Ελέγχων Καθιέρωση στόχων ελέγχου Σχεδιασμός περιπτώσεων ελέγχου Συγγραφή περιπτώσεων ελέγχου Έλεγχος περιπτώσεων ελέγχου Εκτέλεση ελέγχων Αξιολόγηση αποτελεσμάτων 8
Ποιος πραγματοποιεί τους Όχι εγωιστική προσέγγιση Ανεξάρτητη ομάδα ελέγχους; Μπορεί να αποτελεί μερός της αναθεώρησης απαιτήσεων και σχεδίασης Αυτοί που έχουν την καλύτερη εικόνα σε σχέση με τις απαιτήσεις (αναλυτές) 9
Απόψεις των αντικειμένων ελέγχου Κλειστό ή μαύρο κουτί Διασφαλίζεται ότι εισάγεται κάθε είδος εισόδου και ότι οι παρατηρούμενες έξοδοι ταιριάζουν με τις αναμενόμενες εξόδους Ανοικτό (ή δαφανές ή λευκό) κουτί Χρησιμοποιούμε τη δομή του αντικειμένου για να το ελέγξουμε με διαφορετικούς τρόπους 10
Έλεγχος μονάδων Εξέταση του κώδικα Περιηγήσεις (walkthrough) - Επισκοπήσεις κώδικα Τυπική απόδειξη ορθού κώδικα Τεχνικές τυπικής απόδειξης Συμβολική εκτέλεση Αυτοματοποιημένη απόδειξη θεωρηματών Επιλογή περιπτώσεων ελέγχου 11
Πληρότητα ελέγχου Έλεγχος εντολών Έλεγχος διακλάδωσης ΈΛεγχος μονοπατιών Έλεγχος όλων των χρήσεων 12
Έλεγχος ολοκλήρωσης Ολοκλήρωση από κάτω προς τα πάνω Ολοκλήρωση από πάνω προς τα κάτω Εφάπαξ ολοκλήρωση Κλπ. 13
Περιπτώσεις ελέγχου Σημείο ελέγχου ή περίπτωση ελέγχου (test case) Είναι μία συγκεκριμένη επιλογή δεδομένων εισόδου που θα χρησιμοποιηθούν για τον έλεγχο ενός προγράμματος Έλεγχος (test) Είναι μια καθορισμένη συλλογή περιπτώσεων ελέγχου Διαχώριση εισόδου σε ισοδύναμες κλάσεις 14
Σχεδιασμός Ελέγχων Καθιέρωση στόχων ελέγχου Σχεδιασμός περιπτώσεων ελέγχου Συγγραφή περιπτώσεων ελέγχου Έλεγχο περιπτώσεων ελέγχου Εκτέλεση ελέγχων Αξιολόγηση αποτελεσμάτων ελέγχου 15
Πότε σταματάμε τον έλεγχο Πιθανότητα ύπαρξης πρόσθετων σφαλμάτων Αριθμός σφαλμάτων που έχουν βρεθεί μέχρι στιγμής Εμφυτευμένα λάθη που εντοπίστηκαν Συνολικός αριθμός εμφυτευμένων σφαλμάτων = Μη-εμφυτευμένα λάθη που εντοπίστηκαν Συνολικός αριθμός μη-εμφυτευμένων σφαλμάτων 16
Έλεγχος Συστήματος Έλεγχος λειτουργιών Έλεγχος επίδοσης Έλεγχος αποδοχής συστήματος Αξιοπιστία λογισμικού, διαθεσιμότητα και συντηρησιμότητα Έλεγχος εγκατάστασης 17
Είδη ελέγχων επίδοσης (1) Έλεγχοι πίεσης Έλεγχοι όγκου Έλεγχοι σχηματισμών (configuration) Έλεγχοι συμβατόητας Όταν υπάρχει διασύνδεση Έλεγχοι παλινδρόμησης Όταν υπάρχει αντικατάσταση Έλεγχοι ασφάλειας Έλεγχοι χρονισμού 18
Είδη ελέγχων επίδοσης (2) Έλεγχοι περιβάλλοντος Έλεγχοι ποιότητας Έλεγχοι αποκατάστασης (recovery) Έλεγχοι συντήρησης Έλεγχοι τεκμηρίωσης Έλεγχοι ευχρηστίας 19
Τεκμηρίωση ελέγχου Πλάνα ελέγχων Περιγραφή ελέγχου - σενάρια ελέγχου Αναφορά ανάλυσης ελέγχου Φόρμες αναφοράς προβλημάτων 20