Δοκιμή Συναρτήσεων ως Υπηρεσία
Function-as-a-Service Testing
dc.contributor.advisor | Κυριάκος, Κρητικός | el_GR |
dc.contributor.author | Τόμτσης, Θωμάς | el_GR |
dc.contributor.author | Tomtsis, Thomas | en_US |
dc.coverage.spatial | Σάμος | el_GR |
dc.date.accessioned | 2024-07-09T09:42:32Z | |
dc.date.available | 2024-07-09T09:42:32Z | |
dc.date.issued | 2024-03-08 | |
dc.identifier.uri | http://hdl.handle.net/11610/26562 | |
dc.description | Η συμπληρωματική εφαρμογή που αναπτύχθηκε διατίθεται στο GitHub στον σύνδεσμο: https://github.com/ttomtsis/icarus | el_GR |
dc.description.abstract | Η δοκιμή serverless συναρτήσεων (functions) διαφέρει σημαντικά από εκείνη των συμβατικών προϊόντων λογισμικού. Η λειτουργία των συναρτήσεων καθώς και η κατανεμημένη τους φύση, καθιστούν την ανάπτυξη δοκιμών πολύπλοκη. Επιπρόσθετα, η κατασκευή των συναρτήσεων αλλά και των δοκιμών τους, εξαρτάται πολλές φορές από την χρήση εργαλείων και πακέτων ανάπτυξης λογισμικού “:”:(Software Development Kits - SDKs) που βρίσκονται υπό την διαχείριση των παρόχων νέφους, με αποτέλεσμα τον ελάχιστο έλεγχο στο περιβάλλον εκτέλεσης των δοκιμών και την έλλειψη εργαλείων αποσφαλμάτωσης[1]. Στόχος της ανάπτυξης της RESTful υπηρεσίας Ίκαρος ήταν η δημιουργία ενός εργαλείου ανοιχτού κώδικα, του οποίου η λειτουργία θα ήταν διαφανής, προβλέψιμη και θα έδινε πλήρη έλεγχο στον χρήστη για την δημιουργία των δοκιμών και την εκτέλεση τους. Ταυτόχρονα, δεν θα επιβάρυνε τον χρήστη με τις λεπτομέρειες της διάταξης μιας συνάρτησης σε διαφορετικούς παρόχους ενώ για την σύνθεση των δοκιμών θα βασιζόταν αποκλειστικά στην χρήση γνωστών και οικείων εργαλείων. Πράγματι, η υπηρεσία Ίκαρος είναι ικανή να εκτελεί αυτοματοποιημένα λειτουργικές και μη-λειτουργικές δοκιμές για serverless συναρτήσεις στις πλατφόρμες AWS Lambda και Google Cloud Functions, ενσωματώνοντας τα πολύ γνωστά εργαλεία Rest Assured και JMeter, να διατάσει τις συναρτήσεις χρησιμοποιώντας το εργαλείο Terraform και να παράγει αναφορές που περιέχουν τα ευρήματα των δοκιμών αξιοποιώντας το εργαλείο BiRT. Η υπηρεσία αυτή αναπτύχθηκε για ένα μεγάλο εύρος χρηστών που κυμαίνεται από τις επιχειρήσεις μέχρι και την ακαδημαϊκή/ερευνητική κοινότητα. Επίσης, διενεργεί με αυτοματοποιημένο τρόπο τις δοκιμές με βάση τις πραγματικές ανάγκες και προτιμήσεις του χρήστη. Τέλος, δεν απαιτεί ειδικές γνώσεις πάνω στο νέφος από τον χρήστη αλλά χρειάζεται να διαμορφωθεί με τα στοιχεία των λογαριασμών του χρήστη στους δύο παρόχους νέφους που υποστηρίζονται. Λέξεις Κλειδιά: serverless, AWS Lambda, Google Cloud Functions, λειτουργική δοκιμή, δοκιμή απόδοσης, Terraform, REST Assured, JMeter, λογισμικό ανοικτού κώδικα | el_GR |
dc.description.abstract | Testing serverless functions differs significantly from that of conventional software products. The way serverless functions operate as well as their distributed nature make test development inherently complex. In addition, the development of functions and their tests often relies on the usage of tools and software development kits (SDKs) managed by cloud providers, resulting in minimal control over the test execution environment and a lack of debugging tools[1]. The goal of developing the Icarus RESTful service was to create an open-source tool whose operation would be transparent, predictable and give the user full control over the creation of tests and their execution. At the same time, it would not burden the user with details of a function’s layout across different providers and would rely solely on the use of familiar and well-known tools to compose tests. Indeed, the Icarus service is capable of performing automated functional and non-functional tests for serverless functions on the AWS Lambda and Google Cloud Functions platforms, integrating the well-known Rest Assured and JMeter tools, deploying functions using the Terraform tool, and generating reports containing the test findings by leveraging the BiRT tool. This service was developed for a wide range of users including businesses and the academic/research community. It also performs automated testing based on the actual needs and preferences of the user. Finally, it does not require any specific knowledge about the cloud from the user and only needs to be configured with the user's account details at the two supported cloud providers. Keywords: serverless, AWS Lambda, Google Cloud Functions, functional testing, performance testing, Terraform, REST Assured, JMeter, open source software | en_US |
dc.format.extent | 84 σ. | el_GR |
dc.language.iso | el_GR | el_GR |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση 4.0 Διεθνές | |
dc.rights.uri | http://creativecommons.org/licenses/by-nc/4.0/ | |
dc.subject | serverless | en_US |
dc.subject | λειτουργική δοκιμή | el_GR |
dc.subject | δοκιμή απόδοσης | el_GR |
dc.subject | λογισμικό ανοικτού κώδικα | el_GR |
dc.subject | functional testing | en_US |
dc.subject | performance testing | en_US |
dc.subject | open source software | en_US |
dc.subject | aws lambda | en_US |
dc.subject | google cloud functions | en_US |
dc.subject | terraform | en_US |
dc.subject | jmeter | en_US |
dc.subject | rest assured | en_US |
dc.subject.lcsh | Cloud computing | en_US |
dc.subject.lcsh | Open source software | en_US |
dc.subject.lcsh | Computer software -- Testing | en_US |
dc.title | Δοκιμή Συναρτήσεων ως Υπηρεσία | el_GR |
dc.title | Function-as-a-Service Testing | en_US |
dcterms.accessRights | free | el_GR |
dcterms.rights | Πλήρες Κείμενο - Ελεύθερη Δημοσίευση | el_GR |
heal.type | bachelorThesis | el_GR |
heal.recordProvider | aegean | el_GR |
heal.committeeMemberName | Χρήστος, Γκουμόπουλος | el_GR |
heal.committeeMemberName | Σπύρος, Κοκολάκης | el_GR |
heal.academicPublisher | Πανεπιστήμιο Αιγαίου - Πολυτεχνική Σχολή - Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων | el_GR |
heal.academicPublisherID | aegean | el_GR |
heal.fullTextAvailability | true | el_GR |