Download - Dimitris Niras

Transcript
Page 1: Dimitris Niras

ΔΗΜΙΟΥΡΓΙΑ ΕΝOΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΕΓΓΡΑΦΕΑ (WEB

RECORDER) ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ ΕΛΕΓΧΩΝ ΣΕ

ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

Διπλωματικός Φοιτητής:

Νήρας Δημήτριος

ΑΕΜ: 8057

Επιβλέποντες:

Επίκουρος Καθηγητής, Ανδρέας Λ. Συμεωνίδης

Μεταδιδακτορικός Ερευνητής, Κυριάκος Χατζηδημητρίου

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

ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών

Θεσσαλονίκη, Οκτώβριος 2017

Page 2: Dimitris Niras

Κίνητρο

• Μεγάλος αριθμός ιστοσελίδων και διαδικτυακών εφαρμογών

• Ανάπτυξη test ελέγχου (user acceptance/e2e tests)

• Εύρεση των στοιχείων που πρέπει να ελεγχθούν

• Ανάθεση τιμών σε αυτά

• Έλεγχος της εύρυθμης λειτουργίας τους

Αποτέλεσμα: Επίπονη και χρονοβόρα διαδικασία (~25% χρόνου)

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

2

Web Recorder

Page 3: Dimitris Niras

Σκοπός της Διπλωματικής Εργασίας

• Αυτοματοποίηση της διαδικασίας δημιουργίας και ελέγχου των test

• Δημιουργία Chrome extension για την καταγραφή των κινήσεων (Clicks, Inputs, HTML, CSS, JS, API calls, περιεχόμενο κτλ.)

• Δημιουργία διαδικτυακής εφαρμογής (προγραμματισμός και επεξεργασία των test, εμφάνιση αποτελεσμάτων κ.ά.)

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

3

Web Recorder

Web Recorder

Automated Website Testing and Monitoring

Page 4: Dimitris Niras

Υπάρχοντα Εργαλεία

• Ghost Inspector

• Sauce Labs

• Selenium

• Sahi

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

4

Web Recorder

Page 5: Dimitris Niras

Web Recorder

• Επέκταση στον Chrome (Chrome Extension)

• Διαδικτυακή εφαρμογή

▫ Παρασκήνιο (Back-end)

▫ Προσκήνιο (Front-end)

▫ Βάση Δεδομένων (Database)

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

5

Web Recorder

• Καταγραφή Test (Tests Recording)

• Έλεγχος Ιστοσελίδων (Website Testing)

• Έλεγχος Διεπαφών (UI Testing)

• Συνεχής Παρακολούθηση (Continuous Monitoring)

• Δημιουργία και Διαχείριση test (Build and Manage tests)

Page 6: Dimitris Niras

Web Recorder – Συνολική Δομή

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

6

Web Recorder

Page 7: Dimitris Niras

Δυνατότητες Επέκτασης

• Διαχείριση χρηστών (σύνδεση – log in, αποσύνδεση – log out)

• Καταγραφή κινήσεων χρήστη (Recording Operations)

• Καταγραφή βημάτων ελέγχου ορθής λειτουργίας (Recording Assertions)

• Αποθήκευση και αποστολή των test

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

7

Web Recorder

Page 8: Dimitris Niras

Δυνατότητες Διαδικτυακής Εφαρμογής - 1

• Διαχείριση χρηστών (εγγραφή, σύνδεση, αποσύνδεση, αλλαγή στοιχείων, διαγραφή λογαριασμού)

• Εμφάνιση των διαθέσιμων σουιτών και των καταγεγραμμένων test

• Εκτέλεση ενός test (1 ή και περισσότερες φορές) και ολόκληρης σουίτας

• Επεξεργασία των βημάτων (steps) ενός test (λειτουργία, προσδιοριστικό, περιγραφή, προσθήκη, διαγραφή, αναδιάταξη)

• Αναζήτηση βημάτων κατά την επεξεργασία τους

• Προσθήκη ενός test προς εκτέλεση πριν ή μετά την εκτέλεση ενός συγκεκριμένου test

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

8

Web Recorder

Page 9: Dimitris Niras

Δυνατότητες Διαδικτυακής Εφαρμογής - 2

• Προβολή ιστορικού εκτελέσεων σε επίπεδο σουίτας και σε επίπεδο test

• Αυτόματη εκτέλεση σουίτας σε καθημερινή βάση

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

• Επεξεργασία στοιχείων test (όνομα, σουίτα, αριθμός εκτελέσεων, διαγραφή)

• Εμφάνιση στατιστικών εκτελέσεων

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

9

Web Recorder

Page 10: Dimitris Niras

Τεχνολογίες

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

12

Web Recorder

Page 11: Dimitris Niras

Live DEMO

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

13

Web Recorder

Page 12: Dimitris Niras

Αποτελέσματα & Συμπεράσματα

• Εφαρμογή στις ενεργές ιστοσελίδες ‘‘https://cassandra.iti.gr’’, ‘‘https://issel.ee.auth.gr’’, ‘‘https://e-shop.gr’’, ‘‘http://ee.auth.gr’’ κ.ά.

• Δημιουργία 25 test διαφορετικού μεγέθους (5 έως και 35 βήματα) και λειτουργικότητας

• Παρακολούθηση για 2 εβδομάδες

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

15

Web Recorder

Page 13: Dimitris Niras

Μελλοντική Εργασία

• Λήψη (Download) ενός test

• Προσθήκη περισσότερων επιλογών προγραμματισμού των test

• Προσθήκη βίντεο εκτέλεσης ενός test

• Προσθήκη περιγραφής κατά τη δημιουργία καινούριας σουίτας

• Διαφοροποίηση προγραμματισμένης εκτέλεσης (schedule) test και σουιτών

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

17

Web Recorder

Page 14: Dimitris Niras

Προβολή και αποθετήρια

• Προβολή της εφαρμογής στην ηλεκτρονική διεύθυνση ‘‘http://snf-766614.vm.okeanos.grnet.gr’’

• Αποθετήριο (repository) επέκτασης Chrome στο GitHub στη διεύθυνση ‘‘https://github.com/AuthEceSoftEng/web-recorder-chrome-plugin’’

• Αποθετήριο (repository) διαδικτυακής εφαρμογής (προσκήνιο -frontend και παρασκήνιο - backend) στη διεύθυνση‘‘https://github.com/AuthEceSoftEng/web-recorder-server’’

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

18

Web Recorder

Page 15: Dimitris Niras

Ευχαριστίες

Ευχαριστώ τους επιβλέποντες της Διπλωματικής μου Εργασίας κ. Ανδρέα Συμεωνίδη και Κυριάκο Χατζηδημητρίου

… και φυσικά εσάς για την προσοχή σας!

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

19

Web Recorder

Page 16: Dimitris Niras

Ερωτήσεις

Οκτώβριος 2017 ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ WEB RECORDER ΓΙΑ ΤΗΝ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΤΩΝ TEST ΣΕ ΔΙΑΔΙΚΤΥΑΚΕΣ ΕΦΑΡΜΟΓΕΣ

20

Web Recorder