Aπό Junior Software Tester σε Automation Expert

    Από: Startup Team

Ένα ξεχωριστό ταξίδι καριέρας και γνώσης στο συναρπαστικό κόσμο της τεχνολογίας και δικτύωσης

Ποιός είναι ο τομέας του software testing;  Τι καλύτερο για να κατανοήσουμε τι σημαίνει μια καριέρα σε αυτόν τον τομέα από το να εξερευνήσουμε την πορεία ενός έμπειρου Software Tester, του Πέτρου Πλακογιάννη, από τους πρωτοπόρους στο κλάδο, όταν το software testing ήταν σχεδόν άγνωστο ως ειδικότητα.  Ο Πέτρος Πλακογιάννης είναι από τους πρώτους Automation Software Testers στην Ελλάδα, με πάνω από 15 χρόνια εμπειρίας και ιδρυτικό μέλος της Οργανωτικής Επιτροπής του Ministry of Testing Athens.

Τί είναι το Software Testing;

To Software Testing είναι ένας από τα πιο κρίσιμα στάδια στην ανάπτυξη λογισμικού.  Αφορά εργασίες ελέγχου και δοκιμών που εξασφαλίζουν στο καλύτερο δυνατό βαθμό ότι το λογισμικό λειτουργεί σωστά, είναι ασφαλές και πληροί τις προδιαγραφές.

Ένα απρόσμενο ξεκίνημα

Το ταξίδι του Πέτρου Πλακογιάννη στον κόσμο του software testing είναι μια ιστορία γεμάτη περιέργεια, επιμονή και συνεχούς μάθησης και εξέλιξης. Η τεχνολογία τον γοήτευε από παιδί, όταν πειραματιζόταν με τον πρώτο του υπολογιστή, έναν Amstrad 6128 CPC. Φυσικά, ο Πέτρος ακόμη κι όταν ξεκινούσε τις σπουδές του στη Πληροφορική, δεν είχε ιδέα τι είναι το software testing.

«Θυμάμαι ακόμα την πρώτη μου συνέντευξη σε μία από τις πιο διάσημες εταιρείες στον κόσμο (με 3 πολύ γνωστά γράμματα). Απέρριψα μία τέτοια θέση επειδή σκέφτηκα, ‘Software Testing; Τι είναι αυτό; Όχι, ευχαριστώ.’ Και τον επόμενο μήνα βρέθηκα να ξεκινάω την καριέρα μου ως software tester σε μια άλλη εταιρεία.»

Και αυτό ήταν η αρχή ενός ταξιδιού 15+ ετών. Στα πρώτα του βήματα, ο Πέτρος επικεντρώθηκε σε exploratory testing, χρησιμοποιώντας manual τεχνικές για να εντοπίζει σφάλματα και να βελτιώνει την ποιότητα του λογισμικού. Και αυτό ήταν αναμενόμενο γιατί στα τέλη της δεκαετίας του 2000, το software testing ήταν ακόμα ένας άγνωστος τομέας στην Ελλάδα, και οι πληροφορίες για νέες τεχνικές testing, ιδιαίτερα για την αυτοματοποίηση, ήταν ελάχιστες έως καμία!

Παρά τις τεχνικές αυτές δυσκολίες, ο Πέτρος ήταν αποφασισμένος να εξελίξει τις γνώσεις του και την καριέρα του στο τομέα αυτό. Επένδυσε στοχευμένα σε συνεργασίες με επαγγελματίες που του έδειξαν τεχνικές όπως το cross-site scripting (XSS) attacks. Η συνεχής εξάσκηση σε τέτοιες τεχνικές τον βοήθησαν όχι μόνο να εξειδικευτεί περισσότερο και να διευρύνει τις γνώσεις του αλλά απέδειξαν πόσο σημαντική είναι η συνεργασία και το μοίρασμα γνώσης για να γίνει κάποιος ένας επιτυχημένος Software Tester.

“Ένα πολύ σημαντικό μάθημα που πήρα αυτά τα χρόνια είναι ότι η συνεργατικότητα είναι αναγκαία. Θυμάμαι όταν ένας συνεργάτης που ανέφερε την τεχνική του CrossSite Scripting (XSS) attack. Ξεκίνησα να βάζω scripts σε μια login form μιας ιστοσελίδας και μαγικά!, η σελίδα δεν φόρτωνε! Ήταν φοβερό!. Γύρισα σπίτι το βράδυ και ξενύχτησα προσπαθώντας να κρασάρω όλες τις σελίδες με XSS attacks. Βρήκα τόσα πολλά bugs όπου την επόμενη μέρα πήρα μια πολύ σημαντική επιβράβευση από τον manager μου.»

Προκλήσεις και ευκαιρίες

Όταν ο Πέτρος ξεκίνησε την καριέρα του στο software testing, o Chrome και εργαλεία αυτοματοποίησης ήταν ακόμη σε πολύ αρχικό στάδιο. Η πρώτη του επαφή με την αυτοματοποίηση ελέγχων έγινε μέσω του Selenium με Firefox.

Ξεκινώντας με απλά record-and-playback scripts, σιγά σιγά μπήκε στον κόσμο του προγραμματισμού, αυτοματοποιώντας τις καθημερινές εργασίες δοκιμών ώστε να βελτιστοποιήσει όλο το workflow του. Αυτό του άνοιξε την πόρτα για να ασχοληθεί περισσότερο με τους αυτοματισμούς και να δουλέψει με εργαλεία όπως το Watir και το QTP.

«Ξεκίνησα να χρησιμοποιώ απλά recordandplayback 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. Στην αρχή ήταν δύσκολο να καταλάβω πώς να τεστάρω και να βελτιστοποιήσω την απόδοση ενός συστήματος υπό διαφορετικά φορτία. Όμως, με εξάσκηση και βοήθεια από συναδέλφους, βελτιώθηκα. Θυμάμαι ένα project όπου αντιμετωπίσαμε προβλήματα απόδοσης. Δουλέψαμε σκληρά για να τα διορθώσουμε, ισορροπώντας τα φορτία και βελτιστοποιώντας τις βάσεις δεδομένων. Ήταν δύσκολο, αλλά έμαθα πολλά!»

Η ικανότητά του να μεταβαίνει από frameworks βασισμένα σε Java σε JavaScript, καθώς και η περαιτέρω εξειδίκευσή του σε Cypress με την αναγνώρισή του ως Cypress Ambassador, αναδεικνύουν τη δίψα του για μάθηση και την ευελιξία του στον τομέα αυτό.

«Κάνετε λάθος!»

Φυσικά και η πορεία του Πέτρου δεν ήταν εύκολη!  Ένα αξιομνημόνευτο λάθος συνέβη νωρίς στην καριέρα του, όταν ενώ εξασκούνταν με το JMeter, κατά λάθος έστειλε 100.000 αιτήματα δοκιμής στην Google, με αποτέλεσμα να απαγορευτεί η πρόσβαση στην ιστοσελίδα της εταιρείας του. Αυτό το περιστατικό του δίδαξε τη σημασία του υπεύθυνου testing. Αντί όμως να αποθαρρυνθεί από αυτές τις αστοχίες, ο Πέτρος τις χρησιμοποίησε ως ευκαιρίες για να βελτιωθεί.

«Την πρώτη φορά που έστησα ένα πλαίσιο αυτοματοποίησης, ο κώδικάς μου ήταν απλά άσχημος, αυτό που θα λέγαμε “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 της Ελληνοαμερικανικής Ένωσης, όπου θα αποκτήσετε πολύτιμες γνώσεις και δεξιότητες για να κάνετε ένα σίγουρο ξεκίνημα μαζί με την απαραίτητη δικτύωση.

Η Ομάδα Επαγγελματικής Επιμόρφωσης

Ελληνοαμερικανικής Ένωσης

210-3680911 | www.hau.gr