Τα ΑΤs (Additional Testsuites) είναι μία γενικευμένη δομή, η οποία αποτελεί μία καινούργια ΙΔΕΑ ενώ μπορεί να εφαρμοστεί σε οποιοδήποτε πρόγραμμα λογισμικού και να αποτελέσει εργαλείο ελέγχου για όλες τις εκδόσεις του λογισμικού. Συγκεκριμένα, τα προγράμματα ελέγχου (tests) διατηρούνται και επεκτείνονται “ανεξάρτητα” από κάποια συγκεκριμένη έκδοση του προγράμματος λογισμικού. Ο χρήστης, χρησιμοποιώντας κάποια σχόλια (annotations) , κατηγοριοποιεί και διανέμει τα κατάλληλα προγράμματα ελέγχου στις κατάλληλες εκδόσεις του λογισμικού.
Μία από τις πιο γνωστές εφαρμογές της ΑΤ δομής αποτελεί το ΕΑΤ (EAP Additional Testsuite), το οποίο περιέχει ελέγχους για διάφορες εκδόσεις των διακομιστών EAP και Wildfly. Πιο συγκεκριμένα, αποτελέι ένα εργαλείο ελέγχου λογισμικού που δίνει τη δυνατότητα να γράφουμε το λογισμικό ελέγχου μία φορά και να το χρησιμοποιούμε με όλες τις εκδόσεις του EAP και του Wildfly διακομιστή.
ΠΛΕΟΝΕΚΤΗΜΑΤΑ
1. Εγγραφή του λογισμικού ελέγχου μία φορά και χρησιμοποίησή του με άπειρο αριθμό των διακομιστών.
2. Διατήρηση του λογισμικού ελέγχου σε ένα μέρος.
3. Σύγκριση των διακομιστών με βάση το λογισμικό ελέγχου.
4. Έλεγχος μίας βελτίωσης σε όλους τους δικομιστές.
5. Ταχύτερη σύγκλιση μεταξύ των διακομιστών.
6. Σύγκριση των διακομιστών βάσει δοκιμών του παρελθόντος και του παρόντος.
7. Προσθήκη δοκιμών με πιθανά μελλοντικά χαρακτηριστικά που δεν είναι προς το παρόν διαθέσιμα.
8. Δίνει τη δυνατότητα να ενσωματώσετε λογισμικό ελέγχου για το διακομιστή, χωρίς να έχει ενσωματωθεί η βελτίωση/διόρθωση στο διακομιστή.
9. Δυνατότητα ενσωμάτωσης λογιμσικού ελέγχου από απομακρισμένα λογισμικά ελέγχου που βρίσκονται στο διαδίκτυο.
Το ΕΑΤ είναι το πρώτο κομμάτι λογισμικού που αλλάζει τη σχέση του Στοιχείου (Component) -> Διακομιστή σε Στοιχείο (Component) <-> Διακομιστή, καθώς αυτό το λογισμικό μπορεί να θεωρηθεί ως μέρος ενός διακομιστή, αλλά και ένας διακομιστής μπορεί να θεωρηθεί ως μέρος του ΕΑΤ. Απεριόριστος αριθμός διακομιστών θα μπορούσε να προστεθεί στο ΕΑΤ, ενώ οι δοκιμές (έλεγχοι) που συμπεριλήφθησαν θα μπορούσαν να δοκιμαστούν σε όλους αυτούς τους διακομιστές. Θα μπορούσε να είναι ένα πολύ χρήσιμο εργαλείο σε συνδυασμό με την τεκμηρίωση. Παράλληλα με την τεκμηρίωση, θα μπορούσαν να συμπεριληφθούν παραδείγματα περιπτώσεων χρήσης, τα οποία θα μπορούσαν να χρησιμοποιηθούν σε όλους τους διακομιστές.
Οι δομή ΑΤ μπορεί επιπλέον να χρησιμoποιηθεί ώστε να δημιουργήσει υποσύνολα δοκιμών οι οποίες θα έλέγχουν δυναμικά κατασκευασμένα προγράμματα με βάση κάποια λίστα απαιτούμενων χαρακτηριστηκών (χρήση εργαλείων provisioning). Σε μια τέτοια περίπτωση το λογισμικό ελέγχου δεν μπορεί να είναι σταθερό, αλλά επίσης δυναμικό, ανάλογα με τη λίστα των απαιτούμενων χαρακτηριστικών (τα οποία επίσης θα μπορούσαν να έχουν πολλαπλές εκδόσεις). Αυτό επιτυγχάνεται με το σχόλιο @ATFeature(μεταβλητές των χαρακτηριστικών που ελέγχονται – και των αντίστοιχων εκδόσεων) στη μέθοδο ελέγχου, το οποίο καθορίζει αν η δοκιμή θα διανεμηθεί ή όχι στη συγκεκριμένη έκδοση του προγράμματος λογισμικού προς έλεγχο, ανάλογα αν τα χαρακτηριστικά βρίσκονται στη λίστα των διαθέσιμων χαρακτηριστικών του προγράμματος.
Ο κώδικας του ΕΑΤ βρίσκεται διαθέσιμος στο github : https://github.com/jboss-set/eap-additional-testsuite
Σύνδεσμος για εισαγωγή στη χρήση του ΑΤ : https://www.dropbox.com/s/bebhyd1iz7cg1i2/EAT_WORKSHOP.odt?dl=0
Καταπληκτική δουλειά! Πολύ ενδιαφέρον!
Σε ευχαριστώ Jerome.