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

Σχετικά έγγραφα
Έλεγχος Λογισμικού. Software Testing

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10

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

Τεχνολογία λογισμικού στην πράξη

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην πληροφορική

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

Εισαγωγή στην πληροφορική

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

Τεχνολογία Λογισμικού

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Εισαγωγή στην Τεχνολογία Λογισµικού

Rational Unified Process:

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην πληροφορική

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

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Εισαγωγή στην Τεχνολογία Λογισμικού

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

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

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

Τεχνολογία Λογισμικού

Προγραµµατιστικές τεχνικές

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

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

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

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

Προγραµµατιστικές Τεχνικές

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

ΚΕΦΑΛΑΙΟ 11 ΕΛΕΓΧΟΣ ΚΑΙ ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ. Έννοιες-κλειδιά

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

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

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Προγραμματιστικές Τεχνικές

6. Εισαγωγή στον προγραµµατισµό

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στην πληροφορική

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

Α. Ερωτήσεις Ανάπτυξης

Προγραµµατιστικές Τεχνικές

Τεχνολογίες Υλοποίησης Αλγορίθµων

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

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

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Σκοπός του μαθήματος

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

Λειτουργικά Συστήµατα

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

Εισαγωγή στην πληροφορική

Πληροφοριακά Συστήµατα & Επιχειρήσεις

Το λειτουργικό σύστημα. Προγραμματισμός II 1

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Πτυχιακή Εργασία CONTINUOUS INTEGRATION (ΣΥΝΕΧΗΣ ΕΝΣΩΜΑΤΩΣΗ)

Τεχνολογία Λογισμικού

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Δείχτες Επιτυχίας και Δείχτες Επάρκειας

ΚΕΦΑΛΑΙΟ 1ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 3: ΟΡΙΑ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

Τεχνολογία Λογισμικού

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

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

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

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Διδακτική της Πληροφορικής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η διαχείριση διάταξης στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Επαλήθευση μοντέλου. (model Verification) Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων

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

Εισαγωγή στην Πληροφορική

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ

Εκσφαλμάτωση προγράμματος

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Τεχνολογία Λογισμικού

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΑΞΙΟΠΙΣΤΙΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ

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

ΙΑΓΩΝΙΣΜΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΛΥΚΕΙΟΥ

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα

Πληροφοριακά Συστήματα, Οργανισμοί και Επιχειρησιακές Διαδικασίες

Προγραμματιστικές τεχνικές

Φάση 3: Λεπτομερής Σχεδιασμός

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Διδακτικές Τεχνικές (Στρατηγικές)

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής

Προγραµµατιστικές Τεχνικές

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ/Γ ΟΙΚΟΝΟΜΙΚΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ-ΘΕΡΙΝΑ ΗΜΕΡΟΜΗΝΙΑ: 17/09/2017 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: ΚΑΤΡΑΚΗ Α.-ΣΙΟΤΡΟΠΟΣ Π.-ΛΙΟΔΑΚΗΣ Ε.

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

Γ ΤΑΞΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ÑÏÌÂÏÓ

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Transcript:

ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

Ελεγχος και επαλήθευση λογισµικού Η τελευταία από τις εργασίες κατασκευής του λογισµικού Εφαρµόζεται είτε στο σύνολο του λογισµικού, είτε σε τµήµα αυτού, ανάλογα µε το Μοντέλο Κύκλου Ζωής που ακολουθείται. Σκοπός του ελέγχου: Να επαληθεύσει ότι το λογισµικό ικανοποιεί τις απαιτήσεις που έχουν τεθεί κατά την φάση προδιαγραφών των απαιτήσεων Να εντοπίσει προγραµµατιστικά σφάλµατα Επίπεδα ελέγχου Μονάδων >> Συνένωσης >> Συστήµατος >> Αποδοχής

Προγραµµατισµός του ελέγχου Κατάρτιση πλάνου ελέγχου 1. Ταυτότητα του εγγράφου 2. Εισαγωγή 3. Οντότητες που θα ελεγχθούν 4. Χαρακτηριστικά που θα ελεγχθούν 5. Χαρακτηριστικά που δεν θα ελεγχθούν 6. Μέθοδος 7. Κριτήρια επιτυχίας / αποτυχίας ελέγχου οντοτήτων 8. Κριτήρια ακύρωσης και προδιαγραφές επανάληψης ελέγχου. 9. Παραδοτέα έγγραφα 10. Εργασίες που πρέπει να γίνουν 11. Αναγκαίοι πόροι περιβάλλοντος 12. Κατανοµή ευθυνών για την εκτέλεση του ελέγχου 13. Ανάγκες στελέχωσης και εκπαίδευσης προσωπικού 14. Χρονοπρογραµµατισµός ελέγχου 15. Κίνδυνοι και απρόοπτα 16. Εγκρίσεις

Τεχνικές ελέγχου οκιµή µονάδας Η εκτέλεση µιας µονάδας λογισµικού, µε δεδοµένα εισόδου για τα οποία τα αποτελέσµατα είναι γνωστά και η σύγκριση των αποτελεσµάτων που αυτή παράγει, µε τα γνωστά αποτελέσµατα. Περίπτωση ελέγχου Ένα σύνολο από οκιµαστικά δεδοµένα Συνθήκες εκτέλεσης Αναµενόµενα αποτελέσµατα το οποίο αποσκοπεί στην επαλήθευση ή τον έλεγχο προγράµµατος µιας µονάδας λογισµικού

Ροή εργασιών ελέγχου εν είναι δυνατόν να ελεγχθούν όλες οι περιπτώσεις Όταν δεν αποκαλύπτονται σφάλµατα, δεν σηµαίνει ότι δεν υπάρχουν, αλλά ότι ο έλεγχος που έγινε δεν τα αποκάλυψε Οι απαιτήσεις του ελέγχου σε πόρους, ανθρώπους και χρόνο, µπορεί να είναι ιδιαίτερα µεγάλες Σχεδιασµός περιπτώσεων ελέγχου Επιλογή δοκιµαστικών δεδοµένων Εκτέλεση της οντότητας Σύγκριση των αποτελεσµάτων µε τα αναµενόµενα Περιπτώσεις Ελέγχου οκιµαστικά δεδοµένα Αποτελέσµατα Αναφορές ελέγχου

Στρατηγικές ελέγχου λογισµικού Στρατηγική του "µαύρου κουτιού" (black box testing) Ο πηγαίος κώδικας δεν είναι γνωστός. Εντοπίζονται µε κατάλληλο τρόπο, οι περιπτώσεις ελέγχου, εκτελείται ο έλεγχος και συγκρίνονται τα αποτελέσµατα. Στρατηγική του "γυάλινου κουτιού" (glass box testing) Είναι ορατός ο πηγαίος κώδικας και ο έλεγχος αποσκοπεί στην πλήρη κάλυψη, δηλαδή την εκτέλεση όλων των εντολών τουλάχιστον µία φορά. Εκτέλεση ελέγχων οκιµαστικά δεδοµένα Παραγωγή Ελεγχόµενος πηγαίος κώδικας Αποτελέσµατα της εκτέλεσης του ελέγχου

Στρατηγική του µαύρου κουτιού ΠΡΟΣΕΓΓΙΣΗ ΙΣΟ ΥΝΑΜΗΣ ΙΑΜΕΡΙΣΗΣ Κλάση ισοδυνάµων τιµών Ενα σύνολο από δοκιµαστικά δεδοµένα εισόδου ή δεδοµένα εξόδου, τα οποία παράγουν µια ισοδύναµη συµπεριφορά της µονάδας λογισµικού που ελέγχεται. Π.χ: f(x) = sqrt(x). Κ1 = {x, x<0} ιάκριση κλάσεων ισοδυνάµων τιµών Από τις συνθήκες εισόδου Για κάθε συνδυασµό των µεταβλητών εισόδου Ορισµός περιπτώσεων ελέγχου Μέχρι να εξαντληθούν οι κλάσεις ισοδυνάµων τιµών

Στρατηγική του µαύρου κουτιού ΠΡΟΣΕΓΓΙΣΗ ΣΥΝΟΡΙΑΚΩΝ ΤΙΜΩΝ Για κάθε µεταβλητή εισόδου Ορισµός έγκυρων περιπτώσεων ελέγχου για τα άκρα του πεδίου ορισµού Ορισµός άκυρων περιπτώσεων, εκτός των άκρων ιάκριση ορισµών ανάλογα µε το είδος του πεδίου ορισµού Συνεχείς τιµές Σύνολο Πίνακας Λίστα

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

Εκτέλεση του ελέγχου µονάδας Προδιαγραφές µονάδας Λεπτοµερές σχέδιο µονάδας Σχεδιασµός περιπτώσεων ελέγχου Εκτέλεση ελέγχου µονάδας Περιπτώσεις ελέγχου Αποτελέσµατα Εκτίµηση αποτελεσµάτων ΟΧΙ Τέλος περιπτώσεων ελέγχου; ΝΑΙ Τέλος

Εκτέλεση του ελέγχου συνένωσης Μονάδες Συνένωση µονάδων Αρχιτεκτονικό σχέδιο λογισµικού Ενότητα Σχεδιασµός περιπτώσεων ελέγχου Εκτέλεση ελέγχου Περιπτώσεις ελέγχου Εκτίµηση αποτελεσµάτων Αποτελέσµατα ΝΑΙ Υπάρχουν άλλες µονάδες; ΟΧΙ Τέλος

Εκτέλεση του ελέγχου συνένωσης Αυξητική τεχνική Από πάνω προς τα κάτω Από κάτω προς τα πάνω x,y s Α x y s Βήµα Υποσύστηµα που ελέγχεται 1 Α 2 ΑΒ 3 ΑΒΓ Β Γ 4 ΑΒΓ p r,t f,c n m y 5 ΑΒΓ Ε 6 ΑΒΓ ΕΖ Ε Ζ Η Θ Ι 7 ΑΒΓ ΕΖΗ 8 ΑΒΓ ΕΖΗΘ 9 ΑΒΓ ΕΖΗΘΙ

Ελεγχος συστήµατος Ελεγχοι που πραγµατοποιούνται Επιδόσεις Συµπεριφορά σε ακραίες συνθήκες Ογκος δεδοµένων Ασφάλεια πρόσβασης, δεδοµένων, κλπ Αποκατάσταση συστήµατος εν είναι δυνατόν να πραγµατοποιηθεί έλεγχος του λογισµικού χωρίς να είναι διαθέσιµα: Το αρχιτεκτονικό σχέδιο του λογισµικού Οι προδιαγραφές των απαιτήσεων

Αναφορές ελέγχου Αναφορά σφάλµατος 1. Ταυτότητα του εγγράφου 2. Ανακεφαλαίωση του ελέγχου που εκτελέστηκε 3. Περιγραφή του ελέγχου και του σφάλµατος 4. Επιπτώσεις Ηµερολόγιο ελέγχου 1. Ταυτότητα του ηµερολόγιου ελέγχου 2. Περιγραφή 3. Εγγραφές δραστηριοτήτων και γεγονότων 3.1 Περιγραφή εκτέλεσης οντότητας 3.2 Αποτελέσµατα εκτέλεσης οντότητας 3.3 Πληροφορίες περιβάλλοντος 3.4 Γεγονότα ανώµαλης συµπεριφοράς 3.5 Ταυτότητες αναφορών σφαλµάτων

Αναφορές ελέγχου Περιληπτική έκθεση ελέγχου 1. Ταυτότητα της έκθεσης 2. Περίληψη 3. Αποκλίσεις 4. Εκτίµηση περιεκτικότητας 5. Περίληψη αποτελεσµάτων 6. Αξιολόγηση 7. Περίληψη δραστηριοτήτων 8. Εγκρίνοντες

ιόρθωση σφαλµάτων Στο επίπεδο των απαιτήσεων Με οπισθοδρόµηση, τόσο όσο απαιτείται Κόστος σε χρόνο και σε ποιότητα του λογισµικού Στο επίπεδο του πηγαίου κώδικα Ανάλογα το βάθος και την εµβέλεια του σφάλµατος Ενίοτε, η διόρθωση είναι ιδιαίτερα επίπονη Αναδεικνύεται η σηµασία της τεκµηρίωσης του λογισµικού Προδιαγραφές των απαιτήσεων Τεκµηρίωση κώδικα Υιοθέτηση κανόνων συγγραφής κώδικα

Εργαλεία ελέγχου Γεννήτριες δοκιµαστικών δεδοµένων Εργαλεία σύγκρισης αρχείων Εργαλεία δυναµικής ανάλυσης Αυτόµατοι εκτελεστές ελέγχου Πρόκληση εξοντωτικού αριθµού περιπτώσεων ελέγχου Παραγωγή µεγάλου όγκου δεδοµένων εισόδου Ελεγχος καταπόνησης Προσοµοίωση πραγµατικών συνθηκών λειτουργίας Ολοκληρωµένα περιβάλλοντα ανάπτυξης Όλα αυτά λειτουργούν και είναι χρήσιµα υπό προϋποθέσεις

Παράδειγµα ελέγχου Επίλυση του τριωνύµου a * x 2 + b * x + c = 0 στο R

Παράδειγµα ελέγχου Μεταβλητές εισόδου a R, a <> 0 b R c R ιαστήµατα ενδιαφέροντος discr = b 2-4 * a * c discr > 0 discr = 0 discr < 0

Παράδειγµα ελέγχου Περιπτώσεις ελέγχου a b c Συνθήκες 0-5 5 a == 0 1 0-25 a <> 0, discr > 0 1 4 4 a <> 0, discr = 0 1 0 2 a <> 0, discr = 0

Παράδειγµα ελέγχου a b c ΚΑΛΥΨΗ 0-5 5 1 0-25 1 4 4 1 0 2

ιοίκηση Σχηµατισµών Λογισµικού Μερικά χαρακτηριστικά πραγµατικών συνθηκών ανάπτυξης λογισµικού Οµαδική εργασία Συστατικά λογισµικού κοινά σε πολλά συστήµατα ιαφορετικές εκδόσεις συστατικών και συστηµάτων Συνήθως, δεν αποδεσµεύεται προς τον πελάτη (ή την αγορά) το σύνολο των παραγοµένων συστατικών λογισµικού για µια εφαρµογή. Σχηµατισµός λογισµικού (software configuration) Ενα σύνολο από συστατικά στοιχεία λογισµικού τα οποία κατασκευάζονται στις διάφορες φάσεις της ανάπτυξης και συγκροτούν µια εφαρµογή Για κάθε εφαρµογή είναι συνήθως δυνατοί πολλοί σχηµατισµοί