Direkt zum Inhalt
Bild
blog%20banner%20drupal%20behat%20opensense.png

Die Stärke von Behat für automatisierte Tests in Drupal

AI-Translated
article publisher

Shankar

Artikel

Stellen Sie sich vor, Sie nehmen an einem sozialen Experiment teil (ohne es zu wissen). Sie gehen die Straße entlang und finden Bargeld auf dem Bürgersteig. Sie werden von verschiedenen Gedanken überflutet, ob Sie es beiläufig aufheben und in Ihre Tasche stecken, einfach weggehen, als hätten Sie nichts gesehen, oder es nehmen und jemandem in Not geben sollen. Angenommen, Sie haben die zweite Option gewählt, dann stellen Sie fest, dass es sich um ein soziales Experiment handelte, als einige Leute auf Sie zukommen und Ihren Charakter loben.

Illustration eines menschlichen Gehirns mit Augen rechts und mehreren kleinen weißen Kästchen mit kleinen Symbolen, die Haus, Auto, Tasse, Schüssel, Emoticon, Tortendiagramm darstellen, links


Manchmal bietet Ihnen das Leben solche Gelegenheiten, ohne Ihnen überhaupt eine Art Aufforderung zu geben, bei der Ihr Verhalten automatisch getestet wird. Apropos automatischer Test: Es gibt eine andere Art von automatisiertem Test in der digitalen Welt, der aber von großer Bedeutung ist. Das Hinzufügen von Testabdeckung zu Ihrer Website und Anwendung kann sehr fruchtbar sein. So können Sie beispielsweise sicherstellen, dass die Anforderungen erfüllt werden und Regressionen vermieden werden. Einer der vielen Ansätze für das Testen ist die verhaltensgesteuerte Entwicklung (BDD). Als eines der führenden Open-Source-Content-Management-Systeme ermöglicht Drupal Ihnen, automatisierte Tests durch Tools wie Behat in Ihre Website zu integrieren.

Eintauchen in automatisierte Tests

Automatisiertes Testen ist ein Prozess, der vordefinierte Tests beinhaltet, die automatisch ausgeführt werden. Ihre Funktion besteht darin, tatsächliche Ergebnisse mit erwarteten Ergebnissen zu vergleichen, um festzustellen, ob die Anwendung wie erwartet funktioniert. Es kann bei der Ausführung iterativer Aufgaben und Regressionstests helfen, um zu überprüfen, ob eine Anwendung nach den neu implementierten Änderungen korrekt funktioniert.

Automatisiertes Testen ist ein Prozess, der vordefinierte Tests beinhaltet, die automatisch ausgeführt werden.

Im Gegensatz dazu beinhaltet manuelles Testen Qualitätssicherungsspezialisten, die überprüfen müssen, ob die Anwendungen ordnungsgemäß funktionieren, indem sie die in Testfällen geschriebenen Bedingungen befolgen. Trotz seiner primitiven Natur ist es immer noch sehr wichtig in Fällen wie Wearables und mobile Geräte, die möglicherweise Feldtests in einer physischen Umgebung benötigen.

Infografiken mit verschiedenen Symbolen in mehreren gelb gefärbten Kreisen, wobei jedes Symbol Uhr, Spinne, Häkchen, Desktop, gebogener Pfeil darstellt, um die Vorteile des automatisierten Testens zu erklären
Quelle: Gear Inc

Automatisiertes Testen spart viel Zeit, indem es die Zeit für die Ausführung sich wiederholender Tests verkürzt, was wiederum Geld spart. Es verbessert Ihre Testabdeckung erheblich. Lange Tests, die beim manuellen Testen meist vermieden werden, können unbeaufsichtigt durchgeführt werden. Es verbessert auch die Präzision, indem es die gleichen Schritte bei jeder Ausführung präzise ausführt und nie versäumt, detaillierte Ergebnisse aufzuzeichnen. Es kann Zehntausende von virtuellen Benutzern simulieren, die mit einem Netzwerk, einer Software und Webanwendungen interagieren. Darüber hinaus können gemeinsam genutzte automatisierte Tests von Entwicklern genutzt werden, um Probleme schnell zu erkennen, bevor sie an die Qualitätssicherung gesendet werden.

Automatisiertes Testen in Drupal

Das Drupal 8 Core-Testframework bietet zahlreiche automatisierte Testoptionen. Um die Qualität und Reaktion des Codes in Grenzfällen sicherzustellen, können Tests in verschiedenen Schichten durchgeführt werden:

  • Um Klassenmethoden zu testen, können Sie Unit-Tests schreiben, die den Prozess des Testens der diskreten Teile oder Einheiten eines Softwareprojekts darstellen. PHPUnit kann in diesem Fall genutzt werden.
  • Zum Testen von Modul-APIs können Sie Kernel-Tests schreiben, die im Grunde Unit-Tests auf Steroiden sind.
  • Sie können auch funktionale Tests anwenden, bei denen Softwaretests durchgeführt werden, um die tatsächliche Leistung der funktionalen Anforderungen einer Anwendung zu erkennen. Funktionale Tests eignen sich hervorragend für Genauigkeit, Interoperabilität, Compliance, Sicherheit und Eignung.
  • Es besteht auch die Möglichkeit, ein externes Framework wie Behat mit Szenarien in Gherkin-Syntax zu verwenden.

Die Macht von Behat

Logo von Behat mit dem Wort 'behat' in schwarzer Farbe und einem Symbol, das die Zahl 8 darstellt


Behat ist ein Open-Source-Framework für verhaltensgesteuerte Entwicklung (BDD), wie auf der offiziellen Website von Behat angegeben, und unterstützt den Prozess der Bereitstellung von Software, die durch ständige Kommunikation, bewusste Entdeckung und Testautomatisierung von Bedeutung ist. BDD ist eine Möglichkeit, Software durch kontinuierliche Interaktion mit Stakeholdern in Form von Beispielen zu erstellen, z. B. welche Hilfe eine bestimmte Software ihnen und Ihnen beim Erreichen Ihrer Ziele bieten würde.

Behat ist ein Open-Source-Framework für verhaltensgesteuerte Entwicklung.

Behat wurde für PHP entwickelt und ist eine spektakuläre PHP-Bibliothek im Kern, deren Codebasis eine Fülle von Symfony-Komponenten nutzt, sich strikt an Codierungsstandards hält und in wichtigen statischen Analysetools hervorragend abschneidet. Darüber hinaus verfügt Behat über eine hervorragende Erweiterbarkeit, da fast alle seine Funktionen über ein hervorragendes Erweiterungssystem erweitert oder ersetzt werden könnten.  

Behat für Drupal

Es gibt eine Bereitstellung für eine Drupal-Erweiterung, die eine Integrationsschicht zwischen Behat, Mink Extension und Drupal bietet. Für den Anfang kann diese Drupal-Erweiterung mit Composer aktiviert werden, gefolgt von der Erstellung der Datei behat.yml im Projektverzeichnis. Sie können auch Ihre Feature-Dateien zum Feature-Verzeichnis Ihres Repositorys hinzufügen, das für Menschen lesbare Schritte zum Testen von etwas enthält.

Indem das Verhalten einer Website in einfacher, aber stilisierter Sprache beschrieben und anschließend diese Beschreibung in einen automatisierten Test umgewandelt wird, erweisen sich Behat und Mink als sehr nützlich. Diese funktionalen Tests ermöglichen es den Site-Buildern sicherzustellen, dass der Mehrwert, der beim Erstellen einer Drupal-Website geschaffen wird, sich weiterhin gemäß den Erwartungen verhält, selbst nachdem Änderungen an der Website vorgenommen wurden, wie z. B. Sicherheitsupdates, Änderungen am benutzerdefinierten Code usw.

Diese Drupal-Erweiterung hilft beim Einrichten von Testdaten mithilfe von Drush oder der Drupal-API zusätzlich zum Definieren von Designbereichen und Testdaten, die darin enthalten sind. Es hilft auch beim Leeren des Caches, beim Abmelden und anderen wichtigen Schritten. Darüber hinaus ist es eine astronomische Lösung zum Erkennen und Entdecken von Schritten, die von beigesteuerten Modulen und Designs angeboten werden.

Fallstudie

Das Global Canopy Programme wollte die Nachrichten abrufen, die von einer Vielzahl öffentlicher Quellen syndiziert wurden, sie über eine interne Anwendung verwalten und sie anschließend an zahlreiche öffentlich zugängliche Websites resyndizieren. Dazu nutzte es die Leistungsfähigkeit von Drupal mit Hilfe einer Digitalagentur, um diese Anwendung namens Forest Desk zu erstellen. Sie folgten dem Paradigma von BDD, das für jedes einzelne Funktionsteil von Vorteil war und in den Scrum-Prozess eingebettet werden konnte.

Behat war verdienstvoll, um zu testen, ob die Funktionalität korrekt erstellt wurde. Es erwies sich als ein wesentliches Werkzeug zum Testen verständlicher Aktionen auf einer Website, wie z. B. das Klicken auf Links oder das Drücken von Submit-Buttons. Das Wissen von Behat konnte durch benutzerdefinierten PHP-Code erweitert werden, wodurch es genutzt werden konnte, um RSS zu verstehen, das das Format für die Syndizierung von Inhalten im Web ist.

Das Wissen von Behat konnte durch benutzerdefinierten PHP-Code erweitert werden, wodurch es genutzt werden konnte, um RSS zu verstehen, das das Format für die Syndizierung von Inhalten im Web ist.

Der RSS-Standard wurde zur Syndizierung von Daten verwendet, und das Drupal-Modul Feeds war sehr hilfreich beim Abrufen dieses Standards von Remote-Websites, und Module wie Views halfen beim Umpacken für die Nutzung durch andere Websites. Darüber hinaus bot das Adminimal-Theme ein makelloses administratives Design.

Für die Entwicklung jedes Features wurde das Modul Features genutzt, sobald sein Szenario in Gherkin-Syntax spezifiziert wurde. Dies half, die Konfiguration zu ändern, die Änderungen zu speichern und zum vorherigen Konfigurationszustand zurückzukehren, falls ein BDD-Test nicht mehr funktioniert.

Fazit

Behat ist ein großartiges Tool, um superschnelle und effektive automatisierte Tests in der Drupal-Entwicklung zu ermöglichen.

Unser oberstes Ziel ist es, unseren Partnern mit unserer Servicepalette ein hervorragendes digitales Erlebnis zu bieten.

Kontaktieren Sie uns unter [email protected], um durch dieses wunderbare Tool - Behat - das Beste aus automatisierten Tests herauszuholen.

Abonnieren

Ready to start your digital transformation journey with us?

Verwandte Blogs

Erkunden von Drupal Single Directory Components: Ein Wendepunkt für Entwickler

Single Directory Component

Webentwicklung lebt von Effizienz und Organisation, und Drupal, unser Lieblings-CMS, ist mit seiner neuesten Funktion hier,…

7 schnelle Schritte zur Erstellung von API-Dokumentationen mit Postman

How To Create API Documentation using Postman.png

Wenn Sie mit APIs arbeiten, kennen Sie wahrscheinlich bereits Postman, den beliebten REST Client, dem unzählige Entwickler…

Was ist der Product Engineering Life Cycle?

What%20is%20Product%20Engineering%20Life%20Cycle.png

Stellen Sie sich vor, Sie bauen ein Haus ohne Bauplan oder Konstruktionszeichnungen. Es wäre schwierig, die Kosten und den…