Η διαφορά δοκιμής καπνού και υγιεινής είναι το πιο παρεξηγημένο θέμα στη Δοκιμή λογισμικού. Υπάρχει μια τεράστια βιβλιογραφία για το θέμα, αλλά τα περισσότερα από αυτά προκαλούν σύγχυση. Το παρακάτω άρθρο επιχειρεί να αντιμετωπίσει τη σύγχυση.
Οι βασικές διαφορές μεταξύ της δοκιμής καπνού και της δοκιμής Sanity μπορούν να μάθουν με τη βοήθεια του ακόλουθου διαγράμματος -
Δοκιμή καπνού έναντι δοκιμής υγείας
Για να εκτιμήσετε το παραπάνω διάγραμμα ας κατανοήσουμε πρώτα -
Τι είναι η κατασκευή λογισμικού;
Εάν αναπτύσσετε ένα απλό πρόγραμμα υπολογιστή που αποτελείται από ένα μόνο αρχείο πηγαίου κώδικα, απλώς πρέπει να μεταγλωττίσετε και να συνδέσετε αυτό το ένα αρχείο, για να δημιουργήσετε ένα εκτελέσιμο αρχείο. Αυτή η διαδικασία είναι πολύ απλή.
Συνήθως, αυτό δεν συμβαίνει. Ένα τυπικό πρόγραμμα λογισμικού αποτελείται από εκατοντάδες ή και χιλιάδες αρχεία πηγαίου κώδικα. Η δημιουργία ενός εκτελέσιμου προγράμματος από αυτά τα αρχεία προέλευσης είναι μια περίπλοκη και χρονοβόρα εργασία.
Πρέπει να χρησιμοποιήσετε λογισμικό "build" για να δημιουργήσετε ένα εκτελέσιμο πρόγραμμα και η διαδικασία ονομάζεται "Software Build"
Δοκιμή καπνού
Το Smoke Testing είναι μια τεχνική δοκιμής λογισμικού που εκτελέστηκε μετά την κατασκευή λογισμικού για να επαληθεύσει ότι οι κρίσιμες λειτουργίες του λογισμικού λειτουργούν καλά. Εκτελείται πριν από την εκτέλεση λεπτομερών δοκιμών λειτουργίας ή παλινδρόμησης. Ο κύριος σκοπός της δοκιμής καπνού είναι η απόρριψη μιας εφαρμογής λογισμικού με ελαττώματα, έτσι ώστε η ομάδα QA να μην σπαταλά χρόνο να δοκιμάζει κατεστραμμένη εφαρμογή λογισμικού.
Στη δοκιμή καπνού, οι δοκιμαστικές περιπτώσεις επέλεξαν να καλύψουν την πιο σημαντική λειτουργικότητα ή στοιχείο του συστήματος. Ο στόχος δεν είναι η διενέργεια διεξοδικών δοκιμών, αλλά η επαλήθευση ότι οι κρίσιμες λειτουργίες του συστήματος λειτουργούν καλά.
Για παράδειγμα, μια τυπική δοκιμή καπνού θα ήταν - Βεβαιωθείτε ότι η εφαρμογή ξεκινά με επιτυχία, Ελέγξτε ότι το GUI ανταποκρίνεται… κ.λπ.
ΒΑΣΙΚΗ ΔΙΑΦΟΡΑ
- Το Smoke Testing έχει στόχο να επαληθεύσει τη «σταθερότητα» ενώ το Sanity Testing έχει ως στόχο να επαληθεύσει τον «ορθολογισμό».
- Η δοκιμή καπνού γίνεται τόσο από προγραμματιστές όσο και από υπεύθυνους δοκιμών, ενώ η δοκιμή Sanity γίνεται από δοκιμαστές.
- Το Smoke Testing επιβεβαιώνει τις κρίσιμες λειτουργίες του συστήματος, ενώ το Sanity Testing επαληθεύει τη νέα λειτουργικότητα, όπως διορθώσεις σφαλμάτων.
- Η δοκιμή καπνού είναι ένα υποσύνολο των δοκιμών αποδοχής, ενώ η δοκιμή Sanity είναι ένα υποσύνολο του Regression Testing
- Η δοκιμή καπνού είναι τεκμηριωμένη ή σεναριογραφημένη, ενώ η δοκιμή Sanity δεν είναι.
- Η δοκιμή καπνού επαληθεύει ολόκληρο το σύστημα από άκρο σε άκρο, ενώ το Sanity Testing επαληθεύει μόνο ένα συγκεκριμένο στοιχείο.
Τι είναι το Sanity Testing;
Η δοκιμή Sanity είναι ένα είδος Δοκιμή λογισμικού που πραγματοποιείται μετά τη λήψη ενός λογισμικού, με μικρές αλλαγές στον κώδικα ή τη λειτουργικότητα, για να βεβαιωθεί ότι τα σφάλματα έχουν διορθωθεί και δεν εισάγονται περαιτέρω ζητήματα λόγω αυτών των αλλαγών. Ο στόχος είναι να καθοριστεί ότι η προτεινόμενη λειτουργικότητα λειτουργεί περίπου όπως αναμενόταν. Εάν αποτύχει η δοκιμή λογικής, η έκδοση απορρίπτεται για εξοικονόμηση χρόνου και κόστους που συνεπάγεται μια πιο αυστηρή δοκιμή.
Ο στόχος είναι "όχι" να επαληθευτεί διεξοδικά η νέα λειτουργικότητα αλλά να προσδιοριστεί ότι ο προγραμματιστής έχει εφαρμόσει κάποια λογική (λογική) κατά την παραγωγή του λογισμικού. Για παράδειγμα, εάν ο επιστημονικός υπολογιστής σας δίνει το αποτέλεσμα 2 + 2 = 5! Τότε, δεν έχει νόημα να δοκιμάσουμε τις προηγμένες λειτουργίες όπως το sin 30 + cos 50.
Δοκιμή καπνού Vs Sanity Testing - Βασικές διαφορές
Ακολουθεί η διαφορά μεταξύ δοκιμών Sanity και Smoke:
Δοκιμή καπνού | Δοκιμή υγιεινής |
---|---|
Ο έλεγχος καπνού πραγματοποιείται για να εξακριβωθεί ότι οι κρίσιμες λειτουργίες του προγράμματος λειτουργούν καλά | Η δοκιμή Sanity γίνεται για να ελεγχθεί η νέα λειτουργικότητα / σφάλματα που έχουν διορθωθεί |
Ο στόχος αυτής της δοκιμής είναι να επαληθεύσει τη «σταθερότητα» του συστήματος προκειμένου να προχωρήσει σε πιο αυστηρές δοκιμές | Ο στόχος της δοκιμής είναι να επαληθεύσει τον «ορθολογισμό» του συστήματος προκειμένου να προχωρήσει σε πιο αυστηρές δοκιμές |
Αυτός ο έλεγχος πραγματοποιείται από τους προγραμματιστές ή τους υπεύθυνους δοκιμών | Ο έλεγχος λογικής στις δοκιμές λογισμικού πραγματοποιείται συνήθως από δοκιμαστές |
Ο έλεγχος καπνού είναι συνήθως τεκμηριωμένος ή σενάριο | Ο έλεγχος υγιεινής συνήθως δεν τεκμηριώνεται και δεν είναι εγγεγραμμένος |
Η δοκιμή καπνού είναι ένα υποσύνολο των δοκιμών αποδοχής | Το Sanity testing είναι ένα υποσύνολο του Regression Testing |
Η δοκιμή καπνού ασκεί ολόκληρο το σύστημα από άκρο σε άκρο | Ο έλεγχος υγιεινής ασκεί μόνο το συγκεκριμένο συστατικό ολόκληρου του συστήματος |
Ο έλεγχος καπνού είναι σαν τον Γενικό Έλεγχο Υγείας | Το Sanity Testing είναι σαν εξειδικευμένος έλεγχος υγείας |
Σημεία που πρέπει να σημειώσετε.
- Τόσο η δοκιμή Sanity όσο και η δοκιμή καπνού είναι τρόποι για να αποφευχθεί η σπατάλη χρόνου και προσπάθειας προσδιορίζοντας γρήγορα εάν μια εφαρμογή είναι πολύ ελαττωματική για να αξίζει τυχόν αυστηρές δοκιμές.
- Η δοκιμή καπνού ονομάζεται επίσης δοκιμή αποδοχής δοκιμαστών.
- Η δοκιμή καπνού που εκτελείται σε μια συγκεκριμένη έκδοση είναι επίσης γνωστή ως δοκιμή επαλήθευσης έκδοσης .
- Μία από τις βέλτιστες πρακτικές του κλάδου είναι η διεξαγωγή καθημερινού τεστ και καπνού σε έργα λογισμικού.
- Τόσο οι δοκιμές καπνού όσο και η υγιεινή μπορούν να εκτελεστούν χειροκίνητα ή χρησιμοποιώντας ένα εργαλείο αυτοματισμού . Όταν χρησιμοποιούνται αυτοματοποιημένα εργαλεία, οι δοκιμές ξεκινούν συχνά με την ίδια διαδικασία που δημιουργεί το ίδιο το build.
- Σύμφωνα με τις ανάγκες των δοκιμών, ίσως χρειαστεί να εκτελέσετε δοκιμές Sanity και Smoke Tests στη δημιουργία λογισμικού. Σε τέτοιες περιπτώσεις, θα εκτελέσετε πρώτα τις δοκιμές καπνού και μετά θα προχωρήσετε με το Sanity Testing. Στη βιομηχανία, οι περιπτώσεις δοκιμών για το Sanity Testing συνδυάζονται συνήθως με εκείνες για τις δοκιμές καπνού, για να επιταχυνθεί η εκτέλεση των δοκιμών. Ως εκ τούτου, είναι κοινό ότι οι όροι συχνά συγχέονται και χρησιμοποιούνται εναλλακτικά
Κάντε κλικ εδώ εάν το βίντεο δεν είναι προσβάσιμο
Διαβάστε περισσότερα για το Smoke Testing στη μηχανική λογισμικού