Τεχνικός δοκιμών και διασφάλισης ποιότητας λογισμικού (Tester / Software Quality Assurance Technician)
ΠΕΡΙΛΗΨΗ
Η παρούσα μελέτη αφορά στο επαγγελματικό περίγραμμα του/της «Τεχνικού δοκιμών και διασφάλισης ποιότητας λογισμικού» (Tester /
Software Quality Assurance (QA) Technician).
Ο/Η Τεχνικός δοκιμών και διασφάλισης ποιότητας λογισμικού αναλύει και σχεδιάζει τις διαδικασίες ελέγχου έργων λογισμικού, ενώ, επίσης, αναπτύσσει και εφαρμόζει σενάρια δοκιμών και δοκιμαστικών περιπτώσεων, κατά τη φάση ανάπτυξης και λειτουργίας του λογισμικού. Διενεργεί ελέγχους ποιότητας του λογισμικού σε όλες τις φάσεις της ανάπτυξης ενός έργου. Οι φάσεις ανάπτυξης ενός έργου λογισμικού ξεκινούν με την ανάλυση και το σχεδιασμό του έργου και περιλαμβάνουν το σχεδιασμό των λειτουργικών απαιτήσεων, την ανάπτυξη του κώδικα, τον έλεγχο των μονάδων λογισμικού, τους ελέγχους αποδοχής και, τελικά, τη συντήρηση κατά την παραγωγική λειτουργία.
Ο/Η Τεχνικός δοκιμών και διασφάλισης ποιότητας διαδραματίζει κρίσιμο ρόλο στη διασφάλιση ότι το λογισμικό και τα προϊόντα λογισμικού πληρούν τα χαρακτηριστικά ποιότητας και τις λειτουργικές προδιαγραφές και είναι αξιόπιστα και λειτουργικά για χρήση από
τους τελικούς χρήστες.
Ο/Η Τεχνικός δοκιμών και διασφάλισης ποιότητας μπορεί να εργάζεται σε Οργανισμούς παραγωγής λογισμικού, ανεξάρτητα ή ως μέλος
ομάδας. Εντάσσεται στον ευρύτερο κλάδο των επαγγελματιών στις Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ). Πρόκειται για μια ειδικότητα με μεγάλη δυναμική και εύρος εφαρμογών σε όλα τα έργα ανάπτυξης λογισμικού.
ABSTRACT
The present study concerns the occupational profile of the “Tester/Software Quality Assurance Technician”.
The Tester/Software Quality Assurance Technician analyzes and designs software testing procedures. He/she also develops and implements test scenarios and test cases during the software development process and production phase. He/she performs software quality checks in all phases of a software development project. The development phases of a software project begin with system analysis and design and comprise the analysis of functional requirements, code development, unit testing, acceptance tests, and finally the maintenance during the production phase.
Tester/Software Quality Assurance Technician plays a critical role in ensuring that software and software products meet quality characteristics and functional specifications and that they are reliable and functional for use by end-users.
The Tester/Software Quality Assurance Technician usually works in Software Production Organizations, either independently or as part of a team. He/she is part of the wider community of Information and Communication Technologies (ICT) professionals. Testing and Software Quality Assurance is a specialty with great potential and a considerable range of applications in all software development projects.
ΕΙΣΑΓΩΓΗ
ΣΥΝΟΨΗ
ΠΕΡΙΓΡΑΦΗ ΕΠΑΓΓΕΛΜΑΤΟΣ
Ο Τεχνικός δοκιμών και διασφάλισης ποιότητας λογισμικού αναλύει και σχεδιάζει τις διαδικασίες ελέγχου έργων λογισμικού, ενώ, επίσης, αναπτύσσει και υλοποιεί σενάρια δοκιμών (test cases) για να διασφαλίσει ότι τα προϊόντα λογισμικού πληρούν ορισμένα χαρακτηριστικά ποιότητας και αξιοπιστίας πριν κυκλοφορήσουν (released) στο κοινό. Συνεργάζεται στενά με προγραμματιστές λογισμικού, υπεύθυνους έργων (project managers) και άλλους ενδιαφερόμενους για να εντοπίσουν πιθανά ζητήματα, να καθορίσουν και να αναπτύξουν σενάρια δοκιμών, ώστε να διασφαλίσουν ότι το προϊόν πληροί τις προδιαγραφές και τις ανάγκες, όπως αυτές έχουν καταγραφεί κατά τη φάση της ανάλυσης.
ΠΕΡΙΒΑΛΛΟΝ ΕΝΑΣΧΟΛΗΣΗΣ
Ο Τεχνικός δοκιμών και διασφάλισης ποιότητας λογισμικού εργάζεται σε Οργανισμούς παραγωγής λογισμικού (software houses), εταιρείες παροχής υπηρεσιών Δοκιμών και Διασφάλισης Ποιότητας Λογισμικού ή σε εταιρείες με τμήμα IT (Information Technology).
Μπορεί να απασχολείται σε διάφορα περιβάλλοντα εργασίας:
− Στον φυσικό χώρο εντός του Οργανισμού, ανεξάρτητα ή ως μέλος ομάδας.
− Στο δικό του χώρο (remote) με απομακρυσμένη επικοινωνία, μέσω εφαρμογών και συστημάτων συνεργασίας.
Συχνά, χρησιμοποιεί περιβάλλοντα εργασίας με τεχνολογίες νέφους και συστήματα διαμοιρασμού εγγράφων και γενικά τεχνολογίες αιχμής.
ΠΡΟΫΠΟΘΕΣΕΙΣ ΑΣΚΗΣΗΣ ΕΠΑΓΓΕΛΜΑΤΟΣ
Δεν υπάρχουν θεσμοθετημένες προϋποθέσεις για την άσκηση του επαγγέλματος
ΥΦΙΣΤΑΜΕΝΕΣ ΚΑΙ ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΔΙΑΔΡΟΜΕΣ ΑΠΟΚΤΗΣΗΣ ΤΩΝ ΑΠΑΙΤΟΥΜΕΝΩΝ ΠΡΟΣΟΝΤΩΝ
ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΔΙΑΔΡΟΜΕΣ |
1η Διαδρομή | Απόφοιτοι Ινστιτούτων Επαγγελματικής Κατάρτισης (ΙΕΚ) επιπέδου 5 του ΕΠΠ στις ειδικότητες του Τομέα Πληροφορικής και Συνεχιζόμενη επαγγελματική κατάρτιση για το σύνολο των γνώσεων που αντιστοιχούν στις 2 Κύριες Επαγγελματικές Λειτουργίες του επαγγέλματος (ΚΕΛ 1, ΚΕΛ 2). |
2η Διαδρομή | Απόφοιτοι Μεταλυκειακού Έτους-Τάξη Μαθητείας επιπέδου 5 του ΕΠΠ στις ειδικότητες του τομέα Πληροφορικής, «Τεχνικός Εφαρμογών Πληροφορικής» και «Τεχνικός Η/Υ και Δικτύων Η/Υ» και Συνεχιζόμενη Επαγγελματική Κατάρτιση για το σύνολο των γνώσεων που αντιστοιχούν στις 2 Κύριες Επαγγελματικές Λειτουργίες του επαγγέλματος (ΚΕΛ 1, ΚΕΛ 2). |
3η Διαδρομή | Απόφοιτοι Επαγγελματικών Λυκείων (ΕΠΑ.Λ.) επιπέδου 4 του ΕΠΠ στις ειδικότητες του τομέα Πληροφορικής, «Τεχνικός Εφαρμογών Πληροφορικής» και «Τεχνικός Η/Υ και Δικτύων Η/Υ», τουλάχιστον δύο (2) έτη συναφούς επαγγελματικής εμπειρίας και Συνεχιζόμενη Επαγγελματική Κατάρτιση για το σύνολο των γνώσεων που αντιστοιχούν στις 2 Κύριες Επαγγελματικές Λειτουργίες του επαγγέλματος (ΚΕΛ 1, ΚΕΛ 2). |
4η Διαδρομή | Απόφοιτοι Επαγγελματικών Σχολών (ΕΠΑ.Σ.) Μαθητείας της ΔΥΠΑ επιπέδου 3 του ΕΠΠ της ειδικότητας «Τεχνίτης Υποστήριξης Συστημάτων Η/Υ», τουλάχιστον δύο (2) έτη συναφούς επαγγελματικής εμπειρίας και Συνεχιζόμενη Επαγγελματική Κατάρτιση για το σύνολο των γνώσεων που αντιστοιχούν στις 2 Κύριες Επαγγελματικές Λειτουργίες του επαγγέλματος (ΚΕΛ 1, ΚΕΛ 2). |
5η Διαδρομή | Απόφοιτοι Γενικού Λυκείου επιπέδου 4 του ΕΠΠ, τουλάχιστον τρία (3) έτη συναφούς επαγγελματικής εμπειρίας και Συνεχιζόμενη Επαγγελματική Κατάρτιση για το σύνολο των γνώσεων που αντιστοιχούν στις 2 Κύριες Επαγγελματικές Λειτουργίες του επαγγέλματος (ΚΕΛ 1, ΚΕΛ 2). |
ΕΠΑΓΓΕΛΜΑΤΙΚΕΣ ΟΡΓΑΝΩΣΕΙΣ
Δεν υφίσταται ξεχωριστός συνδικαλιστικός φορέας για τους Τεχνικούς δοκιμών και διασφάλισης ποιότητας. Οι εργαζόμενοι του κλάδου εκπροσωπούνται από την Γενική Συνομοσπονδία Εργατών Ελλάδος (ΓΣΕΕ).
Ωστόσο, υπάρχουν συλλογικές οργανώσεις και πηγές πληροφόρησης, όπως οι παρακάτω:
− Ελληνική Εταιρεία Επιστημόνων και Επαγγελματιών Πληροφορικής και Επικοινωνιών (ΕΠΥ) — URL: http://epy.gr/
− Ένωση Πληροφορικών Ελλάδος (ΕΠΕ) – URL: https://www.epe.org.gr/
− Ελληνικό Δίκτυο Επαγγελματιών Πληροφορικής (HEPIS) – URL: https://www.hepis.gr/
− Οργανισμός Ανοιχτών Τεχνολογιών (ΕΕΛΛΑΚ) – URL: https://eellak.ellak.gr/
− Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας (ΕΜηΠΕΕ) – URL: https://www.computer-engineers.gr/
− Σύνδεσμος Επιχειρήσεων και Βιομηχανιών – Σ.Ε.Β. – URL: https://www.sev.org.gr/
− Σύνδεσμος Επιχειρήσεων Πληροφορικής & Επικοινωνιών Ελλάδας (ΣΕΠΕ) – URL: https://www.sepe.gr/
− Σύνδεσμος Επιχειρήσεων Πληροφορικής Βορείου Ελλάδος (ΣΕΠΒΕ) – URL: http://www.sepve.org
− Αμερικάνικη Επαγγελματική Ένωση: IEEE (Institute of Electrical and Electronics Engineering) – URL: https://www.ieee.org/
− Διεθνής Επαγγελματική Ένωση: ACM (Association for Computing Machinery) – URL: https://www.acm.org/
ΑΡΜΟΔΙΟΤΗΤΕΣ
− Αναλύει τις διαδικασίες ελέγχου έργων λογισμικού.
− Σχεδιάζει τις διαδικασίες ελέγχου έργων λογισμικού.
− Αναπτύσσει και εφαρμόζει σενάρια δοκιμών και δοκιμαστικών περιπτώσεων κατά τη φάση της ανάπτυξης λογισμικού.
− Αναπτύσσει και εφαρμόζει σενάρια δοκιμών και δοκιμαστικών περιπτώσεων κατά τη φάση της λειτουργίας του λογισμικού.
ΕΠΑΓΓΕΛΜΑΤΙΚΕΣ ΓΝΩΣΕΙΣ
− Ανάλυση πληροφορικών συστημάτων
− Σχεδιασμός πληροφορικών συστημάτων
− Βασικά θέματα στην αξιοπιστία λογισμικού
− Μεθοδολογίες και εργαλεία διαχείρισης έργων
− Γνώσεις σχεδιασμού και τεκμηρίωσης σεναρίων ελέγχου
− Γνώσεις black-box testing και white-box testing
− Γνώσεις γλωσσών προγραμματισμού για τη συγγραφή κώδικα ελέγχων και μεθοδολογιών / αρχιτεκτονικών ανάπτυξης προγραμμάτων λογισμικού με εργαλεία διαχείρισης απαιτήσεων (π.χ. Maven, Gradle, NuGet, NPM, PIP)
− Γνώσεις βιβλιοθηκών ελέγχου (π.χ. JUnit) και διενέργειας Unit Tests
− Γνώσεις βιβλιοθηκών ελέγχου για Integration Tests (π.χ. Selenium WebDriver, Appium)
− Γνώσεις χειροκίνητου τεστ (Manual Testing) και αυτόματου τεστ (Automated Testing) με αντίστοιχες βιβλιοθήκες παραγωγής τεκμηρίωσης (π.χ. Surefire)
− Γνώσεις εργαλείων για διενέργεια Integration Test (π.χ. Postman, Swagger)
− Γνώσεις ποιοτικών κριτηρίων αξιοπιστίας του κώδικα και αντίστοιχα εργαλεία (π.χ. ποσοστό κάλυψης κώδικα –code coverage, όπως Jacoco κ.ά.)
− Γνώσεις CI/CD (Continuous Integration / Continuous Delivery)
− Εργαλεία διαχείρισης εκδόσεων κώδικα, Git, GitHub, GitLab
− Γνώσεις DevOps (Development and Operations)
− Βασικές γνώσεις μεθοδολογιών ανάπτυξης λογισμικού π.χ. Waterfall Model, Prototyping Model, Agile Methodologies, Scrum κ.α.
− Τεχνική ορολογία (ελληνική και αγγλική)
ΔΕΞΙΟΤΗΤΕΣ
− Χρήση εργαλείων συγγραφής απαιτήσεων τεκμηρίωσης διαδικασιών ανάλυσης και διαδικασιών σχεδιασμού
− Συγγραφή / τεκμηρίωση λειτουργικών απαιτήσεων, σεναρίων ελέγχου και αποτελεσμάτων ελέγχου
− Χρήση εργαλείων διαχείρισης έργων (project management)
− Τήρηση χρονοδιαγράμματος και επιμέρους διαδικασιών και βημάτων ελέγχου
− Χρήση εργαλείων επικοινωνίας και συνεργασίας ομάδων
− Χρήση περιβαλλόντων προγραμματισμού (IDEs – Integrated Development Environments)
− Χρήση / ενσωμάτωση βιβλιοθηκών ελέγχου και ποιότητα κώδικα
− Χρήση περιβαλλόντων αυτοματοποιημένων ελέγχων
− Χρήση περιβαλλόντων χειροκίνητων ελέγχων (manual testing)
− Χρήση συστημάτων DevOps και Ticket Management