Ανάπτυξη εφαρμογής δοκιμών αυτοματισμού, που προσαρμόζεται σε ηλεκτρονικό κατάστημα, με απώτερο σκοπό τη βελτιστοποίηση της ποιότητας του λογισμικού.
Development of a test automation, which adapts to online store, aiming to optimize the quality of the software.
Abstract
Μια σημαντική πτυχή της ανάπτυξης λογισμικού για οποιαδήποτε σελίδα ηλεκτρονικού εμπορίου, είναι οι δοκιμές διαδικτύου και η πιστοποίηση της ποιότητας από την ομάδα Δοκιμών. Λόγω του μεγάλου όγκου λειτουργιών, πεδίων και συστημάτων, σε συνδυασμό με τις διαδοχικές τροποποιήσεις λόγο των απαιτούμενων βελτιώσεων; είναι σπάνια η ύπαρξη ηλεκτρονικών καταστημάτων μεγάλου μεγέθους τα οποία ακολουθούν διαδικασίες παραγωγής λογισμικού (SDLC) όπως η Agile, και ταυτόχρονα να διατηρούν τις σελίδες καθαρή από λάθη και ατέλειες. Κατά συνέπεια, ο κύριος στόχος της πτυχιακής μου είναι η ανάπτυξη μιας εφαρμογής η οποία θα δέχεται πληροφορίες από το χρήστη και στη συνέχεια, θα εκτελέσει σενάρια δοκιμών. Η εφαρμογή αυτή θα είναι ουσιαστικά ένα εργαλείο το οποίο θα κάνει αυτοέλεγχο, χωρίς να έχει την ανάγκη της περεταίρω ανθρώπινης παρέμβασης (Automated Testing), στο ηλεκτρονικό κατάστημα ρούχων της Bestseller. Αυτό το Web Shop δραστηριοποιείται σε 14 διαφορετικές χώρες, έχοντας 12 διαφορετικές μάρκες, ενώ υποστηρίζει αρκετές διαφορετικές μεθόδους πληρωμής και κάποιες άλλες βασικές λειτουργίες για την ύπαρξη του. Ο απώτερος στόχος είναι η δοκιμή από άκρη σε άκρη (end to end), δηλαδή από τη στιγμή που οι χρήστες εισέρχονται στο ηλεκτρονικό κατάστημα μέχρι την ολοκλήρωση της περιήγησης και τελικά την παραγγελία. Σε τελική ανάλυση, το εργαλείο αυτοματισμού θα πρέπει να διατηρεί και να βελτιστοποιεί την ποιότητα του λογισμικού, επαληθεύοντας ορισμένες βασικές λειτουργίες. Εν τω μεταξύ, ο χρόνος του δοκιμαστή που έχει εξοικονομηθεί από τον αυτοματισμό, μπορεί να διατεθεί σε ορισμένες άλλες κρίσιμες λειτουργίες και τα συστήματα. Έμμεσα, θα μειωθούν οι απαιτούμενοι πόροι της δοκιμής. Το εργαλείο αυτοματισμού αναπτύχθηκε μέσω του Visual Studio σε C # γλώσσα με την υποστήριξητου εργαλείου αυτοματισμού Selenium. Κατά τη διάρκεια της ανάπτυξης, διαπιστώθηκε ότι για να είναι το εργαλείο αυτοματισμού αποτελεσματικό και αποδοτικό, ορισμένες βασικές απαιτήσεις θα πρέπει να ακολουθηθούν, όπως η επεκτασιμότητα, η δυναμικότητα και η φιλικότητα του UI προς τον χρήστη. Παράλληλα με την ανάπτυξη της εφαρμογής, η πτυχιακή αυτή περιλαμβάνει μια θεωρητική παρουσίαση ορισμένων μεθόδων, διαδικασιών και λειτουργιών. Oπως για παράδειγμα οι διαδικασίες παραγωγής λογισμικού σε σχέση με τις διαδικασίες δοκιμών του λογισμικού, δεδομένου ότι αυτές οι δύο δουλεύουν παράλληλα. Επιπλέον, ένα ακόμη θεωρητικό στοιχείο που αναλύεται στην εργασία αυτή, είναι τα οφέλη που προκύπτουν από τις δοκιμές αυτοματισμού κατά τη διαδικασία ανάπτυξης του λογισμικού. Κάθε μία από αυτές τις θέσεις είναι σημαντικές για τη συμβολή στην κατανόηση του εργαλείου αυτοματισμού. Για να συνοψίσουμε, το εργαλείο αυτοματισμού έχει ολοκληρωθεί ενώ βρίσκεται ήδη σε χρήση από την ομάδα διασφάλισης ποιότητας της Bestseller. Όλες οι απαιτήσεις που θα έπρεπε να ακολουθηθούν έχουν εφαρμοστεί και λειτουργούν όπως ήταν αναμενόμενο. Αυτή τη στιγμή, το εργαλείο είναι υπό ανάπτυξη, προκειμένου να εφαρμοστούν κάποιες βελτιώσεις. Σε τελική ανάλυση, το εργαλείο αυτό έχει πολλές δυνατότητες, παρόλαυτά υπάρχει χώρος για βελτιώσεις. Ένας επιπλέον ρεαλιστικός σκοπός για τον οποίο θα μπορούσε να χρησιμοποιηθεί, είναι η παρακολούθηση (monitoring), προκειμένου να ελέγξει ότι το κατάστημα είναι online οποιαδήποτε χρονική στιγμή. A significant aspect of the E-commerce software development is Quality that includes testing various applications, verification to ensure stable applications with minimal defects. It is not easy for big Ecommerce sites to maintain defect free systems which involves various functionalities, markets, integration to external systems, combined with functionality updates as part of Agile model. Consequently, the main objective of this thesis was to develop a tool that would help reduce manual effort to create redundant tasks and to perform better functional tests on Bestseller web shop, available across 14 different countries, 12 brands, supports various payment methods. This tool performs, end to end test, i.e. searching specific products, adding to basket, delivery, shipping and checkout. Ultimately, the automation tool maintains and optimizes the quality of the software, by verifying these essential functionalities. Meanwhile reducing test effort, disposes to some other crucial functions and systems, and hence increasing return on investment. The Automation Tool was developed in Visual Studio using C# with Selenium. During the development, it was found that in order for the automation tool to be effective and efficient, some essential requirements have to be followed such as scalability, user Friendliness and the dynamism. Alongside the development of the application, the aim of the final project was theoretically, to describe the Software Testing Life Cycle among Software Developing Life Cycle, since those two go parallelly. Furthermore, one more task of this paper was to list the benefits of automation testing in a software development process. Each of these theoretical positions make’s an important contribution to our understanding of the Automation tool. To summarize, the Automation tool is build and already in use from the quality assurance team of Bestseller. All the main requirements that it had to follow are developed and running as expected. At the moment, the tool is still under development, however on a new phase, in order to apply some improvements. Ultimately, this tool has a lot of capabilities but there is also space for improvements; it can be expanded and get used for extra purposes, such as monitoring in order to verify the availability to users at any time.
Collections
This website uses cookies to ensure you get the best browsing experience.
Continue
More info