12 Έλεχος και επαλήθευση λογισμικού

Σχετικά έγγραφα
10α Έλεγχος και επαλήθευση λογισμικού

17 Έλεγχος και επαλήθευση λογισμικού

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

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

οκιμασία και πλάνο δοκιμασίας

05 Ανάλυση απαιτήσεων

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

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

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

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

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

02α Διαχείριση Έργων Λογισμικού

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

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

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

05 Ανάλυση Απαιτήσεων

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 4 : Τεχνολογία λογισμικού. Δρ.

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

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

Πριν ξεκινήσουμε: Γά Γιάννης Σμαραγδάκης

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

Οι περιπτώσεις χρήσης

Λογισμικό - Προγράμματα

03 Τεχνική διαχείριση έργων λογισμικού

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

Αρχές Προγραμματισμού Υπολογιστών

Ποιότητα Λογισμικού και Πιστοποίηση

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

ιαδικασίες Τεχνολογίας Λογισμικού Γιάννης Σμαραγδάκης

Εισαγωγή στον έλεγχο ορθής λειτουργίας ψηφιακών συστημάτων. Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν.

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

ΤΕΧΝΟΛΟΓΙΑ, ΚΑΙΝΟΤΟΜΙΑ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ 9 Ο εξάμηνο Χημικών Μηχανικών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

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

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

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

Τεχνικές εξασφάλισης ποιότητας σε συστήματα ειδικού σκοπού (Bluetooth Low Energy) - Αυτοματοποίηση ελέγχου ποιότητας λογισμικού

ΕΡΓΑΣΙΑ: Ετήσιας Συντήρησης και Υποστήριξης Λειτουργίας Δημοτικής Διαδικτυακής Πύλης

Βασίλειος Κοντογιάννης ΠΕ19

σφαλμάτων Δημήτρης Νικολός, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών και Πληροφορικής, Παν. Πατρών

Εισαγωγή στην Τεχνολογία Λογισμικού. Ματίνα Μπίμπη Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων, Πανεπιστήμιο Θεσσαλίας

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Company LOGO. Nazaret Kazarian. 1

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

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

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων

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

Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων ιαχείριση ικτύων ρ.αρίστη Γαλάνη Ακαδημαϊκό Έτος

Ατομική Διπλωματική Εργασία ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΕΛΕΓΧΟΥ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗΝ ΧΡΗΣΗ ΓΡΑΦΟΥ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΓΕΝΕΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ ΚΡΟΚΟΥ ΑΝΤΡΙΑ

Ανάλυση ευαισθησίας Ανάλυση ρίσκου

Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20

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

Συγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης

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

Π3.11 Εκπαιδευτικό Υλικό. (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις)

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

Α/Α Ενότητα Τεύχους ιακήρυξης 1 ΓΕΝΙΚΑ ιευκρινίζεται ότι

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 1: Εισαγωγικό Μάθημα

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

«Νέες εκδόσεις προτύπων διαχείρισης ποιότητας και περιβάλλοντος»,

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

CAD / CAM. Ενότητα #10: Βιομηχανικά Συστήματα Ελέγχου. Δημήτριος Τσελές Τμήμα Μηχανικών Αυτοματισμού T.E.

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

09 Διοίκηση έργων λογισμικού

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Ακαδημαϊκό έτος B εξάμηνο (εαρινό)

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

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Παιχνιδοποίηση στην εκπαίδευση Οφέλη & περιορισμοί

Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας

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

The Customization Process for Organizational Package Information Systems: A Challenge for Participatory Design

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

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

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

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Θέματα ποιότητας (1/5)

Πληροφορική. Ενότητα 1 η : Εισαγωγή. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Ελληνικό Ανοικτό Πανεπιστήμιο

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ενότητα 1 η : Ανάπτυξη Λογισμικού & Προγραμματισμός

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

Ασφάλεια Πληροφοριακών Συστημάτων

ΠΕΡΙΕΧΟΜΕΝΑ 1. ΕΠΙΤΕΛΙΚΗ ΣΥΝΟΨΗ 2. ΕΙΣΑΓΩΓΗ ΣΚΟΠΟΣ ΤΟΥ ΠΑΡΟΝΤΟΣ 3. ΑΝΑΛΥΣΗ ΥΠΑΡΧΟΥΣΑΣ ΚΑΤΑΣΤΑΣΗΣ 3.1 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ ΚΑΙ ΠΑΡΕΧΟΜΕΝΕΣ ΥΠΗΡΕΣΙΕΣ

Μεταπτυχιακή Εργασία Διαχείριση Επιχειρησιακών Διαδικασιών με τη χρήση Τεχνολογίας BPMN

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

IBM Runbook Automation

Εισαγωγή στην Ανάπτυξη Πληροφοριακών Συστημάτων

Διάλεξη 17: Έλεγχος Λογισμικού

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

1.2 Jason BDI Αρχιτεκτονική

Πλαίσιο Εργασιών. Στρατηγικές Ευκαιρίες

Transcript:

12 Έλεχος και επαλήθευση λογισμικού Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr

Πώς εξασφαλίζουμε ότι το λογισμικό είναι σύμφωνο με τις απαιτήσεις και προσδοκίες των χρηστών; 2

Πώς διαφυλάσσουμε την ποιότητα του λογισμικού; Σε πολλούς άξονες: Χρηστικότητα / ευχρηστία Επεκτασιμότητα / βιωσιμότητα Αποδοτικότητα / αποκρισιμότητα κ.λπ. 3

Έλεγχος ποιότητας λογισμικού Επιθεωρήσεις Reviews Δοκιμασίες Testing 4

Επαλήθευση και επιβεβαίωση Επαλήθευση Παράγουμε το λογισμικό σωστά; Επιβεβαίωση Παράγουμε το σωστό λογισμικό; 5

Ελαττώματα defects, bugs There are two ways to write error free programs; only the third one works. Alan J. Perlis 6

Ελαττώματα defects, bugs Σοβαρότητα severity Critical Major Minor Trivial 7

Κύκλος ζωής δοκιμασιών test life cycle Επισκόπηση απαιτήσεων Σχεδιασμός δοκιμασιών Καθορισμός περιβάλλοντος δοκιμασιών Εκτέλεση δοκιμασιών Παραγωγή αναφορών 8

Πλάνο δοκιμασιών Test plan Έγγραφο, επιμέρους ή συνολικό π.χ. master test plan Τι θα ελεγχθεί και πώς προσέγγιση Παραδοτέα Εκτιμήσεις χρόνου/κόστους Προγραμματισμός, προσωπικό, εκπαίδευση, έλεχγοι/ αποδοχή, κτλ. 9

Σενάριο δοκιμής Test case Συνθήκες ή μεταβλητές που καθορίζουν την ορθή συμπεριφορά του χαρακτηριστικού που υπόκειται σε έλεγχο Συνήθως γράφεται απευθείας σε κάποιο εργαλείο 10

Test scripts Αυτοματοποιημένοι έλεγχοι Continuous integration CI 11

Βασικά επίπεδα δοκιμασιών Από το μικρό στο μεγάλο: Μοναδιαία δοκιμασία unit test Δοκιμασία ολοκλήρωσης integration test Δοκιμασία συστήματος system test Δοκιμασία αποδοχής acceptance test 12

Μέθοδοι εκτέλεσης δοκιμασιών Black box testing behavioral testing White box testing structural testing Gray box testing συνδυασμός 13

Unit testing Έλεγχος μοναδιαίων ενοτήτων του λογισμικού Το ελάχιστο στοιχείο του λογισμικού που μπορεί να ελεγχθεί π.χ. μέθοδος White box testing Δειγματοληψία των πιθανών εισόδων και δοκιμή τους αν παράγουν αστοχία σφάλμα, λανθασμένη έξοδο 14

Integration testing Έλεγχος "συνδυασμού" πολλών ενοτήτων Διαλειτουργικότητα μεταξύ ενοτήτων όχι αναγκαστικά μοναδιαίων Είτε white, είτε black, είτε gray box testing 15

16

System testing Έλεγχος του συστήματος συνολικά Ως ολότητα σε σχέση με το λειτουργικό του περιβάλλον Δικτύωση, υπηρεσίες, υλικό 17

Acceptance testing Έλεγχος αποδοχής του λογισμικού Customer / user acceptance testing Black box testing Ad hoc testing 18

Τύποι δοκιμασιών ανεξάρτητα επιπέδου Smoke testing Functional testing Usability testing Security testing Performance testing Regression testing Βebugging Mutation testing κ.ά 19

Smoke testing Επίπεδα: Integration, System, Acceptance Μήπως πήρε φωτιά; Δουλεύει τίποτα ή έχουν αποτύχει όλα; Κάλυψη όλων των βασικών λειτουργιών οριζόντια, αλλά όχι σε βάθος κάθετα Να προχωρήσουμε σε επιμέρους δοκιμασίες ή το σύστημα θέλει δουλειά ακόμα; 20

Functional testing Επίπεδα: Unit, System, Acceptance Επαλήθευση συμβατότητας με προδιαγραφές και απαιτήσεις Καλό είναι να εκτελούνται από τους "χρήστες" Domain driven design, behavior driven development Automated tests/specifications 21

Usability testing Επίπεδα: System, Acceptance Ad hoc testing 22

Security testing Μια κατηγορία από μόνο του Για διαδικτυακές εφαρμογές: owasp.org 23

Performance testing Μια κατηγορία από μόνο του Load testing Stress testing Endurance testing Spike testing 24

Regression testing Οπισθοδρόμηση Έλεγχος ότι μια νέα έκδοση του λογισμικού new feature, bug fix, κτλ. δεν προκαλεί πρόβλημα στην υπάρχουσα λειτουργικότητα 25

Επίσης Bebugging Εκ προθέσεως εισαγωγή σφαλμάτων στον κώδικα με στόχο να ανακαλυφθούν από τις δοκιμασίες Mutation testing Mutation του κώδικα π.χ. αλλαγή εκφράσεων σε συντακτικό επίπεδο με αντίστοιχη λογική 26

Εργαλεία στο JVM JUnit TestNG Mockito Selenium Jenkins Spock Geb 27

28