Το θεμελιώδες πρόβλημα των δοκιμών

Εισαγωγή

Καλησπέρα, κάτοικοι του Khabrovsk. Μόλις τώρα έλυνα μια δοκιμαστική εργασία για μια κενή θέση QA Lead για μια εταιρεία fintech. Η πρώτη εργασία, η δημιουργία ενός σχεδίου δοκιμής με μια πλήρη λίστα ελέγχου και παραδείγματα δοκιμών για τη δοκιμή ενός ηλεκτρικού βραστήρα, μπορεί να λυθεί επιπόλαια:

Αλλά το δεύτερο μέρος αποδείχθηκε ότι ήταν μια ερώτηση: "Υπάρχουν κοινά προβλήματα σε όλους τους δοκιμαστές που τους εμποδίζουν να λειτουργούν πιο αποτελεσματικά;"

Το πρώτο πράγμα που μου ήρθε στο μυαλό ήταν να απαριθμήσω όλα τα περισσότερο ή λιγότερο αισθητά προβλήματα που αντιμετώπισα κατά τη διάρκεια των δοκιμών, να εξαλείψω τα μικρά πράγματα και να συνοψίσω τα υπόλοιπα. Αλλά γρήγορα συνειδητοποίησα ότι η επαγωγική μέθοδος θα απαντούσε σε μια ερώτηση που δεν ίσχυε για «όλους», αλλά, στην καλύτερη περίπτωση, μόνο για την «πλειονότητα» των δοκιμαστών. Επομένως, αποφάσισα να το προσεγγίσω από την άλλη πλευρά, απαγωγικά, και αυτό έγινε.

Ορισμοί

Το πρώτο πράγμα που κάνω συνήθως όταν λύνω ένα νέο πρόβλημα είναι να προσπαθώ να καταλάβω περί τίνος πρόκειται και για να το κάνω αυτό πρέπει να καταλάβω τη σημασία των λέξεων που το θέτουν. Οι λέξεις-κλειδιά για να καταλάβετε είναι οι εξής:

  • ένα πρόβλημα
  • δοκιμαστή
  • δουλειά δοκιμαστή
  • αποτελεσματικότητα δοκιμαστή

Ας στραφούμε στη Wikipedia και την κοινή λογική:
Πρόβλημα (αρχαιοελληνικό πρόβλημα) με ευρεία έννοια - ένα σύνθετο θεωρητικό ή πρακτικό ζήτημα που απαιτεί μελέτη και επίλυση. στην επιστήμη - μια αντιφατική κατάσταση που εμφανίζεται με τη μορφή αντίθετων θέσεων στην εξήγηση οποιωνδήποτε φαινομένων, αντικειμένων, διεργασιών και απαιτεί μια επαρκή θεωρία για την επίλυσή της. στη ζωή, το πρόβλημα διατυπώνεται με μια μορφή που είναι κατανοητή στους ανθρώπους: «Ξέρω τι, δεν ξέρω πώς», δηλαδή είναι γνωστό τι πρέπει να αποκτηθεί, αλλά δεν είναι γνωστό πώς να το κάνω . Έρχεται από αργά. λατ. πρόβλημα, από τα ελληνικά. πρόβλημα «πετάχτηκε μπροστά, τοποθετήθηκε μπροστά»· from προβάλλω “throw forward, put in front of you; κατηγορώ".

Δεν έχει πολύ νόημα, στην πραγματικότητα, «πρόβλημα» = «κάτι που πρέπει να αντιμετωπιστεί».
Δοκιμαστής - έναν ειδικό (δεν θα χωρίσουμε σε τύπους, αφού μας ενδιαφέρουν όλοι οι δοκιμαστές) που συμμετέχει στη δοκιμή ενός στοιχείου ή συστήματος, το αποτέλεσμα του οποίου είναι:
Δουλειά του δοκιμαστή — ένα σύνολο δραστηριοτήτων που σχετίζονται με τις δοκιμές.
Αποδοτικότητα (lat. effectivus) - η σχέση μεταξύ του επιτευχθέντος αποτελέσματος και των πόρων που χρησιμοποιήθηκαν (ISO 9000: 2015).
Αποτέλεσμα - συνέπεια μιας αλυσίδας (σειράς) ενεργειών (αποτέλεσμα) ή γεγονότων, που εκφράζονται ποιοτικά ή ποσοτικά. Τα πιθανά αποτελέσματα περιλαμβάνουν το πλεονέκτημα, το μειονέκτημα, το κέρδος, την απώλεια, την αξία και τη νίκη.
Όπως και με το «πρόβλημα», δεν έχει ελάχιστο νόημα: κάτι που προέκυψε ως αποτέλεσμα δουλειάς.
πόρος - την ποσοτικά μετρήσιμη δυνατότητα εκτέλεσης οποιασδήποτε δραστηριότητας ενός ατόμου ή ενός λαού. συνθήκες που επιτρέπουν τη χρήση ορισμένων μετασχηματισμών για να επιτευχθεί το επιθυμητό αποτέλεσμα. Ο ελεγκτής είναι ένα άτομο και σύμφωνα με τη θεωρία των ζωτικών πόρων, κάθε άτομο είναι ιδιοκτήτης τεσσάρων οικονομικών περιουσιακών στοιχείων:
Τα μετρητά (εισόδημα) είναι ένας ανανεώσιμος πόρος.
Η ενέργεια (δύναμη ζωής) είναι ένας μερικώς ανανεώσιμος πόρος.
Ο χρόνος είναι ένας σταθερός και ουσιαστικά μη ανανεώσιμος πόρος.
Η γνώση (πληροφορία) είναι ένας ανανεώσιμος πόρος, είναι μέρος του ανθρώπινου κεφαλαίου που μπορεί να αναπτυχθεί και να καταστραφεί[1].

Θα ήθελα να σημειώσω ότι ο ορισμός της αποδοτικότητας στην περίπτωσή μας δεν είναι απόλυτα σωστός, αφού όσο περισσότερη γνώση χρησιμοποιούμε, τόσο χαμηλότερη είναι η απόδοση. Ως εκ τούτου, θα επαναπροσδιορίσω την αποτελεσματικότητα ως «την αναλογία μεταξύ των επιτευχθέντων αποτελεσμάτων και των πόρων που δαπανώνται». Τότε όλα είναι σωστά: η γνώση δεν σπαταλάται κατά τη διάρκεια της εργασίας, αλλά μειώνει το κόστος του μόνου ουσιαστικά μη ανανεώσιμου πόρου του ελεγκτή - του χρόνου του.

Λύση

Άρα, αναζητούμε παγκόσμια προβλήματα δοκιμαστών που βλάπτουν την αποτελεσματικότητα της δουλειάς τους.
Ο πιο σημαντικός πόρος που δαπανάται για την εργασία ενός δοκιμαστή είναι ο χρόνος του (το υπόλοιπο μπορεί να μειωθεί σε αυτόν με τον έναν ή τον άλλον τρόπο) και για να μιλήσουμε για τον σωστό υπολογισμό της απόδοσης, το αποτέλεσμα πρέπει επίσης να μειωθεί σε χρόνο .
Για να το κάνετε αυτό, σκεφτείτε ένα σύστημα του οποίου τη βιωσιμότητα εξασφαλίζει ο ελεγκτής μέσω της εργασίας του. Ένα τέτοιο σύστημα είναι ένα έργο του οποίου η ομάδα περιλαμβάνει έναν ελεγκτή. Ο κύκλος ζωής του έργου μπορεί να αναπαρασταθεί κατά προσέγγιση από τον ακόλουθο αλγόριθμο:

  1. Εργασία με Απαιτήσεις
  2. Διαμόρφωση τεχνικών προδιαγραφών
  3. Ανάπτυξη
  4. Δοκιμές
  5. Κυκλοφορία στην παραγωγή
  6. Υποστήριξη (πήγαινε στο στοιχείο 1)

Σε αυτήν την περίπτωση, ολόκληρο το έργο μπορεί να χωριστεί αναδρομικά σε υποέργα (χαρακτηριστικά), με τον ίδιο κύκλο ζωής.
Από την άποψη του έργου, όσο λιγότερος χρόνος αφιερώνεται σε αυτό, τόσο πιο αποτελεσματική είναι η υλοποίησή του.
Έτσι, φτάνουμε στον ορισμό της μέγιστης δυνατής απόδοσης ενός ελεγκτή από την άποψη του έργου - αυτή είναι η κατάσταση του έργου όταν ο χρόνος για τη δοκιμή είναι μηδέν. Ένα κοινό πρόβλημα για όλους τους δοκιμαστές είναι η αδυναμία επίτευξης αυτού του χρόνου.

Πώς να το αντιμετωπίσετε;

Τα συμπεράσματα είναι αρκετά προφανή και έχουν χρησιμοποιηθεί από πολλούς εδώ και πολύ καιρό:

  1. Η ανάπτυξη και οι δοκιμές πρέπει να ξεκινούν και να τελειώνουν σχεδόν ταυτόχρονα (αυτό γίνεται συνήθως από το τμήμα QA). Η ιδανική επιλογή είναι όταν όλη η λειτουργικότητα που αναπτύσσεται καλύπτεται ήδη από αυτόματες δοκιμές μέχρι να είναι έτοιμες, οργανωμένες σε δοκιμές παλινδρόμησης (και, εάν είναι δυνατόν, προ-δέσμευση) χρησιμοποιώντας κάποιο είδος CI.
  2. Όσο περισσότερες δυνατότητες έχει ένα έργο (όσο πιο περίπλοκο είναι), τόσο περισσότερος χρόνος θα πρέπει να δαπανηθεί για να ελέγξετε ότι η νέα λειτουργικότητα δεν σπάει την παλιά. Ως εκ τούτου, όσο πιο σύνθετο είναι το έργο, τόσο περισσότερη αυτοματοποίηση απαιτείται δοκιμή παλινδρόμησης.
  3. Κάθε φορά που χάνουμε ένα σφάλμα στην παραγωγή και το βρίσκει ένας χρήστης, πρέπει να αφιερώνουμε επιπλέον χρόνο στον κύκλο ζωής του έργου ξεκινώντας από το σημείο 1 (Εργασία με απαιτήσεις, σε αυτήν την περίπτωση, χρήστες). Δεδομένου ότι οι λόγοι για τους οποίους λείπει ένα σφάλμα είναι γενικά άγνωστοι, μας μένει μόνο μία διαδρομή βελτιστοποίησης - κάθε σφάλμα που εντοπίζεται από τους χρήστες πρέπει να συμπεριλαμβάνεται στη δοκιμή παλινδρόμησης για να είμαστε σίγουροι ότι δεν θα εμφανιστεί ξανά.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο