HEAL DSpace

Αυτόματη παραγωγή σεναρίων ελέγχου για προγραμματιστικές διεπαφές τύπου REST (RESTful APIs)

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Σταθόπουλος, Παύλος el
dc.contributor.author Stathopoulos, Pavlos en
dc.date.accessioned 2021-02-18T07:34:42Z
dc.date.available 2021-02-18T07:34:42Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/52897
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.20595
dc.rights Default License
dc.subject Μοντέλο RESTful API el
dc.subject Έλεγχος λογισμικού el
dc.subject Δηλωτική γλώσσα el
dc.subject Κατασκευή λογισμικού el
dc.subject Γεννήτρια κώδικα el
dc.subject RESTful API model en
dc.subject Software testing en
dc.subject Declarative language en
dc.subject Software builder en
dc.subject Code generator en
dc.title Αυτόματη παραγωγή σεναρίων ελέγχου για προγραμματιστικές διεπαφές τύπου REST (RESTful APIs) el
dc.title Automated test case generation for RESTful APIs en
dc.contributor.department Τεχνολογίας Πληροφορικής & Υπολογιστών el
heal.type bachelorThesis
heal.classification Τεχνολογία λογισμικού el
heal.classification Software engineering en
heal.language el
heal.access campus
heal.recordProvider ntua el
heal.publicationDate 2021-02-08
heal.abstract Η παρούσα εργασία έχει σκοπό τον σχεδιασμό και την υλοποίηση ενός μηχανισμού αυτόματης παραγωγής σεναρίων ελέγχου για προγραμματιστικές διεπαφές τύπου REST (RESTful APIs), με βέλτιστο για τον προγραμματιστή τρόπο. Οι προγραμματιστικές διεπαφές τύπου REST είναι o κατ’ εξοχήν μηχανισμός επικοινωνίας εφαρμογών στον Παγκόσμιο Ιστό. Το μεγαλύτερο μέρος των διαδικτυακών υπηρεσιών σήμερα παρέχονται με τη βοήθεια προγραμματιστικών διεπαφών τύπου REST, οι οποίες αναλαμβάνουν την μεταφορά πληροφοριών μεταξύ συστημάτων. Οι τεχνολογικές εξελίξεις σε τομείς όπως η μηχανική μάθηση και το Διαδίκτυο των Πραγμάτων (IoT) εδραιώνουν περαιτέρω τον ρόλο των προγραμματιστικών διεπαφών στο σύγχρονο ψηφιακό οικοσύστημα. Παράλληλα απαραίτητος θεωρείται ο συστηματικός έλεγχος των προγραμματιστικών διεπαφών, καθώς η πολυπλοκότητα του σχεδιασμού τους εγκυμονεί κινδύνους σφαλμάτων. Ο αποτελεσματικός έλεγχός τους είναι ένας τομέας που ήδη απασχολεί την προγραμματιστική κοινότητα τόσο σε ερευνητικό όσο και σε επιχειρησιακό επίπεδο, ενώ όσο αυξάνεται η δημοτικότητά τους, τόσο πιο απαραίτητος θα γίνεται. Στο πλαίσιο της εργασίας σχεδιάστηκε αρχικά μία δηλωτική γλώσσα ορισμού μοντέλων RESTful API. Με αυτήν μπορεί κανείς να περιγράψει μία προγραμματιστική διεπαφή τύπου REST ως προς τα χαρακτηριστικά της, όπως είναι τα τελικά σημεία (endpoints) και οι μέθοδοι (methods) που υποστηρίζονται. Από το μοντέλο της διεπαφής που παράγεται, δημιουργείται πλήρως αυτόματα ένα σύνολο από σενάρια ελέγχου για το RESTful API. Αυτά ελέγχουν την ορθότητά του μέσα από την αλληλεπίδρασή τους με αυτό. Ακόμα, για την βέλτιστη προγραμματιστική εμπειρία, η διαδικασία παραγωγής των σεναρίων ελέγχου υλοποιήθηκε έτσι ώστε να υποστηρίζεται η ενσωμάτωσή της σε εργαλείο κατασκευής λογισμικού. Για την επαλήθευση της ορθής λειτουργίας των μηχανισμών που αναπτύχθηκαν στο πλαίσιο της παρούσας εργασίας παρατίθενται οι εφαρμογές τους σε δύο RESTful API του διαδικτύου, ένα παρατηρητήριο τιμών και ένα ψηφιακό μητρώο δικτυακών υποδομών. Μέσα από αυτές αποδεικνύεται η προσφορά της βέλτιστης εμπειρίας προγραμματισμού κατά τον δηλωτικό ορισμό ενός RESTful API και τελικά της πλήρως αυτόματης παραγωγής σεναρίων ελέγχου που επιβεβαιώνουν την ορθή λειτουργία του. el
heal.abstract The purpose of this thesis is the design and implementation of a mechanism for automated RESTful API test case generation, in the best possible programming experience. RESTful APIs are the de facto communication mechanism for applications used in World Wide Web. Most of web services today are provided using RESTful APIs, which help transfer information between computer systems. Technological advances in fields such as machine learning and the Internet of Things (IoT) strengthen the role of RESTful APIs in today's digital ecosystem. At the same time, the systematic testing of RESTful APIs is considered necessary as their design complexity carries risk of errors. Software testing is currently a field of much interest for the programming community both in research and in business level and with the rise in their popularity, it becomes even more needed. For the purpose of this thesis, a declarative language for RESTful API models was initially designed. Using it, a RESTful API can be described by its features, like the supported endpoints and methods. Using the created model, a set of test cases for the RESTful API is automatically generated. These test the RESTful API's functionality by interacting with it. Also, for the best programming experience, the mechanism for the automated RESTful API test case generation was designed in a way that it is offered for integration in build automation tools. In order to evaluate the tools developed within the thesis, their application on two RESTful Web APIs is listed, a price observatory and a digital networking infrastructure register. Through the above, the best programming experience is proved to be offered for the declarative specification of a RESTful API and finally the fully automated generation of test cases which validate its proper functioning. en
heal.advisorName Παπασπύρου, Νικόλαος el
heal.advisorName Σαΐδης, Κώστας el
heal.committeeMemberName Παπασπύρου, Νικόλαος el
heal.committeeMemberName Γκούμας, Γεώργιος el
heal.committeeMemberName Βεσκούκης, Βασίλειος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 65 σ. el
heal.fullTextAvailability false


Αρχεία σε αυτό το τεκμήριο

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής