Οδηγός διασφάλισης ποιότητας λογισμικού

Διασφάλιση ποιότητας

Η Διασφάλιση Ποιότητας (κοινώς γνωστή ως QA) είναι ο τρόπος με τον οποίο ένα προϊόν που βρίσκεται σε εξέλιξη ελέγχεται για να βεβαιωθεί ότι λειτουργεί όπως θα έπρεπε. Οι πραγματικές μέθοδοι που χρησιμοποιούνται στις διαδικασίες QA ποικίλλουν σε μεγάλο βαθμό ανάλογα με το μέγεθος και τη φύση του προϊόντος.

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

Ανεξάρτητα από το πόσο επίσημη ή λεπτομερή είναι μια διαδικασία QA, στόχος της είναι να εντοπίσει σφάλματα, ώστε να μπορούν να επιλυθούν πριν από την κυκλοφορία του προϊόντος.

Μεθοδολογίες

Ευκίνητος

Σε μια ευέλικτη προσέγγιση στην ανάπτυξη, ο στόχος είναι ότι κάθε κύκλος εργασίας («σπριντ») παράγει λογισμικό εργασίας που μπορεί να προστεθεί και να βελτιωθεί επανειλημμένα. Αυτό καθιστά τις διαδικασίες QA αναπόσπαστο μέρος του κύκλου ανάπτυξης.

Δοκιμάζοντας στοιχεία λογισμικού σε κάθε στάδιο της παραγωγής τους, μειώνετε τον κίνδυνο παρουσίας σφαλμάτων κατά την κυκλοφορία.

Ορολογία

Δοκιμή αυτοματισμού

Η δοκιμή έγινε με προ-γραπτά σενάρια που έχουν σχεδιαστεί για τον έλεγχο της εκτέλεσης των δοκιμών.

Μαύρο κουτί

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

Ελάττωμα

Οποιαδήποτε απόκλιση από τις προδιαγραφές μιας εφαρμογής. συχνά αναφέρεται ως «σφάλμα».

Διερευνητικές δοκιμές

Μια μη γραπτή προσέγγιση στη δοκιμή, η οποία βασίζεται στη μοναδική δημιουργικότητα του υπεύθυνου δοκιμών σε μια προσπάθεια εύρεσης άγνωστων σφαλμάτων και εντοπισμού παλινδρόμησης.

Δοκιμή ολοκλήρωσης

Δοκιμή μεμονωμένων συστατικών / ενοτήτων για να διασφαλιστεί ότι συνδέονται και αλληλεπιδρούν καλά μεταξύ τους.

Δοκιμή αρνητικών διαδρομών

Ένα σενάριο δοκιμών που έχει σχεδιαστεί για να δημιουργήσει μια κατάσταση σφάλματος σε μια λειτουργία / εφαρμογή και να επαληθεύσει ότι το σφάλμα αντιμετωπίζεται με χαρά. Ένα παράδειγμα αυτού είναι η εισαγωγή μιας σειράς αριθμών στο πεδίο email σε μια φόρμα εγγραφής χρήστη και ο έλεγχος για να βεβαιωθείτε ότι η εγγραφή δεν θα γίνει αποδεκτή έως ότου δοθεί μια πραγματική διεύθυνση email.

Δοκιμή παλινδρόμησης

Ο έλεγχος έγινε σε μια νέα έκδοση για να διασφαλιστεί ότι η νέα λειτουργικότητα δεν έχει καταστρέψει ακούσια λειτουργίες που δοκιμάστηκαν προηγουμένως.

Δοκιμές καπνού

Μια μινιμαλιστική προσέγγιση για τις δοκιμές που αποσκοπούν στη διασφάλιση της βασικής λειτουργικότητας λειτουργεί πριν πραγματοποιηθούν πιο εμπεριστατωμένες δοκιμές. Συνήθως εμφανίζεται στην αρχή της διαδικασίας δοκιμής.

Θήκη δοκιμής

Καθορισμένες προϋποθέσεις, βήματα και αναμενόμενα αποτελέσματα που αναφέρονται από έναν ελεγκτή / μηχανικό QA για να προσδιορίσουν εάν μια λειτουργία εκτελεί την εργασία της όπως αναμένεται.

Ασπρο κουτί

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

Επίσης γνωστό ως «Glass Box», «Clear Box», «Transparent Box» επειδή ο ελεγκτής μπορεί να «δει μέσα» το υπό δοκιμή σύστημα.

Οι κύριες κατηγορίες είναι

  • Δοκιμές μονάδας (μεμονωμένες μονάδες κώδικα κάνουν ό, τι πρέπει)
  • Δοκιμές ολοκλήρωσης (μονάδες / συστατικά αλληλεπιδρούν σωστά μεταξύ τους)
  • Δοκιμές παλινδρόμησης (επανεφαρμογή δοκιμών σε μεταγενέστερα στάδια ανάπτυξης για να διασφαλιστεί ότι εξακολουθούν να λειτουργούν)

Υπάρχουν τρεις κύριες τεχνικές:

  • Κατάτμηση ισοδυναμίας (οι δοκιμασμένες τιμές εισόδου είναι αντιπροσωπευτικές των μεγαλύτερων συνόλων δεδομένων εισόδου)
  • Ανάλυση οριακής τιμής (το σύστημα δοκιμάζεται με επιλεγμένες εισόδους όπου η συμπεριφορά και συνεπώς η έξοδος πρέπει να αλλάξει)
  • Cause-Effect Graphing (οι δοκιμές σχεδιάζονται από μια οπτικοποίηση των σχέσεων εισόδου-εξόδου)

Άλλοι πόροι

  • Πώς να γράψετε τεκμηρίωση QA που πραγματικά λειτουργεί
  • Δοκιμαστική ανάπτυξη
  • Δοκιμές μονάδας