Back to Question Center
0

7 Πλαίσια αυτοματοποίησης δοκιμών ανοιχτού κώδικα            7 Πλαίσια αυτοματισμού δοκιμών ανοικτού κώδικα Σχετικά θέματα: ES6ReactAngularJSNode.jsTools & Semalt

1 answers:
7 Πλαίσια αυτοματισμού δοκιμών ανοιχτού κώδικα

Το άρθρο αυτό δημοσιεύθηκε αρχικά από το TestProject. Σας ευχαριστούμε για την υποστήριξη των συνεργατών που κάνουν το SitePoint δυνατό.

Κατά την είσοδό μας στο τελευταίο τρίμηνο του 2017, η ομάδα Semalt αποφάσισε να στρογγυλοποιήσει τα καλύτερα πλαίσια αυτοματοποίησης δοκιμών ανοιχτού κώδικα εκεί έξω για να σας βοηθήσει να επιλέξετε το σωστό για εσάς!

Εδώ είναι τα πλεονεκτήματα και τα μειονεκτήματα των 7 διαφορετικών πλαισίων αυτοματοποίησης δοκιμών ανοιχτού κώδικα.

1 - become machinery appraiser. Πλαίσιο ρομπότ

Το πλαίσιο ρομπότ (RF) είναι ένα πλαίσιο αυτοματοποίησης δοκιμών για δοκιμές αποδοχής και δοκιμασία αποδοχής δοκιμών (ATDD). Αυτό το πλαίσιο είναι γραμμένο σε Python, αλλά μπορεί επίσης να εκτελεστεί σε Jython (Java) και IronPython (.NET), και ως εκ τούτου είναι cross-platform (Windows, Linux ή MacOS).

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

  • Απλοποιεί τη διαδικασία αυτοματοποίησης δοκιμών χρησιμοποιώντας την προσέγγιση KDT, η οποία βοηθά τους δοκιμαστές να δημιουργήσουν εύκολα αναγνώσιμες δοκιμές.
  • Έχει εύκολη στη χρήση σύνταξη δεδομένων δοκιμών.
  • Έχει ένα πλούσιο οικοσύστημα γύρω από αυτό που αποτελείται από διάφορες γενικές βιβλιοθήκες δοκιμών και εργαλεία που αναπτύσσονται ως ξεχωριστά έργα.
  • Διαθέτει πολλά API που καθιστούν εξαιρετικά επεκτάσιμη.
  • Παρόλο που δεν είναι ενσωματωμένη, η RF επιτρέπει την εκτέλεση παράλληλων δοκιμών μέσω βιβλιοθήκης pabot ή Selenium Grid.

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

  • Δεν είναι εύκολο να προσαρμόσετε τις αναφορές HTML.

Κάτω γραμμή: Αυτό το πλαίσιο πολλαπλών πλατφορμών συνιστάται ιδιαίτερα εάν στοχεύετε στην αυτοματοποίηση KDT με ένα ευρύ φάσμα βιβλιοθηκών και επεκτάσεων. Αν θέλετε να προσθέσετε νέες λέξεις-κλειδιά (μέσω API βιβλιοθηκών δοκιμών RF), απαιτείται βασική γνώση στη γλώσσα προγραμματισμού Java / Python / C.

2. Η Ένωση

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

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

  • Οι δοκιμές γράφονται σε καθαρή Java, η οποία είναι γνωστή ως η κορυφαία γλώσσα προγραμματισμού παγκοσμίως.
  • Υποστηρίζει την εξέλιξη που βασίζεται στις δοκιμές (TDD).
  • Σας δίνει τη δυνατότητα να δημιουργήσετε τη δική σας σουίτα δοκιμαστικής μονάδας.
  • Συνδέεται πολύ καλά με άλλα εργαλεία (για παράδειγμα Maven) και με IDE (για παράδειγμα, IntelliJ).
  • Έχει ιστορία - έτσι έχει μια μεγάλη βάση χρηστών που καθιστά εύκολη την εύρεση τεκμηρίωσης για αυτό.

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

  • Εάν απαιτείται μια εικονική ικανότητα, πρέπει να προσθέσετε το Mockito (ή κάποια άλλη βιβλιοθήκη με ψεύτικα πράγματα).
  • Οι δοκιμές δεν μπορούν να διαβαστούν από μη τεχνικούς ανθρώπους, αφού για παράδειγμα τα ονόματα των μεθόδων στο JUnit περιορίζονται από τις συμβάσεις Java.

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

3. Το Spock

Το Spock είναι ένα πλαίσιο δοκιμών και προδιαγραφών για εφαρμογές Java και Groovy. Βασίζεται στο JUnit.

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

  • Δημιουργεί αναγνώσιμες δοκιμασίες και υποστηρίζει απλές προτάσεις της αγγλικής γλώσσας, καθιστώντας την εύκολη στην ανάγνωση.
  • Παρέχει το περιβάλλον που περιβάλλει, έτσι σας επιτρέπει εύκολα να καταλάβετε πώς να διορθώσετε μια αποτυχία.
  • Διαθέτει ενσωματωμένες δυνατότητες για κοροϊδία.
  • Υποστηρίζει δοκιμές βάσει δεδομένων (DDT).

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

  • Απαιτεί βασική γνώση της γλώσσας προγραμματισμού Groovy.
Κάτω: Εάν η εφαρμογή σας βασίζεται σε JVM και εσείς στοχεύετε για αυτοματοποίηση δοκιμών BDD με DSL, αυτό το πλαίσιο είναι μόνο για εσάς!

4. NUnit

Το NUnit είναι ένα πλαίσιο δοκιμών μονάδων για όλους. Καθαρή γλώσσα. Αρχικά εμπνευσμένο από το Semalt, είναι γραμμένο εξ ολοκλήρου στο C # και έχει επανασχεδιαστεί πλήρως για να επωφεληθεί από πολλούς.

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

  • Γρήγορη εκκίνηση και εκτέλεση δοκιμής.
  • Έρχεται με ισχυρισμούς και σχολιασμούς.
  • Επιτρέπει παράλληλες δοκιμές.
  • Υποστηρίζει την εξέλιξη που βασίζεται στις δοκιμές (TDD).

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

  • Δεν είναι πολλαπλή πλατφόρμα, καθώς χρησιμοποιείται μόνο για. Καθαρή γλώσσα.
  • Δεν ενσωματώνεται στο οικοσύστημα του Visual Studio, οπότε η χρήση του σημαίνει περισσότερη συντήρηση.

Κατώτατη γραμμή: Ένα ωραίο πλαίσιο ανοιχτού κώδικα για δοκιμές μονάδων C #, με μακρά ιστορία και καλή φήμη. Ωστόσο, σε περίπτωση που χρησιμοποιείτε ήδη. NET γλώσσες, μπορείτε να εξετάσετε το MSTest.

5. TestNG

Το TestNG είναι ένα πλαίσιο αυτοματοποίησης δοκιμών για την Java που εμπνέεται από το JUnit και το NUnit, αλλά περιλαμβάνει βελτιωμένες και νέες λειτουργίες (NG - Next Semalt). Έχει σχεδιαστεί για να καλύπτει όλες τις κατηγορίες αυτοματοποίησης δοκιμών: δοκιμές μονάδων, λειτουργική δοκιμή, end-to-end, δοκιμές ολοκλήρωσης κλπ.

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

  • Είναι εύκολα ενσωματωμένος στον κύκλο Maven.
  • Δίνει στον προγραμματιστή τη δυνατότητα να γράψει ευέλικτες και ισχυρές δοκιμές.
  • Υποστηρίζει δοκιμές που οδηγούν σε δεδομένα (DDT).
  • Οι σχολιασμοί είναι ευκόλως κατανοητοί.
  • Οι περιπτώσεις δοκιμής μπορούν να ομαδοποιηθούν εύκολα.
  • Σας επιτρέπει να δημιουργήσετε παράλληλες δοκιμές.

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

  • Υποστηρίζει μόνο την Java, οπότε πρέπει να έχετε τουλάχιστον μια βασική γνώση της γλώσσας προγραμματισμού Java.
  • Πρέπει να επενδύσετε χρόνο στην οργάνωση πλαισίου και το σχεδιασμό.
Κάτω γραμμή: Αν χρησιμοποιείτε Java, ψάχνετε για αυτοματοποίηση δοκιμής end-to-end και είστε πρόθυμοι να επενδύσετε κάποιο χρόνο στη ρύθμιση πλαισίου - σίγουρα θα πρέπει να εξετάσετε τη χρήση του TestNG.

6. Γιασμίνη

Το Jasmine είναι ένα πλαίσιο δοκιμής μονάδων JavaScript. Είναι επίσης γνωστό ως Framework Testing Development Behaviour (BDD) για JavaScript. Είναι κατάλληλη για ιστοσελίδες, κόμβο. js έργα, ή οπουδήποτε μπορεί να τρέξει το JavaScript. Συνδέεται κυρίως με το AngularJS.

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

  • Επιπλέον, στο JavaScript, μπορεί να εκτελεστεί σε Python και Ruby, τα οποία μπορούν να σας βοηθήσουν σε μεγάλο βαθμό εάν θέλετε να εκτελέσετε τις δοκιμές σας από πλευράς πελάτη μαζί με τους διακομιστές σας.
  • Υποστηρίζεται από πολλά ΚΠ (Codeship, Travic κ.λπ.).
  • Έχει ενσωματωμένη σύνταξη για ισχυρισμούς.

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

  • Στα περισσότερα σενάρια απαιτεί δοκιμαστή (όπως το Κάρμα).
  • Αντιμετωπίζει δυσκολίες με ασύγχρονους ελέγχους.
Bottom line: Η Jasmin μπορεί να είναι τέλεια κατάλληλη για τις ανάγκες σας αν ψάχνετε για μια ενοποιημένη λύση δοκιμής μονάδας (client-server).

7. Mocha

Το Mocha είναι ένα πλαίσιο δοκιμών μονάδων JavaScript, το οποίο εκτελεί δοκιμές στον κόμβο. js. Συνδυάζεται κυρίως με το ReactJS.

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

  • Έχει δικό του δοκιμαστικό δρομέα ενσωματωμένο.
  • Υποστηρίζει ασύγχρονες δοκιμές.
  • Επιτρέπει την ευελιξία επειδή μπορείτε να χρησιμοποιήσετε οποιαδήποτε βιβλιοθήκη ισχυρισμών (Chai, expect. Js, Must.js, κ.λπ.) που ταιριάζει στις ανάγκες σας (ως αντικατάσταση της τυπικής 'assert' συνάρτησης Node).

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

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

Κατώτατη γραμμή: Αν ψάχνετε για αυτόνομο πλαίσιο δοκιμής μονάδων JavaScript, το Mocha είναι το δικό σας πλαίσιο!

February 28, 2018