Heim >Backend-Entwicklung >Python-Tutorial >Grundlegende technische Prinzipien der Python-Automatisierung
Vorher In dem Artikel wird erwähnt: Die erste Fähigkeit zur Automatisierung besteht darin, das Wesentliche durch das Phänomen zu erkennen. Bei der Implementierung in die tatsächliche IT-Arbeit besteht es darin, die Daten über die Schnittstelle zu sehen .
Es ist nicht einfach, die oben genannten Fähigkeiten zu beherrschen. Sie müssen über eine solide Grundlage der Computertheorie verfügen, um die tiefgreifenden und wesentlichen Dinge zu erkennen.
Datenbankanwendungssystem ist wahrscheinlich die typischste Netzwerkanwendung Software Architektur ist wie folgt:
ist im Allgemeinen in 4 logische Schichten unterteilt:
Benutzeroberfläche der Benutzeroberfläche
Bietet eine interaktive Mensch-Computer-Schnittstelle für Endbenutzer
Geschäftslogikschicht BLL
Abstraktion der DatenbankDie Objekte werden in spezifische Geschäftslogikobjekte gespleißt und die Prozesse werden in
Daten organisiert Zugriffsschicht DAL
ORM für die DB-Schicht, sodass Anwendungen der oberen Schicht die Datenbank in Form von Objekten steuern können
Data Persistence Layer DB
speichert Daten, speichert Daten und teilt Daten mit verschiedenen Clients
In der traditionellen C/S-Architektur sind Anwendungen (z. B. Clientanwendungen unter Windows) im Allgemeinen ein zentraler Datenbank-Service-Server (DB) und entsprechen dann N Clients (DAL-BLL-UI).
Für Junge Tester bleibt ihr Verständnis der Software möglicherweise nur auf der UI-Ebene. Was sie also während des Testens tun können, ist: Wiederholen Sie es Tag für Tag Tag für Tag, Jahr für Jahr klicke ich Stück für Stück mit meiner Maus.
Die grundlegende Architektur der im vorherigen Teil erwähnten Anwendungssoftware, obwohl sie in „C/S“ vorliegt Es wurde damals vorgeschlagen, aber es wird bis heute fortgesetzt. Der bis heute gebräuchlichste "ABC/S" Modus:
App/Server
Browser/Server
Client/Server
Tatsächlich wird die UI-Ebene im Wesentlichen auf der Clientseite und die darunter liegende UI-Ebene auf der Serverseite platziert.
Kunden haben unterschiedliche Ausdrucksformen auf verschiedenen Plattformen und bilden die mittlerweile beliebte sogenannte "ABC/S"-Modellarchitektur, die im Grunde zum aktuellen Internet geworden ist. Das Produkt ist Standard. Die spezifische Architektur ist wie folgt:
Das Kommunikationsprotokoll von Http/Https wird zwischen dem Server und dem Client verwendet. Das Format des Datenaustauschs ist Xml/Json-Format.
Basierend auf dem oben genannten Modell hat die Methodik des Softwaretests einige Änderungen erfahren:
Mit der Kosteneffizienz Die höchste „basierend auf Kommunikationskodierungsformat“ „SchnittstelleTesten“ bedeutet, dass 20 % 80 % der Arbeit lösen können
Schnittstellentests können vollständig automatisiert werden und müssen nicht erzwungen werden Um die gleiche Schnittstelle wie das Entwicklungsprojekt zu verwenden, können Sie eine effizientere Skriptsprache verwenden.
Schnittstelle erfordert natürlich Stabilität, daher wird es eine geben kein wiederholtes Hin und Her in automatisierten Testprojekten
Schnittstellestester sind zu Schiedsrichtern zwischen vielen Plattformen geworden
Schnittstellenspezifikationen kommen vom Design dokumentiert und umsetzbar Design generiert Tests und Tests treiben die Entwicklung voran Standardmodell
Mit der Fähigkeit, in Daten zu abstrahieren, können viele Dinge, die Sie sehen, in vernünftige Äquivalente umgewandelt werden:
Der Hintergrund der Webseite ist rot
, was entspricht: der Farbe des HintergrundAttributs des Hintergrundelements ist #FF0000
Das Wort Auf der Schaltfläche wird „Senden“
angezeigt, was äquivalent ist zu: Der Wert des Schaltflächenelements ist Senden
Der Benutzer führte eine Aufladeaktivität durch und lud 20 Yuan auf, und auf seinem Konto befanden sich weitere 20 Yuan
entspricht: Aufrufen der Aufladeschnittstelle mit 20 als Parameter und anschließendes Vergleichen der Schnittstelle zum Aufrufen des Kontos mit der Abfrage Der Unterschied ist genau der Aufladeparameterwert
Es wird einfacher, Vergleiche auf Datenebene anzustellenProgrammierung, da dies Bereiche sind, in denen Computer und Automatisierung gut sind natürlich umgesetzt.
Ich habe über die Methode gesprochen, Softwareprojekte von der spezifischen Schnittstelle, die Sie sehen, bis zur untersten Ebene in Daten zu abstrahieren. Tatsächlich gibt es einige niedrigere und absolutere Daten. Die Softwaredaten können auf einer niedrigeren Ebene mit der physischen Welt in Beziehung gesetzt werden (dies lässt sich nicht mehr einfach als „abstrakt“ oder „konkret“ beschreiben).
Der Inhalt dieses Teils ist etwas weit vom Thema des Testens von Anwendungssoftware entfernt. Er ist rein populärwissenschaftlicher Natur.
Wenn man ein Computersystem aus einer breiteren Perspektive betrachtet, wird die Erfahrung, die es den Menschen gibt, im Wesentlichen wie folgt verarbeitet:
Alles über Menschen Die intuitive Erfahrung kommt von Die Erfahrung analoger Größen (physikalischer Größen) und menschlicher interaktiver Eingaben resultieren ebenfalls aus der Eingabe analoger Größen.
Menschen tippen auf die Tastatur, um Text in das Computersystem einzugeben. Die Tastatur überträgt Impulsströme, die von verschiedenen Tastenpositionen erzeugt werden, in das Computersystem. Das Computersystem wandelt diese Stromsignale über Chips und Treiber in digitale Signale um liefert die Zahlen. Auf diese Weise schließt die Person die Eingabe von Informationen ab.
Das Computersystem berechnet, speichert, überträgt usw. und beleuchtet schließlich die Punktmatrix an verschiedenen Positionen auf dem LCD-Display, um einen optischen Analogausgang zu bilden, der an das menschliche Auge übertragen wird schließt die Erfassung von Informationen ab.
Das obige Beispiel kann wie folgt vereinfacht werden: Mechanische physikalische Größen erzeugen elektrische physikalische Größen zur Eingabe, und nach der Verarbeitung durch das digitale Computersystem werden optische physikalische Größen ausgegeben.
Bei Computersystemen sind sowohl Eingabe als auch Ausgabe vielfältig:
Eingabegeräte
Als Haupteingabe können verschiedene Sensoren genutzt werden, etwa die aktuell boomende Smart Hardware und das heiß gehypte Internet der Dinge.
Ausgabegerät
Neben optischen LCD-Displays gibt es auch akustische Lautsprecher, Rollradmechaniken und humanoide Laufroboterarmmechaniken.
Diese Dinge sind mittlerweile bereits sehr beliebte Elemente in der Internetbranche.
Da in den Bereichen Elektrotechnik und Kommunikation häufig physikalische Größen erfasst werden, die mit bloßem Auge nur schwer zu quantifizieren sind, sind die Testschwellen und der Grad recht gut entwickelt Der Automatisierungsgrad ist recht hoch. Andererseits verlassen sich die Menschen in der oberen Anwendungssoftwareschicht der IT-Branche zu sehr auf manuelle Vorgänge und die Beobachtung mit bloßem Auge, ignorieren jedoch die Automatisierung. Infolgedessen hatte die Testbranche schon immer eine geringe Personalqualität und eine schwache technische Stärke. Dies ist offensichtlich sehr ernst und nicht ratsam, zumindest widerspricht es den aktuellen Anforderungen der Software-Engineering-Branche.
Dieser Artikel schichtet die Anwendungssoftware logisch, um die automatisierten Softwaretests und Grundprinzipien zu erläutern Auch das automatisierte Testen elektronischer Technologien, die in der derzeit beliebten Intelligenten Hardware zum Einsatz kommen, wird kurz besprochen, in der Hoffnung, diejenigen zu inspirieren, die noch nie automatisierte Tests durchgeführt haben.
Die folgende Artikelserie wird diese Theorien auf technischer Ebene umsetzen.
Zusammenfassend : Für diejenigen, die in diese Branche einsteigen und sich intensiv weiterentwickeln möchten, haben wir die folgenden Schlussfolgerungen und Vorschläge:
Das Wesen von Software ist nicht die Schnittstelle, sondern die Daten
Um das Wesen von Software zu verstehen, müssen Sie über eine gute Computergrundlage verfügen
Menschen, die in der Internetbranche tätig sind, können sich mit Linux vertraut machen und diese Software ist DatenSicht auf die Welt so früh wie möglich etablieren
Schnittstelle für Automatisierungstests weist das höchste Investitions- und Renditeverhältnis auf (aus Sicht der Ingenieure von Google)
Um beim automatisierten Testen gute Arbeit zu leisten, müssen Sie verfügen über Fähigkeiten zur Softwareentwicklung und zum Systemdesign
Während ich dies schreibe, möchte ich abschließend für einen Moment „Amway“ sagen Linux, denn im Vergleich zu Auf MacOS- und Windows-Systemen leistet Linux in Bezug auf die Schnittstelle keine gute Arbeit, verfügt jedoch über eine leistungsstarke CLI-Interaktion und unterstützt leistungsstarkes Scripting, was für die Realisierung der Automatisierung sehr hilfreich ist.
(Unvollendet, Fortsetzung folgt...)
Ich werde auch in Zukunft weiterhin Python-Automatisierungs-Tools schreiben und Anwendungen programmieren.
Das obige ist der detaillierte Inhalt vonGrundlegende technische Prinzipien der Python-Automatisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!