Ένα ξεχωριστό ταξίδι καριέρας και γνώσης στο συναρπαστικό κόσμο του Software Testing
Ποιός είναι ο τομέας του software testing και τί ευκαιρίες δίνει σε επαγγελματίες της πληροφορικής; Τι καλύτερο για να κατανοήσουμε τι σημαίνει μια καριέρα σε αυτόν τον τομέα από το να εξερευνήσουμε την πορεία ενός έμπειρου Software Tester, του Πέτρου Πλακογιάννη, ενός επαγγελματία από τους πρώτους Automation Software Testers στο κλάδο, όταν το software testing ήταν σχεδόν άγνωστο ως ειδικότητα. Ο Πέτρος Πλακογιάννης έχει πάνω από 15 χρόνια εμπειρίας και είναι ιδρυτικό μέλος της Οργανωτικής Επιτροπής του Ministry of Testing Athens.
Τί είναι το Software Testing;
To Software Testing είναι ένας από τα πιο κρίσιμα στάδια στην ανάπτυξη λογισμικού. Αφορά εργασίες ελέγχου και δοκιμών που εξασφαλίζουν στο καλύτερο δυνατό βαθμό ότι το λογισμικό λειτουργεί σωστά, είναι ασφαλές και πληροί τις προδιαγραφές.
Κάθε αρχή και δύσκολη!
Το ταξίδι του Πέτρου Πλακογιάννη στον κόσμο του software testing είναι μια ιστορία γεμάτη περιέργεια, επιμονή και συνεχούς μάθησης και εξέλιξης. Η τεχνολογία τον γοήτευε από παιδί, όταν πειραματιζόταν με τον πρώτο του υπολογιστή, έναν Amstrad 6128 CPC. Φυσικά, ο Πέτρος ακόμη κι όταν ξεκινούσε τις σπουδές του στη Πληροφορική, δεν είχε ιδέα τι είναι το software testing. Σε μία από τις πρώτες συνεντεύξεις του, μάλιστα, απέρριψε μία θέση testing επειδή δεν ήξερε τι περιλάμβανε.
«Θυμάμαι ακόμα την πρώτη μου συνέντευξη σε μία από τις πιο διάσημες εταιρείες στον κόσμο (με 3 πολύ γνωστά γράμματα). Απέρριψα μία τέτοια θέση επειδή σκέφτηκα, ‘Software Testing; Τι είναι αυτό; Όχι, ευχαριστώ.’ Και τον επόμενο μήνα βρέθηκα να ξεκινάω την καριέρα μου ως software tester σε μια άλλη εταιρεία.»
Στα τέλη της δεκαετίας του 2000, το software testing ήταν ακόμα ένας άγνωστος τομέας στην Ελλάδα, και οι πληροφορίες για νέες τεχνικές testing, ιδιαίτερα για την αυτοματοποίηση, ήταν ελάχιστες έως καμία! Άρα ήταν αναμενόμενο στα πρώτα του βήματα, ο Πέτρος να ξεκινήσει με manual τεχνικές για να εντοπίζει σφάλματα και να βελτιώνει την ποιότητα του λογισμικού.
Παρά τις δυσκολίες, ο Πέτρος αναζητά και επενδύει σημαντικό χρόνο σε συνεργασίες με επαγγελματίες που του έδειξαν τεχνικές όπως το cross-site scripting (XSS) attacks. Μέσα από αυτές τις συνεργασίες αποκτά εξειδίκευση, διευρύνει τις γνώσεις του αλλά αποδεικνύει πόσο σημαντική είναι η συνεργασία και το μοίρασμα γνώσης για να γίνει κάποιος ένας επιτυχημένος Software Tester.
“Ένα πολύ σημαντικό μάθημα που πήρα αυτά τα χρόνια είναι ότι η συνεργατικότητα είναι αναγκαία. Θυμάμαι όταν ένας συνεργάτης που ανέφερε την τεχνική του Cross-Site Scripting (XSS) attack. Ξεκίνησα να βάζω scripts σε μια login form μιας ιστοσελίδας και μαγικά!, η σελίδα δεν φόρτωνε! Ήταν φοβερό! Γύρισα σπίτι το βράδυ και ξενύχτησα προσπαθώντας να κρασάρω όλες τις σελίδες με XSS attacks. Βρήκα τόσα πολλά bugs όπου την επόμενη μέρα πήρα μια πολύ σημαντική επιβράβευση από τον manager μου.»
Προκλήσεις και ευκαιρίες
Η τεχνολογία στο software testing εξελίχθηκε ραγδαία τα τελευταία χρόνια και το ίδιο και η καριέρα του Πέτρου. Η πρώτη του επαφή με την αυτοματοποίηση ελέγχων έγινε μέσω του Selenium με Firefox. Όταν ο Πέτρος ξεκίνησε την καριέρα του στο software testing, o Chrome και τα εργαλεία αυτοματοποίησης ήταν ακόμη σε πολύ αρχικό στάδιο.
«Ξεκίνησα να χρησιμοποιώ απλά record-and-playback automations, χωρίς να γράφω κώδικα. Μετά έφτιαχνα scripts τα οποία τα τροποποιούσα συνεχώς για να καλύψω περισσότερα σενάρια. Αυτή ήταν και η πρώτη μου επαφή με τον προγραμματισμό, περισσότερο δηλαδή με απλές διεργασίες όπως αλλάζοντας keywords και names ανάλογα με τις απαιτήσεις του software. Ξεκίνησα να αυτοματοποιώ τις καθημερινές εργασίες για να κάνω ευκολότερη τη δουλειά μου. Βλέπόντας πόσο βλελτιωνόντουσαν τα αποτελέσματα μέσω του αυτοματισμού, ήθελα να μάθω ακόμη περισσότερα!»
Στη καριέρα του συμμετείχε σε πολλά projects σε όλη την Ευρώπη, όπου συνεργάστηκε με οργανισμούς υψηλού προφίλ, όπως η Eurostat και ο Ευρωπαϊκός Οργανισμός Χημικών, δημιουργώντας testing frameworks με Selenium και Java. Μέσα από αυτές τις συνεργασίες ο Πέτρος δούλεψε μαζί με μερικούς από τους καλύτερους επαγγελματίες software testers στο κόσμο, καθώς και με front-end developers οι οποίοι του έμαθαν πολλά σε σχέση με JavaScript και DOM websites.
«Ήμουν τυχερός που δούλεψα με το Framework Watir (Web Application Tesitng in Ruby) σε ένα μικρό παράρτημα στην Ελλάδα μιας εταιρείας βρεταννικών συμφερόντων..., τώρα πολλά απο τα μέλη εκείνης της ομάδας κατέχουν θέσεις υψηλής ευθύνης ως managers, principal engineers σε πολλές μεγάλες εταιρείες. Είμαι βαθειά ευγνώμων σε κάθε έναν από αυτους για τα απίστευτα μαθήματα και γνώσεις που μου έδωσαν πάνω στη δουλειά.»
Το ταξίδι της γνώσης
Ο Πέτρος ξεκίνησε να βελτιώνει τις δεξιότητές του στην αυτοματοποίηση χρησιμοποιώντας το QTP (Quick Test Professional) με VBScript και στη συνέχεια προχώρησε στο Selenium με Java. Με κάθε έργο, τα frameworks του γίνονταν πιο εξελιγμένα και αποτελεσματικά. Ο Πέτρος ανέπτυξε δεξιότητες που του επιτρέψαν να χρησιμοποιεί μια ευρεία γκάμα frameworks βασισμένων σε Typescript και Javascript.
Καθ' όλη τη διάρκεια της καριέρας του, ο Πέτρος δεν σταμάτησε να εξελίσει τις γνώσεις του. Έμαθε επίσης performance testing, κατακτώντας την ικανότητα να βελτιστοποιεί συστήματα υπό διάφορα φορτία, ενώ συνεργάστηκε με developers για να κατανοήσει τον αντικειμενοστραφή προγραμματισμό. Η ικανότητά του να μεταβαίνει από frameworks βασισμένα σε Java σε JavaScript, καθώς και η περαιτέρω εξειδίκευσή του σε Cypress με την αναγνώρισή του ως Cypress Ambassador, αναδεικνύουν τη δίψα του για μάθηση και την ευελιξία του στον τομέα αυτό.
«Εκτός από την αυτοματοποίηση, ασχολήθηκα και το performance testing. Στην αρχή ήταν δύσκολο να καταλάβω πώς να τεστάρω και να βελτιστοποιήσω την απόδοση ενός συστήματος υπό διαφορετικά φορτία. Όμως, με εξάσκηση και βοήθεια από συναδέλφους, βελτιώθηκα. Θυμάμαι ένα project όπου αντιμετωπίσαμε προβλήματα απόδοσης. Δουλέψαμε σκληρά για να τα διορθώσουμε, ισορροπώντας τα φορτία και βελτιστοποιώντας τις βάσεις δεδομένων. Ήταν δύσκολο, αλλά έμαθα πολλά!»
«Κάνετε λάθος!»
Το ταξίδι του Πέτρου στον κόσμο του Software Testing δεν είναι πάντα εύκολο! Ένα αξιομνημόνευτο λάθος συνέβη νωρίς στην καριέρα του, όταν ενώ εξασκούνταν με το JMeter, κατά λάθος έστειλε 100.000 αιτήματα δοκιμής στην Google, με αποτέλεσμα να απαγορευτεί η πρόσβαση στην ιστοσελίδα της εταιρείας του. Αυτό το περιστατικό του δίδαξε τη σημασία του υπεύθυνου testing, και αντί να αποθαρρυνθεί από αυτές τις αστοχίες, ο Πέτρος τις χρησιμοποίησε ως ευκαιρίες για να βελτιωθεί.
«Την πρώτη φορά που έστησα ένα Automation Framework, ο κώδικάς μου ήταν απλά άσχημος, αυτό που θα λέγαμε "spaghetti code". Ένα αξιοσημείωτο λάθος από την αρχή της καριέρας μου ήταν όταν προσπάθησα να εξασκηθώ με το JMeter, ένα εργαλείο που δεν είχα ξαναχρησιμοποιήσει. Αφελώς πρόσθεσα την ιστοσελίδα της Google και το έβαλα να λάβει 100.000 hits. Τότε, ως junior tester, δεν συνειδητοποίησα ότι αυτό θα έστελνε πραγματικά 100.000 αιτήματα στη Google. Τί έγινε μετά; Η Google «μπάναρε» την ιστοσελίδα της εταιρείας μου. Και ακολουθήσε ένα email από τον CEO που ρωτούσε, "Ποιος είναι αυτός ο Πέτρος;" Αν και σήμερα το θυμάμαι χαμογελώντας, τότε ήταν ένα πολύ σοβαρό μάθημα για μένα».
Μια άλλη αξιομνημόνευτη πρόκληση που αντιμετώπισε ο Πέτρος στις πρώτες μέρες της καριέρας του ήταν κατά τη διάρκεια μιας συνέντευξης εργασίας σε μια μεγάλη βρετανική εταιρεία ραδιοτηλεοπτικών εκπομπών. Ο Έλληνας manager και tester ο ίδιος που του πήρε τη συνέντευξη, του έκανε δύο ερωτήσεις για το Selenium, στις οποίες ο Πέτρος τότε δεν μπόρεσε να απαντήσει, καθώς δεν ήξερε πολλά για το θέμα. Δεν πήρε τη δουλειά, αλλά αποφάσισε να τους «αποδείξει ότι έκαναν λάθος». Δούλεψε ακούραστα για να μάθει τα πάντα γύρω από το software testing, αποκτώντας την εμπειρία που τον έχει καταστήσει έναν από τους πιο δραστήριους και γνώστες testers στην Ελλάδα και όχι μόνο.
ΜΗΝ ασχοληθείς με το Software Testing αν η ομαδικότητα και το πάθος για να μαθαίνεις συνεχώς δεν είναι τα δυνατά σου σημεία!
Ο Πέτρος τονίζει ότι η συνεργασία και η συνεχής μάθηση είναι απαραίτητα στοιχεία στην καριέρα του. Ένα βασικό στοιχείο αυτής της νοοτροπίας δουλειάς και εξέλιξης, είναι οι συζητήσεις με τους developers, όπου εξετάζει προσεκτικά τον κώδικά τους και εμβαθύνει στον αντικειμενοστραφή προγραμματισμό (Object-Oriented Programming). Με αυτή τη νοοτροπία, αφιερώνει αμέτρητες ώρες για να διασφαλίσει υψηλής ποιότητας αποτελέσματα.
«Η συμβουλή μου είναι απλή: βουτήξτε στα βαθειά, γράψτε κώδικα, επικοινωνείστε και ζητήστε καθοδήγηση, ψάξτε τις καλύτερες λύσεις που υπάρχουν.»
Ο Πέτρος αξιοποιεί συνεχώς ευκαιρίες για να διευρύνει τις γνώσεις του, μελετώντας έργα στο GitHub και συμμετέχοντας σε διαδικτυακά σεμινάρια. Έχει συμμετάσχει σε σημαντικές συζητήσεις με κορυφαίους developers που βρίσκονται πίσω από ευρέως χρησιμοποιούμενα πλαίσια, όπως το Jenkins και το Selenium, αποκτώντας ανεκτίμητες γνώσεις από την εμπειρία τους. Θυμάται χαρακτηριστικά στιγμές, όπως ένα δείπνο στο Οχάιο με την Angie Jones και τη συνάντηση του Simon Stewart και του Kohsuke Kawaguchi στην Αθήνα, που εμπλούτισαν την επαγγελματική του πορεία.
Η σημασία της κοινότητας – Ministry of Testing Athens
Πέρα από τις τεχνικές του δεξιότητες, ο Πέτρος αντιλήφθηκε την ανάγκη ύπαρξης μιας οργανωμένης υποστηρικτικής κοινότητας για τους testers στην Ελλάδα. Μετά από την παρακολούθηση ενός συνεδρίου για το Selenium στο Λονδίνο, εμπνεύστηκε να δημιουργήσει μια τέτοια κοινότητα πίσω στην Ελλάδα. Οι προσπάθειές του οδήγησαν στη δημιουργία του Ministry of Testing Athens, μιας κοινότητας testers που διοργανώνει συναντήσεις (meetups), όπου οι testers και software developers, μοιράζονται γνώσεις, μαθαίνουν ο ένας από τον άλλον και εξελίσσονται μαζί.
«Υπάρχει μια ελληνική κοινότητα όπου όλοι μοιραζόμαστε γνώσεις και εμπειρίες, με στόχο να διδάξουμε και να μάθουμε για το testing λογισμικού. Αν έχω μια ερώτηση, μπαίνω στο Slack κανάλι και ρωτάω.»
Γαι τον Πέτρο, η προτροπή για την συμμετοχή σε τέτοιου είδους κοινότητες είναι μια από τις πιο πολύτιμες συμβουλές που μπορεί κάποιος να προσφέρει. Με το να εμφανίζεσαι και να συμμετέχεις, ανοίγεις την πόρτα σε νέες ευκαιρίες και εμπειρίες.
Για όσους ενδιαφέρονται για το software testing, αυτό το ταξίδι του Πέτρου Πλακογιάννη δείχνει πως η αφοσίωση στη συνεχή μάθηση, η προθυμία για συνεργασία, η ανθεκτικότητα και η συμμετοχή στην κοινότητα μπορούν να οδηγήσουν σε μία επιτυχημένη καριέρα. Το software testing είναι ένας συναρπαστικός τομέας που προσφέρει πολλές ευκαιρίες εξέλιξης, καθώς η τεχνολογία συνεχίζει να αναπτύσσεται.
Αν ενδιαφέρεστε να εξερευνήσετε μια τέτοια καριέρα, σας προσκαλούμε να δείτε τα νέα σεμινάρια software testing της Ελληνοαμερικανικής Ένωσης, όπου θα αποκτήσετε πολύτιμες γνώσεις και δεξιότητες για να κάνετε ένα ουσιαστικό ξεκίνημα.
Επίσης, μη χάσετε το ετήσιο 14th Ministry of Testing Athens Meetup, το οποίο φιλοξενεί στους χώρους της Ελληνοαμερικανική Ένωση στις 28 Νοεμβρίου 2024. Είσοδος ελεύθερη στο κοινό - προεγγραφή απαραίτητη.
Η Ομάδα Επαγγελματικής Επιμόρφωσης
Ελληνοαμερικανικής Ένωσης
210-3680911 | training@hau.gr