Τι είναι ένα Test Script; Πώς να γράψετε με παράδειγμα

⚡ Έξυπνη Σύνοψη

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

  • 📝 Βασικός Ορισμός: Ένα σενάριο δηλώνει κάθε συναλλαγή που πρέπει να εκτελεστεί, την ακριβή είσοδο που πρέπει να εισαχθεί και το αναμενόμενο αποτέλεσμα κάθε βήματος.
  • Τρεις μέθοδοι κατασκευής: Εγγραφή και αναπαραγωγή, δημιουργία σεναρίων με βάση λέξεις-κλειδιά ή δεδομένα και απευθείας σύνταξη κώδικα σε γλώσσα προγραμματισμού.
  • 🧱 Γλωσσική Ελευθερία: Η γλώσσα σεναρίου δεν χρειάζεται να ταιριάζει με τη γλώσσα της εφαρμογής, επομένως Java το προϊόν μπορεί να δοκιμαστεί με JavaΣενάριο ή Python.
  • 📋 Πειθαρχία προτύπου: Ένα τυπικό πρότυπο διορθώνει τα πεδία αναγνωριστικού, προαπαιτούμενων, δεδομένων δοκιμής, βημάτων, αναμενόμενου αποτελέσματος και κατάστασης.
  • Σενάριο έναντι περίπτωσης: Μια δοκιμαστική περίπτωση είναι μια χειροκίνητη διαδικασία βήμα προς βήμα, ενώ ένα σενάριο δοκιμής εκτελείται αυτόματα από ένα εργαλείο.
  • Κανόνες Ποιότητας: Διατηρήστε κάθε σενάριο σαφές, περιορίστε κάθε βήμα σε μία ενέργεια και σχεδιάστε τις διαδρομές από την οπτική γωνία του πραγματικού χρήστη.

Τι είναι το Test Script

Τι είναι ένα δοκιμαστικό σενάριο στη δοκιμή λογισμικού;

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

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

Πώς να γράψετε ένα δοκιμαστικό σενάριο

Δοκιμαστικό σενάριο
Δοκιμαστικό σενάριο

Υπάρχουν τρεις διαφορετικοί τρόποι για να δημιουργήσετε ένα δοκιμαστικό σενάριο:

Εγγραφή και αναπαραγωγή

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

Αυτή η μέθοδος είναι ευκολότερη από το να γράψετε ένα πλήρες σενάριο δοκιμής από την αρχή, επειδή έχετε ήδη τον πλήρη κώδικα. Χρησιμοποιείται κυρίως σε μια απλοποιημένη γλώσσα προγραμματισμού όπως η VBScript.

Σενάρια βασισμένα σε λέξεις-κλειδιά ή δεδομένα

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

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

Συγγραφή κώδικα σε γλώσσα προγραμματισμού

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

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

Ωστόσο, αυτό δεν σημαίνει ότι πρέπει να γράψετε τα σενάρια δοκιμής σας Java, που μπορεί να είναι δύσκολο να μαθευτεί. Αντίθετα, μπορείτε να γράψετε τα σενάρια δοκιμής σας σε μια πιο εύκολη γλώσσα όπως JavaΓραφή ή Ruby (ή οποιαδήποτε ευκολότερη γλώσσα που θέλετε να χρησιμοποιήσετε).

Παράδειγμα δοκιμαστικού σεναρίου

Για παράδειγμα, για να ελέγξετε τη λειτουργία σύνδεσης σε έναν ιστότοπο, το σενάριο δοκιμής σας μπορεί να κάνει τα εξής:

  • Καθορίστε πώς το εργαλείο αυτοματισμού μπορεί να εντοπίσει τα πεδία «Όνομα χρήστη» και «Κωδικός πρόσβασης» στην οθόνη σύνδεσης. Ας πούμε, από τα αναγνωριστικά στοιχείων CSS.
  • Φορτώστε την αρχική σελίδα του ιστότοπου και, στη συνέχεια, κάντε κλικ στον σύνδεσμο «σύνδεση». Βεβαιωθείτε ότι η οθόνη σύνδεσης που εμφανίζεται και τα πεδία «Όνομα χρήστη» και «Κωδικός πρόσβασης» είναι ορατά.
  • Πληκτρολογήστε το όνομα χρήστη "Charles" και τον κωδικό πρόσβασης "123456" και, στη συνέχεια, εντοπίστε το κουμπί "Επιβεβαίωση" και κάντε κλικ σε αυτό.
  • Πρέπει να καθορίσουν πώς ένας χρήστης μπορεί να εντοπίσει τον τίτλο της οθόνης καλωσορίσματος που εμφανίζεται μετά τη σύνδεση, ας πούμε, από το αναγνωριστικό του στοιχείου CSS.
  • Βεβαιωθείτε ότι ο τίτλος της οθόνης καλωσορίσματος είναι ορατός.
  • Διαβάστε τον τίτλο της οθόνης καλωσορίσματος.
  • Βεβαιώστε ότι το κείμενο του τίτλου ισούται με «Καλώς ήρθες Τσαρλς».
  • Εάν ο τίτλος ανταποκρίνεται στις προσδοκίες, καταγράψτε το τεστ ως επιτυχές. Διαφορετικά, καταγράψτε το ως αποτυχημένο.

Δείγμα σεναρίου δοκιμής σε Selenium μαζί σου, Java

Η παραπάνω λίστα με κουκκίδες περιγράφει ένα τεστ σύνδεσης σε απλά αγγλικά. Ακολουθεί το ίδιο τεστ γραμμένο ως εκτελέσιμο σενάριο, χρησιμοποιώντας Selenium Πρόγραμμα οδήγησης ιστού και JUnitΚάθε κουκκίδα αντιστοιχεί σε μία ή δύο γραμμές κώδικα.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Assert;
import org.junit.Test;

public class LoginTestScript {

    @Test
    public void validLoginShowsWelcomeMessage() {
        // Step 1: start the browser and open the site
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/login.html");

        // Step 2: locate the fields by their element ids
        driver.findElement(By.id("email")).sendKeys("Charles");
        driver.findElement(By.id("passwd")).sendKeys("123456");

        // Step 3: submit the form
        driver.findElement(By.id("SubmitLogin")).click();

        // Step 4: read the welcome title and assert the expected result
        String actual = driver.findElement(By.id("welcome")).getText();
        Assert.assertEquals("Welcome Charles", actual);

        driver.quit();
    }
}

Τρεις λεπτομέρειες διαχωρίζουν ένα πραγματικό σενάριο από ένα ηχογραφημένο:

  • Οι εντοπιστές είναι σαφείς. Τα στοιχεία εντοπίζονται με βάση το αναγνωριστικό και όχι τη θέση στην οθόνη, επομένως το σενάριο επιβιώνει από μια αλλαγή διάταξης.
  • Ο ισχυρισμός είναι η δοκιμή. Χωρίς το assertEquals, το σενάριο απλώς κάνει κλικ. Η διεκδίκηση είναι αυτή που αποφασίζει αν θα περάσει ή θα αποτύχει.
  • Ο καθαρισμός τρέχει πάντα. Η συνάρτηση driver.quit() απελευθερώνει το πρόγραμμα περιήγησης, διαφορετικά μια αποτυχημένη εκτέλεση αφήνει πίσω τις διεργασίες.

Η ίδια δομή ισχύει σε οποιαδήποτε γλώσσα. Python μαζί σου, Selenium Οι κλήσεις γίνονται driver.find_element(By.ID, “email”) και δηλώνουν την πραγματική τιμή == “Welcome Charles”.

Συμβουλές για τη δημιουργία ενός δοκιμαστικού σεναρίου

Ακολουθούν ορισμένες σημαντικές συμβουλές για τη δημιουργία ενός δοκιμαστικού σεναρίου:

Κρατήστε το καθαρό

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

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

Φροντίστε να είναι απλή

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

Σκέψου το καλά

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

Πότε να χρησιμοποιήσετε την προσέγγιση Test Script;

Εδώ είναι οι λόγοι για τη χρήση του Test Script.

  • Ένα σενάριο δοκιμής είναι ο πιο αξιόπιστος τρόπος για να επιβεβαιώσετε ότι δεν παραλείπεται κανένα βήμα και ότι τα αποτελέσματα ταιριάζουν με το συμφωνημένο σχέδιο δοκιμής.
  • Ένα προετοιμασμένο σενάριο αφήνει πολύ λιγότερο περιθώριο για σφάλματα κατά την εκτέλεση.
  • Όταν οι δοκιμαστές εξερευνούν ελεύθερα ένα προϊόν, μπορούν εύκολα να παραβλέψουν ορισμένες λειτουργίες.
  • Ένας δοκιμαστής μπορεί επίσης να υποθέσει ότι μια συνάρτηση παρήγαγε το αναμενόμενο αποτέλεσμα, ενώ δεν το έκανε.
  • Είναι ιδιαίτερα χρήσιμο όταν η απόδοση του χρήστη είναι σημαντική και συγκεκριμένη.

Τι είναι ένα πρότυπο σεναρίου δοκιμής;

Ένα πρότυπο σεναρίου δοκιμών είναι ένα επαναχρησιμοποιήσιμο, προ-μορφοποιημένο έγγραφο που περιέχει τα πεδία που πρέπει να συμπληρώσει κάθε σενάριο στο έργο σας. Η τυποποίησή του αποφασίζει πόσο λεπτομερείς είναι οι δοκιμές σας και εγγυάται ότι κανένας κριτής δεν χρειάζεται να μαντέψει τι σημαίνει ένα βήμα.

Ένα λειτουργικό πρότυπο περιέχει τα εξής πεδία:

Πεδίο Σκοπός
Αναγνωριστικό σεναρίου Μοναδικός αναγνωριστικός κωδικός που χρησιμοποιείται για tracδυνατότητα και σύνδεση ελαττωμάτων
Τίτλος Μία γραμμή που δηλώνει τι επικυρώνει το σενάριο
Ενότητα ή χαρακτηριστικό Η περιοχή της υπό δοκιμή εφαρμογής
Προϋποθέσεις Δηλώστε ότι το σύστημα πρέπει να είναι ενεργοποιημένο πριν εκτελεστεί το πρώτο βήμα
Στοιχεία δοκιμής Ακριβείς εισαγωγές, συμπεριλαμβανομένων των διαπιστευτηρίων και των οριακών τιμών
Βήματα Αριθμημένες ενέργειες, μία ενέργεια ανά βήμα
Αναμενόμενο Αποτέλεσμα Το παρατηρήσιμο αποτέλεσμα κάθε βήματος
Πραγματικό αποτέλεσμα Συμπληρώνεται κατά την εκτέλεση
Κατάσταση Επιτυχία, αποτυχία, αποκλεισμός ή μη εκτέλεση
Συγγραφέας και ημερομηνία Ιδιοκτησία και ιστορικό εκδόσεων

Διαφορά μεταξύ δοκιμαστικής υπόθεσης και σεναρίου δοκιμής

Ακολουθούν οι κύριες διαφορές μεταξύ μιας δοκιμαστικής περίπτωσης και ενός σεναρίου δοκιμής:

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

Πλεονεκτήματα και μειονεκτήματα των σεναρίων δοκιμών

Η δημιουργία σεναρίων είναι μια επένδυση. Γνωρίζοντας πού αποδίδει, σας λέει ποιες δοκιμές πρέπει να αυτοματοποιήσετε πρώτα.

Πλεονεκτήματα

  • Επαναληπτός: Τα ίδια βήματα εκτελούνται με τον ίδιο τρόπο σε κάθε έκδοση, γεγονός που καθιστά τις δοκιμές παλινδρόμησης πρακτικές.
  • Γρήγορο σε κλίμακα: Μια σουίτα που δέχεται έναν δοκιμαστή την ημέρα μπορεί να εκτελεστεί σε λίγα λεπτά και μπορεί να εκτελεστεί όλη τη νύχτα.
  • Σταθερός: Το σενάριο δεν βαριέται ποτέ, δεν παραλείπει κανένα βήμα ή δεν ερμηνεύει σωστά ένα αποτέλεσμα.
  • Διασταυρούμενη πλατφόρμα: Ένα σενάριο μπορεί να αναπαραχθεί σε όλα τα προγράμματα περιήγησης, τις συσκευές και τα λειτουργικά συστήματα.
  • CI έτοιμο: Τα σενάρια συνδέονται σε μια διοχέτευση δημιουργίας, έτσι ώστε κάθε υποβολή να επαληθεύεται αυτόματα.

Μειονεκτήματα

  • Υψηλό κόστος εγκατάστασης: Η σύνταξη και η διόρθωση σφαλμάτων ενός σεναρίου διαρκεί πολύ περισσότερο χρόνο από την εκτέλεση της δοκιμής μία φορά χειροκίνητα.
  • Επιβάρυνση συντήρησης: Ένα αλλαγμένο αναγνωριστικό στοιχείου ή μια επανασχεδιασμένη σελίδα προκαλεί σφάλματα σεναρίων που πρέπει στη συνέχεια να επιδιορθωθούν.
  • Απαιτούμενη δεξιότητα: Πέρα από την ηχογράφηση και την αναπαραγωγή, η ομάδα χρειάζεται ικανότητα προγραμματισμού.
  • Τυφλός στο απροσδόκητο: Ένα σενάριο ελέγχει μόνο αυτό που του ζητήθηκε να ελέγξει, επομένως τα οπτικά ελαττώματα και τα ελαττώματα χρηστικότητας παραβλέπονται.
  • Ψευδής εμπιστοσύνη: Μια πράσινη σουίτα ρηχών σεναρίων μπορεί να κρύψει πραγματικά κενά στην κάλυψη.

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

Σενάριο δοκιμής: Βασικά σημεία

  • Δοκιμές εντολών σημαίνει μια περιγραφή γραμμή προς γραμμή που περιέχει τις πληροφορίες σχετικά με τις συναλλαγές συστήματος που πρέπει να εκτελούνται για την επικύρωση της εφαρμογής ή του συστήματος που ελέγχεται.
  • Η δοκιμαστική περίπτωση είναι μια διαδικασία βήμα προς βήμα που χρησιμοποιείται για τη δοκιμή μιας εφαρμογής, ενώ το δοκιμαστικό σενάριο είναι ένα σύνολο οδηγιών για τον αυτόματο έλεγχο μιας εφαρμογής.
  • Τρεις τρόποι δημιουργίας δοκιμαστικού σεναρίου είναι 1) Εγγραφή/αναπαραγωγή 2) Σενάριο βασισμένο σε λέξεις-κλειδιά/δεδομένα, 3) Συγγραφή Code Χρήση της Γλώσσας Προγραμματισμού.
  • Το σενάριο δοκιμής σας θα πρέπει να είναι σαφές και θα πρέπει να δημιουργήσετε ένα δοκιμαστικό σενάριο που θα πρέπει να περιέχει μόνο μία συγκεκριμένη ενέργεια που πρέπει να κάνουν οι υπεύθυνοι δοκιμών.
  • Ένα σενάριο δοκιμής είναι ο πιο αξιόπιστος τρόπος για να επιβεβαιώσετε ότι δεν παραλείπεται κανένα βήμα και ότι τα αποτελέσματα ταιριάζουν με το συμφωνημένο σχέδιο δοκιμής.
  • Το Πρότυπο Test Script είναι ένα επαναχρησιμοποιήσιμο μορφοποιημένο έγγραφο που περιέχει προεπιλεγμένες πληροφορίες σημαντικές για τη δημιουργία ενός χρησιμοποιήσιμου σεναρίου δοκιμής.

Συχνές Ερωτήσεις

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

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

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

Ναι. Τα εργαλεία τεχνητής νοημοσύνης μπορούν να μετατρέψουν γραπτές δοκιμαστικές περιπτώσεις σε εκτελέσιμα σενάρια και να προτείνουν αυτοεπιδιορθούμενους εντοπιστές όταν αλλάζει ένα στοιχείο. RevΕλέγξτε κάθε παραγόμενο ισχυρισμό, επειδή ένα σενάριο που δεν αποτυγχάνει ποτέ δεν δοκιμάζει τίποτα.

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

Συνοψίστε αυτήν την ανάρτηση με: