ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Σχετικά έγγραφα
Επαλήθευση και Επικύρωση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Μεθοδολογίες Παραγωγής Λογισµικού

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ

ΣΕΧΝΟΛΟΓΙΑ ΛΟΓΙΜΙΚΟΤ ΔΕΤΣΕΡΗ ΔΙΑΛΕΞΗ ΔΙΑΔΙΚΑΙΑ ΠΑΡΑΓΩΓΗ ΛΟΓΙΜΙΚΟΤ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

Έλεγχος Λογισμικού. Software Testing

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Ενότητα 3 (κεφάλαιο 16) Επαναχρησιμοποίηση Λογισμικού

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Αμοιβαίος αποκλεισμός

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΥΠΟΛΕΙΠΟΜΕΝΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Έλεγχος Προγραμμάτων και Συστήματος

Περιεχόμενο του μαθήματος

(1) Σ 0 (2) Κ 0 (3) Αρχή_Επανάληψης (4) ιάβασε Χ (5) Σ Σ+Χ (6) Αν Χ>0 τότε (7) Κ Κ+1 (8) Τέλος_Αν (9) Μέχρις_ότου Σ>1000 (10) Εμφάνισε Χ

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Ενότητα 8 (κεφάλαιο 21) Θεματοκεντρική Τεχνολογία Λογισμικού

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Μαλούτα Θεανώ Σελίδα 1

ΘΕΜΑ Α. Α1. Να γράψετε στο. 2. Τα του. τις. αριθμητικές. πρώτες. β. Να. Σελίδα 1 από 5. 2) χ 2. χ Τ_Ρ(α) ΓΡΑΨΕ. ΓΡΑΨΕ χ χ χ+2

Αρχιτεκτονική Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΘΕΜΑ 1ο Α. 1. Να αναφέρετε τα κριτήρια που πρέπει να ικανοποιεί κάθε αλγόριθµος.

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

ΘΕΜΑ 1ο Α. 1. Ποια είναι τα κυριότερα χρησιμοποιούμενα γεωμετρικά σχήματα σε ένα διάγραμμα ροής και τι ενέργεια ή λειτουργία δηλώνει το καθένα;

Κωδικοποίηση και Έλεγχος Ορθότητας

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΜΟΝΟ ΝΕΟ ΣΥΣΤΗΜΑ Γ ΗΜΕΡΗΣΙΩΝ

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

(1) Σ 0 (2) Κ 0 (3) Αρχή_Επανάληψης (4) ιάβασε Χ (5) Σ Σ+Χ (6) Αν Χ>0 τότε (7) Κ Κ+1 (8) Τέλος_Αν (9) Μέχρις_ότου Σ>1000 (10) Εμφάνισε Χ

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Διαδικασίες της τεχνολογίας απαιτήσεων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 7

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Τελευταίο Μάθημα


ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7)

(1) Σ 0 (2) Κ 0 (3) Αρχή_Επανάληψης (4) ιάβασε Χ (5) Σ Σ+Χ (6) Αν Χ>0 τότε (7) Κ Κ+1 (8) Τέλος_Αν (9) Μέχρις_ότου Σ>1000 (10) Εμφάνισε Χ

Εισαγωγή στην. Γιάννης Σμαραγδάκης

ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΕΙΣΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΤΕΚΝΩΝ ΕΛΛΗΝΩΝ ΤΟΥ ΕΞΩΤΕΡΙΚΟΥ ΚΑΙ ΤΕΚΝΩΝ ΕΛΛΗΝΩΝ ΥΠΑΛΛΗΛΩΝ ΠΟΥ ΥΠΗΡΕΤΟΥΝ ΣΤΟ ΕΞΩΤΕΡΙΚΟ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΜΟΝΟ ΝΕΟ ΣΥΣΤΗΜΑ ΕΣΠΕΡΙΝΩΝ

Α4. Όσο επανάλαβε Τέλος_επανάληψης Εμφάνισε Για από μέχρι με_βήμα. Όσο επανάλαβε (Μονάδες 5) Α5. Α[10, 5] Π, Για από μέχρι (1) Για από μέχρι (2) Αν

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Κατανεμημένα Συστήματα Ι

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΤΕΛΟΣ 1ΗΣ ΣΕΛΙΔΑΣ

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος

Επαναληπτικό Διαγώνισμα

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΕΚΦΩΝΗΣΕΙΣ

Γ ΚΥΚΛΟΣ ΠΡΟΣΟΜΟΙΩΤΙΚΩΝ ΔΙΑΓΩΝΙΣΜΑΤΩΝ ΣΥΓΧΡΟΝΟ Προτεινόμενα Θέματα Γ Λυκείου Φεβρουάριος Ανάπτυξη Εφαρμογών ΘΕΜΑ Α

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Εισαγωγή στη Σχεδίαση Λογισμικού

Dynamic Business Systems. Παρουσίαση Εφαρμογής

(1) Σ 0 (2) Κ 0 (3) Αρχή_Επανάληψης (4) ιάβασε Χ (5) Σ Σ+Χ (6) Αν Χ>0 τότε (7) Κ Κ+1 (8) Τέλος_Αν (9) Μέχρις_ότου Σ>1000 (10) Εμφάνισε Χ

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Α2. Δίνεται το επόμενο τμήμα προγράμματος σε ΓΛΩΣΣΑ:

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ÅÐÉËÏÃÇ

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΟΚΙΜΕΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Στόχοι Εξέταση των διαφορών μεταξύ δοκιμών επικύρωσης και δοκιμών για ατέλειες Περιγραφή των αρχών που διέπουν τις δοκιμές συστήματος και τις δοκιμές συστατικών στοιχείων Αναφορά στις στρατηγικές που μπορούν να χρησιμοποιηθούν για την παραγωγή περιπτώσεων δοκιμής συστήματος Περιγραφή των βασικών χαρακτηριστικών των εργαλείων λογισμικού που υποστηρίζουν την αυτοματοποίηση των δοκιμών

Περιεχόμενα Δοκιμές συστήματος Δοκιμές συστατικών στοιχείων Σχεδιασμός δοκιμαστικών περιπτώσεων Αυτοματοποίηση δοκιμών

Η διαδικασία δοκιμών Δοκιμές συστατικών στοιχείων Δοκιμή μεμονωμένων συστατικών στοιχείων ενός προγράμματος Συνήθως είναι ευθύνη των προγραμματιστών των συστατικών στοιχείων (εξαίρεση αποτελούν τα κρίσιμα συστήματα) Οι δοκιμές απορρέουν από την πείρα του προγραμματιστή. Δοκιμές συστήματος Δοκιμή ομάδων συστατικών στοιχείων τα οποία έχουν συνδυαστεί ώστε να δημιουργήσουν ένα σύστημα ή υποσύστημα Διεξάγονται με ευθύνη μιας ανεξάρτητης ομάδας δοκιμών Οι δοκιμές βασίζονται στις προδιαγραφές του συστήματος.

Φάσεις δοκιμών

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

Στόχοι των διαδικασιών δοκιμών Δοκιμές επικύρωσης Να αποδείξουν στον κατασκευαστή και τον πελάτη ότι το λογισμικό ικανοποιεί τις απαιτήσεις του Μια επιτυχημένη τέτοια δοκιμή αποδεικνύει ότι το σύστημα λειτουργεί όπως αναμένεται. Δοκιμές για ατέλειες Να εντοπίσουν σφάλματα ή ατέλειες τα οποία προκαλούν συμπεριφορά του λογισμικού η οποία είναι εσφαλμένη, ανεπιθύμητη ή δεν συμφωνεί με τις προδιαγραφές του συστήματος. Μια δοκιμή θεωρείται επιτυχημένη όταν προκαλεί λανθασμένη απόδοση ενός συστήματος και με τον τρόπο αυτό αποκαλύπτει κάποια ατέλειά του.

Η διαδικασία δοκιμών λογισμικού

Πολιτικές δοκιμών Μόνο με εξαντλητικές δοκιμές μπορεί να αποδειχθεί ότι ένα πρόγραμμα δεν έχει ατέλειες. Όμως δεν είναι εφικτές οι εξαντλητικές δοκιμές Η προσέγγιση που θα υιοθετηθεί στην επιλογή των δοκιμών συστήματος καθορίζεται με τις πολιτικές δοκιμών Θα πρέπει να δοκιμαστούν όλες οι λειτουργίες του συστήματος που προσπελάζονται μέσω μενού Θα πρέπει να δοκιμαστούν συνδυασμοί λειτουργιών που προσπελάζονται μέσω του ίδιου μενού Όπου υπάρχει είσοδος από το χρήστη, πρέπει να δοκιμάζονται όλες οι λειτουργίες τόσο με σωστές όσο και με λανθασμένες εισόδους

Δοκιμές συστήματος Αφορούν την ενοποίηση δύο ή περισσοτέρων συστατικών στοιχείων με σκοπό τη δημιουργία ενός συστήματος ή υποσυστήματος. Μπορεί να αφορούν τη δοκιμή μιας επαύξησης που πρόκειται να παραδοθεί στον πελάτη. Δύο φάσεις: Δοκιμές ενοποίησης - η ομάδα δοκιμών έχει πρόσβαση στον πηγαίο κώδικα του συστήματος. Γίνεται δοκιμή του συστήματος κατά την ενοποίηση των συστατικών στοιχείων. Δοκιμές τελικής έκδοσης - η ομάδα δοκιμών δοκιμάζει ολόκληρο το σύστημα που πρόκειται να παραδοθεί με δοκιμές "μαύρου κουτιού".

Δοκιμές ενοποίησης Προβλέπουν τη δόμηση ενός συστήματος από τα συστατικά του στοιχεία και τη δοκιμή του για προβλήματα που προκύπτουν από τις αλληλεπιδράσεις των εν λόγω συστατικών στοιχείων. Αναλυτική ενοποίηση Πρώτα αναπτύσσεται ένας γενικός σκελετός του συστήματος και μετά προστίθενται τα διάφορα συστατικά στοιχεία. Συνθετική ενοποίηση Πρώτα ενσωματώνονται συστατικά στοιχεία υποδομής και μετά προστίθενται τα συστατικά στοιχεία που παρέχουν τις λειτουργίες. Για να απλοποιηθεί ο εντοπισμός της θέσης των σφαλμάτων, τα συστήματα πρέπει να ενοποιούνται βαθμιαία.

Βαθμιαίες δοκιμές ενοποίησης

Προσεγγίσεις δοκιμών Επικύρωση της αρχιτεκτονικής Οι δοκιμές με αναλυτική ενοποίηση είναι πιο αποτελεσματικές στην ανακάλυψη σφαλμάτων στην αρχιτεκτονική των συστημάτων. Επίδειξη συστήματος Με τις δοκιμές αναλυτικής ενοποίησης μπορεί να γίνει μια περιορισμένη επίδειξη των λειτουργιών του συστήματος σε κάποιο πρώιμο στάδιο της ανάπτυξής του. Υλοποίηση δοκιμών Συχνά είναι πιο εύκολες οι δοκιμές συνθετικής ενοποίησης. Παρατήρηση δοκιμών Προβλήματα και με τις δύο προσεγγίσεις. Για την παρατήρηση των δοκιμών μπορεί να απαιτείται επιπλέον κώδικας.

Δοκιμές τελικής έκδοσης Η διαδικασία της δοκιμής μιας έκδοσης του συστήματος η οποία θα διανεμηθεί στους πελάτες. Κύριος στόχος είναι να αυξήσει το επίπεδο εμπιστοσύνης του προμηθευτή στο ότι το σύστημα ικανοποιεί τις απαιτήσεις του. Οι δοκιμές τελικής έκδοσης αποτελούν συνήθως μια διαδικασία δοκιμών "μαύρου κουτιού" (black-box testing) ή λειτουργικών δοκιμών Βασίζονται μόνο στις προδιαγραφές του συστήματος Τα μέλη της ομάδας δοκιμών δεν γνωρίζουν την υλοποίηση του συστήματος.

Δοκιμή μαύρου κουτιού

Οδηγίες δοκιμών Οι οδηγίες δοκιμών αποτελούν συμβουλές για την ομάδα δοκιμών οι οποίες θα βοηθήσουν τα μέλη της να επιλέξουν κατάλληλες δοκιμές ώστε να αποκαλύψουν ατέλειες στο σύστημα Επιλογή εισόδων οι οποίες αναγκάζουν το σύστημα να παράγει κάθε είδους μήνυμα σφάλματος Σχεδιασμός εισόδων που προκαλούν υπερχείλιση των χώρων προσωρινής αποθήκευσης Επανάληψη της ίδιας εισόδου ή μιας σειράς εισόδων πολλές φορές Πρόκληση μη έγκυρων εξόδων Παραγωγή αποτελεσμάτων υπολογισμών τα οποία είναι πολύ μεγάλα ή πολύ μικρά

Σενάριο δοκιμής Ζητήθηκε από μια φοιτήτρια στη Σκωτία η οποία μελετά την Αμερικανική ιστορία να γράψει μια έκθεση σχετικά με «Τον επεκτατισμό στην Αμερικανική Δύση από το 1840 μέχρι το 1880». Για να το κάνει, πρέπει να βρει πηγές από διάφορες βιβλιοθήκες. Συνδέεται με το σύστημα LIBSYS και χρησιμοποιεί τη λειτουργία αναζήτησης για να διαπιστώσει αν μπορεί να προσπελάσει πρωτότυπα έγγραφα εκείνης της εποχής. Εντοπίζει πηγές σε διάφορες πανεπιστημιακές βιβλιοθήκες των ΗΠΑ και κατεβάζει αντίγραφα από κάποιες από αυτές. Ωστόσο, για ένα έγγραφο, πρέπει να διαθέτει βεβαίωση από το πανεπιστήμιό της ότι είναι πράγματι φοιτήτρια και ότι η χρήση του εγγράφου δεν προορίζεται για εμπορικούς σκοπούς. Η φοιτήτρια χρησιμοποιεί τη λειτουργία του LIBSYS με την οποία μπορεί να ζητήσει τέτοια άδεια και καταχωρίζει το αίτημά της. Αν γίνει αποδεκτό, το έγγραφο θα μεταφερθεί στον καταχωρισμένο διακομιστή της βιβλιοθήκης και θα τυπωθεί για λογαριασμό της. Λαμβάνει ένα μήνυμα από το LIBSYS τον οποίο την πληροφορεί ότι θα λάβει ένα μήνυμα ηλεκτρονικού ταχυδρομείου μόλις το τυπωμένο έγγραφο γίνει διαθέσιμο.

Δοκιμές συστήματος Δοκιμή του μηχανισμού σύνδεσης (login) με χρήση σωστών και λανθασμένων διαπιστευτηρίων ώστε να ελεγχθεί αν οι έγκυροι χρήστες γίνονται αποδεκτοί και οι μη έγκυροι απορρίπτονται. Δοκιμή της λειτουργίας αναζήτησης με τη χρήση ερωτημάτων σε γνωστές πηγές ώστε να ελεγχθεί αν ο μηχανισμός αναζήτησης εντοπίζει όντως έγγραφα. Δοκιμή των λειτουργιών παρουσίασης του συστήματος ώστε να ελεγχθεί αν οι πληροφορίες σχετικά με τα έγγραφα εμφανίζονται σωστά. Δοκιμή του μηχανισμού αίτησης άδειας για λήψη. Δοκιμή της αυτόματης απάντησης ηλεκτρονικού ταχυδρομείου ότι το έγγραφο είναι διαθέσιμο.

Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης μπορούν να αποτελέσουν τη βάση για τις δοκιμές ενός συστήματος. Βοηθούν στον προσδιορισμό των λειτουργιών που πρέπει να δοκιμαστούν και στο σχεδιασμό των απαιτούμενων περιπτώσεων δοκιμών. Από το σχετικό διάγραμμα ακολουθίας, μπορούν να προσδιοριστούν τα δεδομένα εισόδου και εξόδου που πρέπει να δημιουργηθούν για το σκοπό των δοκιμών.

Διάγραμμα ακολουθίας για τη συλλογή μετεωρολογικών δεδομένων

Δοκιμές απόδοσης Στα πλαίσια των δοκιμών τελικής έκδοσης μπορεί να περιλαμβάνεται και η δοκιμή για ανακύπτουσες ιδιότητες του συστήματος όπως η απόδοση και η αξιοπιστία. Οι δοκιμές απόδοσης συνήθως προβλέπουν το σχεδιασμό μιας σειράς δοκιμών, κατά τη διάρκεια των οποίων το φορτίο αυξάνεται σταθερά μέχρι η απόδοση του συστήματος να μην είναι πλέον αποδεκτή.

Δοκιμές καταπόνησης Οδηγούν το σύστημα να λειτουργήσει πέρα από τα σχεδιαστικά όριά του. Η καταπόνηση του συστήματος συχνά προκαλεί την αποκάλυψη των ατελειών. Συμπεριφορά σε αστοχία κατά τη δοκιμή καταπόνησης. Η αστοχία του συστήματος δεν πρέπει να είναι ολοκληρωτική. Η δοκιμή καταπόνησης ελέγχει για ενδεχόμενη μη αποδεκτή έλλειψη διαθεσιμότητας υπηρεσίας ή απώλεια δεδομένων. Οι δοκιμές καταπόνησης σχετίζονται ιδιαίτερα με κατανεμημένα συστήματα των οποίων η απόδοσή υποβαθμίζεται σημαντικά καθώς υπερφορτώνεται το δίκτυο.

Δοκιμές συστατικών στοιχείων Οι δοκιμές συστατικών στοιχείων αφορούν τη διαδικασία δοκιμής μεμονωμένων συστατικών στοιχείων του συστήματος. Είναι μια διαδικασία δοκιμών για ατέλειες. Τα συστατικά στοιχεία μπορεί να είναι: Μεμονωμένες συναρτήσεις ή μέθοδοι στο εσωτερικό ενός αντικειμένου Κλάσεις αντικειμένων με πολλά γνωρίσματα και μεθόδους Σύνθετα συστατικά στοιχεία που διαθέτουν καθορισμένες διασυνδέσεις οι οποίες χρησιμοποιούνται για πρόσβαση στις λειτουργικές δυνατότητές τους

Δοκιμές κλάσεων αντικειμένων Για πλήρη κάλυψη μιας κλάσης αντικειμένων από πλευράς δοκιμών απαιτούνται Η μεμονωμένη δοκιμή κάθε λειτουργίας που σχετίζεται με το αντικείμενο Ο ορισμός κάθε γνωρίσματος του αντικειμένου και η αλληλεπίδραση με αυτό Η χρήση του αντικειμένου σε όλες τις δυνατές καταστάσεις Η κληρονομικότητα δυσχεραίνει το σχεδιασμό δοκιμών κλάσεων αντικειμένων αφού οι πληροφορίες που πρέπει να υποβληθούν σε δοκιμή δεν βρίσκονται σε μία θέση.

Η διασύνδεση αντικειμένων του μετεωρολογικού σταθμού

Δοκιμή του μετεωρολογικού σταθμού Απαιτείται ο ορισμός περιπτώσεων δοκιμής για τις μεθόδους reportweather, calibrate, test, startup και shutdown. Με τη χρήση ενός μοντέλου καταστάσεων, προσδιορίζουμε ακολουθίες καταστατικών μεταβάσεων που πρέπει να δοκιμαστούν και ορίζουμε ακολουθίες συμβάντων οι οποίες θα επιβάλλουν αυτές τις μεταβάσεις Για παράδειγμα: Waiting -> Calibrating -> Testing -> Transmitting -> Waiting

Δοκιμές διασυνδέσεων Ο στόχος είναι η ανίχνευση ελαττωμάτων που οφείλονται σε σφάλματα των διασυνδέσεων ή σε μη έγκυρες παραδοχές που αφορούν τις διασυνδέσεις. Ιδιαίτερα σημαντικές στην αντικειμενοστρεφή ανάπτυξη αφού τα αντικείμενα ορίζονται από τις διασυνδέσεις τους

Δοκιμές διασυνδέσεων

Τύποι διασυνδέσεων Παραμετρικές διασυνδέσεις Μεταβιβάζονται δεδομένα από τη μία διεργασία στην άλλη Διασυνδέσεις κοινόχρηστης μνήμης Κάποιο μπλοκ της μνήμης διατίθεται για κοινή χρήση μεταξύ διεργασιών ή λειτουργιών. Διαδικασιακές διασυνδέσεις Ένα υποσύστημα ενθυλακώνει ένα σύνολο διεργασιών τις οποίες θα καλέσουν άλλα υποσυστήματα. Διασυνδέσεις μεταβίβασης μηνυμάτων Κάποια υποσυστήματα αιτούνται υπηρεσιών από άλλα υποσυστήματα.

Λάθη στις διασυνδέσεις Κακή χρήση διασύνδεσης Ένα συστατικό στοιχείο καλεί κάποιο άλλο χρησιμοποιώντας λανθασμένα τη διασύνδεσή του, για παράδειγμα η σειρά των παραμέτρων είναι λανθασμένη Παρανόηση διασύνδεσης Ένα συστατικό στοιχείο καλεί κάποιο άλλο, κάνοντας λανθασμένες παραδοχές σχετικά με τη συμπεριφορά του. Λάθη χρονισμού Το συστατικό στοιχείο που πραγματοποιεί κλήση και εκείνο που καλείται μπορεί να λειτουργούν με διαφορετικές ταχύτητες, οπότε προσπελάζονται πληροφορίες που δεν έχουν ενημερωθεί.

Οδηγίες για τις δοκιμές διασυνδέσεων Σχεδιάζουμε τις δοκιμές έτσι ώστε οι τιμές των παραμέτρων μιας εξωτερικής διεργασίας να βρίσκονται στα όριά τους. Πάντα δοκιμάζουμε τις παραμέτρους των δεικτών με μηδενικούς δείκτες. Σχεδιάζουμε δοκιμές που προκαλούν την αστοχία του συστατικού στοιχείου. Σε συστήματα μεταβίβασης μηνυμάτων χρησιμοποιούμε δοκιμές καταπόνησης. Σε συστήματα κοινόχρηστης μνήμης, μεταβάλλουμε τη σειρά ενεργοποίησης των συστατικών στοιχείων.

Σχεδιασμός δοκιμαστικών περιπτώσεων Αναφέρεται στο σχεδιασμό των περιπτώσεων δοκιμών (είσοδοι και προβλεπόμενοι έξοδοι) που ελέγχουν το σύστημα. Σκοπός της διαδικασίας σχεδιασμού περιπτώσεων δοκιμών είναι η δημιουργία ενός συνόλου δοκιμών που είναι αποτελεσματικές στην επικύρωση και τον εντοπισμό ατελειών ενός προγράμματος. Προσεγγίσεις σχεδιασμού: Δοκιμές βάσει απαιτήσεων Δοκιμές διαμέρισης Δοκιμές δομής

Δοκιμές βάσει απαιτήσεων Μια γενική αρχή της τεχνολογίας απαιτήσεων είναι ότι κάθε απαίτηση πρέπει να μπορεί να δοκιμαστεί. Οι δοκιμές βάσει απαιτήσεων αποτελούν μια τεχνική δοκιμών επικύρωσης, κατά την οποία κάθε απαίτηση εξετάζεται με στόχο την παραγωγή ενός συνόλου δοκιμών.

Απαιτήσεις του συστήματος LIBSYS Ο χρήστης πρέπει να είναι σε θέση να εκτελεί αναζητήσεις είτε σε όλο το αρχικό σύνολο των βάσεων δεδομένων είτε σε ένα υποσύνολό τους. Το σύστημα θα παρέχει στο χρήστη κατάλληλα προγράμματα προβολής για την ανάγνωση εγγράφων του αποθετηρίου. Σε κάθε παραγγελία πρέπει να αποδίδεται ένα μοναδικό αναγνωριστικό (ORDER_ID), το οποίο ο χρήστης θα μπορεί να αντιγράψει στον μόνιμο αποθηκευτικό χώρο του λογαριασμού.

Δοκιμές για το σύστημα LIBSYS Ο χρήστης αναζητάει στοιχεία που είναι γνωστό ότι υπάρχουν και στοιχεία που είναι γνωστό ότι δεν υπάρχουν, όταν το σύνολο των βάσεων δεδομένων περιλαμβάνει μόνο μία βάση δεδομένων. Ο χρήστης αναζητάει στοιχεία που είναι γνωστό ότι υπάρχουν και στοιχεία που είναι γνωστό ότι δεν υπάρχουν, όταν το σύνολο των βάσεων δεδομένων περιλαμβάνει δύο βάσεις δεδομένων. Ο χρήστης αναζητάει στοιχεία που είναι γνωστό ότι υπάρχουν και στοιχεία που είναι γνωστό ότι δεν υπάρχουν, όταν το σύνολο των βάσεων δεδομένων περιλαμβάνει περισσότερες από δύο βάσεις δεδομένων. Ο χρήστης επιλέγει μία βάση δεδομένων από το σύνολο των βάσεων δεδομένων, και αναζητάει στοιχεία που είναι γνωστό ότι υπάρχουν και στοιχεία που είναι γνωστό ότι δεν υπάρχουν. Ο χρήστης επιλέγει περισσότερες από μία βάσεις δεδομένων από το σύνολο των βάσεων δεδομένων, και αναζητάει στοιχεία που είναι γνωστό ότι υπάρχουν και στοιχεία που είναι γνωστό ότι δεν υπάρχουν.

Δοκιμές διαμέρισης Τα δεδομένα εισόδου και τα αποτελέσματα της εξόδου ενός προγράμματος συνήθως ανήκουν σε μια σειρά από διαφορετικές κατηγορίες των οποίων τα μέλη έχουν κάποια κοινά χαρακτηριστικά. Καθεμιά από αυτές τις κατηγορίες είναι μια διαμέριση ισοδυναμίας ή ένας τομέας ισοδυναμίας όπου το πρόγραμμα συμπεριφέρεται με ισοδύναμο τρόπο για κάθε μέλος της κατηγορίας. Πρέπει να επιλέγονται περιπτώσεις δοκιμής από κάθε διαμέριση.

Διαμερίσεις ισοδυναμίας

Διαμερίσεις ισοδυναμίας

Προδιαγραφή ρουτίνας αναζήτησης procedure Search (Key : ELEM ; T: SEQ of ELEM; Found : in out BOOLEAN; L: in out ELEM_INDEX) ; Προσυνθήκη -- η ακολουθία έχει τουλάχιστον ένα στοιχείο T FIRST <= T LAST Μετασυνθήκη -- το στοιχείο υπάρχει και αναφέρεται από το L ( Found and T (L) = Key) ή -- το στοιχείο δεν περιέχεται στην ακολουθία ( not Found and not (exists i, T FIRST >= i <= T LAST, T (i) = Key ))

Ρουτίνα αναζήτησης διαμερίσεις εισόδου Είσοδοι που συνάδουν με τις προσυνθήκες Είσοδοι στις οποίες κάποια προσυνθήκη δεν ισχύει Είσοδοι όπου το στοιχείο-κλειδί είναι μέρος της ακολουθίας Είσοδοι όπου το στοιχείο-κλειδί δεν είναι μέρος της ακολουθίας

Οδηγίες δοκιμών (ακολουθίες) Δοκιμάζουμε το λογισμικό με ακολουθίες οι οποίες έχουν μία μόνο τιμή. Σε κάθε δοκιμή χρησιμοποιούμε ακολουθίες διαφορετικού μεγέθους. Δημιουργούμε δοκιμές οι οποίες θα προσπελάζουν το πρώτο, το μεσαίο και το τελευταίο στοιχείο κάθε ακολουθίας. Πραγματοποιούμε δοκιμές με ακολουθίες μηδενικού μήκους.

Ρουτίνα αναζήτησης διαμερίσεις εισόδου Ακολουθία Μία τιμή Μία τιμή Περισσότερες από 1 τιμές Περισσότερες από 1 τιμές Περισσότερες από 1 τιμές Περισσότερες από 1 τιμές Στοιχείο Στην ακολουθία Δεν περιέχεται στην ακολουθία Το πρώτο στοιχείο της ακολουθίας Το τελευταίο στοιχείο της ακολουθίας Το μεσαίο στοιχείο της ακολουθίας Δεν περιέχεται στην ακολουθία Ακολουθία εισόδου (T) Κλειδί (Key) Έξοδος (Found, L) 17 17 αληθές, 1 17 0 ψευδές, ;; 17, 29, 21, 23 17 αληθές, 1 41, 18, 9, 31, 30, 16, 45 45 αληθές, 7 17, 18, 21, 23, 29, 41, 38 23 αληθές, 4 21, 23, 29, 33, 38 25 ψευδές, ;;

Δοκιμές δομής Μερικές φορές ονομάζεται και δοκιμή "λευκού κουτιού". Δημιουργούνται περιπτώσεις δοκιμών ανάλογα με τη δομή του προγράμματος. Για τον προσδιορισμό επιπλέον περιπτώσεων δοκιμών χρησιμοποιείται η γνώση και η κατανόηση του προγράμματος. Ο αντικειμενικός στόχος είναι ο έλεγχος όλων των εντολών του προγράμματος (όχι όλων των συνδυασμών διαδρομών).

Δοκιμές δομής

Δυαδική αναζήτηση ισοδυν. διαμερίσεις Ικανοποιούνται οι προσυνθήκες, το στοιχείο-κλειδί ανήκει στον πίνακα. Ικανοποιούνται οι προσυνθήκες, το στοιχείο-κλειδί δεν ανήκει στον πίνακα. Δεν ικανοποιούνται οι προσυνθήκες, το στοιχείο-κλειδί ανήκει στον πίνακα. Δεν ικανοποιούνται οι προσυνθήκες, το στοιχείο-κλειδί δεν ανήκει στον πίνακα. Ο πίνακας εισόδου έχει μία μόνο τιμή. Ο πίνακας εισόδου έχει ζυγό πλήθος τιμών. Ο πίνακας εισόδου έχει μονό πλήθος τιμών.

Δυαδική αναζήτηση ισοδυν. διαμερίσεις

Δυαδική αναζήτηση - περιπτώσεις δοκιμών Πίνακας εισόδου (Τ) Κλειδί Έξοδος (Found, L) (Key) 17 17 αληθές, 1 17 0 ψευδές, ;; 17, 21, 23, 29 17 αληθές, 1 9, 16, 18, 30, 31, 41, 45 45 αληθές, 7 17, 18, 21, 23, 29, 38, 41 23 αληθές, 4 17, 18, 21, 23, 29, 33, 38 21 αληθές, 3 12, 18, 21, 23, 32 23 αληθές, 4 21, 23, 29, 33, 38 25 ψευδές, ;;

Δοκιμές διαδρομής Ο αντικειμενικός στόχος των δοκιμών διαδρομής είναι η εξασφάλιση ότι κάθε διαδρομή του προγράμματος εκτελείται τουλάχιστον μία φορά με το χρησιμοποιούμενο σύνολο περιπτώσεων δοκιμών. Το σημείο εκκίνησης για τις δοκιμές διαδρομής είναι ένα γράφημα ροής του προγράμματος, το οποίο αποτελείται από κόμβους που αντιπροσωπεύουν αποφάσεις και ακμές που δείχνουν τη ροή του ελέγχου. Επομένως, κάθε εντολή υπό συνθήκη εμφανίζεται ως κόμβος στο γράφημα ροής.

Γράφημα ροής δυαδικής αναζήτησης

Ανεξάρτητες διαδρομές 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14 1, 2, 3, 4, 5, 14 1, 2, 3, 4, 5, 6, 7, 11, 12, 5, 1, 2, 3, 4, 6, 7, 2, 11, 13, 5, Πρέπει να παραχθούν περιπτώσεις δοκιμών ώστε να εκτελεστεί καθεμιά από αυτές τις διαδρομές Για να ελέγξουμε αν έχουν εκτελεστεί όλες οι διαδρομές, μπορούμε να χρησιμοποιήσουμε

Αυτοματοποίηση δοκιμών Οι δοκιμές είναι μια πολυδάπανη φάση της διαδικασίας παραγωγής λογισμικού. Για τη μείωση του απαιτούμενου χρόνου και του συνολικού κόστους των δοκιμών υπάρχουν κατάλληλα εργαλεία. Συστήματα όπως το Junit υποστηρίζουν αυτόματη εκτέλεση δοκιμών. Τα περισσότερα εργαλεία δοκιμών έχουν ανοιχτή δομή επειδή οι ανάγκες των δοκιμών εξαρτώνται από την εκάστοτε εταιρεία. Μερικές φορές είναι δύσκολη η ενσωμάτωση εργαλείων σχεδιασμού και ανάλυσης τα οποία έχουν κλειστή δομή.

Ένα εργαστήριο δοκιμών

Προσαρμογή εργαλείων δοκιμών Ίσως απαιτείται η δημιουργία σεναρίων για προσομοιωτές διασύνδεσης χρήστη και υποδειγμάτων για γεννήτριες δοκιμαστικών δεδομένων. Ίσως θα πρέπει να δημιουργηθούν με μη αυτόματο τρόπο σύνολα με αποτελέσματα δοκιμών. Ίσως είναι απαραίτητη η δημιουργία μονάδων σύγκρισης αρχείων ειδικής χρήσης.

Κύρια σημεία Οι δοκιμές μπορούν να καταδείξουν την παρουσία λαθών σε ένα πρόγραμμα, αλλά δεν μπορούν να δείξουν ότι δεν υπάρχουν εναπομείναντα σφάλματα. Οι δοκιμές ενός συστατικού στοιχείου είναι ευθύνη του δημιουργού του συστατικού στοιχείου. Οι δοκιμές συστήματος συνήθως διεξάγονται από μια ξεχωριστή ομάδα δοκιμών. Οι δοκιμές ενοποίησης αποτελούν δοκιμές επαυξήσεων ενός συστήματος. Οι δοκιμές τελικής έκδοσης αφορούν τις δοκιμές των εκδόσεων που παραδίδονται στον πελάτη. Στις δοκιμές για ατέλειες, η συσσωρευμένη πείρα και οι διάφορες κατευθυντήριες οδηγίες συμβάλλουν στο σχεδιασμό δοκιμαστικών περιπτώσεων.

Κύρια σημεία Οι δοκιμές διασύνδεσης έχουν στόχο τον εντοπισμό ατελειών σε διασυνδέσεις σύνθετων συστατικών στοιχείων. Ένας τρόπος παραγωγής περιπτώσεων δοκιμής είναι η δημιουργία διαμερίσεων ισοδυναμίας - όλες οι περιπτώσεις που ανήκουν στην ίδια διαμέριση πρέπει να συμπεριφέρονται με τον ίδιο τρόπο. Οι δοκιμές δομής βασίζονται στην ανάλυση ενός προγράμματος και τη χρήση αυτής της ανάλυσης ως μέσο για την επιλογή περιπτώσεων δοκιμής. Η αυτοματοποίηση των δοκιμών επιτρέπει την υποστήριξη της διαδικασίας δοκιμών με ένα εύρος εργαλείων λογισμικού, μειώνοντας σημαντικά το κόστος της.