


Überblick
Vor jeder Funktionsveröffentlichung führe ich Benutzerakzeptanztests („UAT“) durch, um Fehler aufzudecken und sicherzustellen, dass die Geschäftslogik korrekt in Code übersetzt wird.
Ich gebe eine Funktion erst dann zur Veröffentlichung frei, wenn UAT 100 % erfolgreich ist.
Meine Argumentation ist einfach: Sie haben nur eine Chance, beim Endbenutzer einen guten ersten Eindruck zu hinterlassen, und eine schlechte Veröffentlichung macht es doppelt schwierig.
Obwohl es sich hierbei um eine MVP-Funktion handelt, die nicht für die Produktionsveröffentlichung gedacht ist, dachte ich, es wäre gut, ein wenig UAT durchzuführen, um meine Fähigkeiten auf dem neuesten Stand zu halten.
Ergebnisse
Von den 19 UAT-Szenarien, die ich mir ausgedacht habe, scheiterte eines an einer Änderung in der PDF-Vorlage Depotbankerklärung.
Ich habe dieses Risiko während der Discovery vorhergesehen, aber um ehrlich zu sein, habe ich nicht damit gerechnet, dass das Problem so bald auftauchen würde.
Ich werde später im Artikel auf die Details zur Fehlerbehebung eingehen.
Methodik
Mein UAT-Prozess beinhaltet die Verwendung der Geschäftslogik oder der Funktionsanforderungen als Referenz, um Testszenarien und erwartete Ergebnisse zu erstellen.
Testszenarien müssen nicht kompliziert sein. Sie können so einfach sein wie: „Die Funktion generiert innerhalb von 30 Sekunden eine CSV-Datei.“
Für die UAT habe ich 71 Seiten Dokumente aus 10 Depotbankauszugs-PDFs verarbeitet. Dies sollte ein ausreichend großer Probensatz sein.
Die erwartete Ausgabe besteht aus drei CSV-Dateien mit spezifischen Datenpunkten aus den Abschnitten Fondsbestände, Wertpapierbestände und Barmittelbestände des Depotbankauszugs-PDFs.
Ich habe mir folgende Testfälle ausgedacht:
CSV 1: Fondsbestände
CSV 2: Wertpapierbestände
CSV 3: Bargeldbestände
Fehlerbehebung
Der einzige fehlgeschlagene Test war darauf zurückzuführen, dass sich die Vorlage der PDF-Datei mit der Depotbankerklärung im November geringfügig geändert hat. Genauer gesagt haben die Werte in der Spalte „Aktueller Wert# 1. Fremdwährung 2. RM-Äquivalent“ einer Fondsbestandstabelle jetzt ein zusätzliches „-n“-Präfix.
Anstatt beispielsweise „10.000 USD“ in früheren PDFs zu lesen, lautet der Wert jetzt „- 10.000 USD“.
Diese kleine Änderung führte zu folgendem Problem:
Ich habe ChatGPT bezüglich einer Lösung konsultiert und es wurde empfohlen, die folgende Scrubbing-Logik hinzuzufügen, um das falsche „-/n“-Präfix zu entfernen.
# Scrub error prefix df['Currency'] = df['Currency'].str.replace('[-\n]', '', regex=True)
Das Bereinigen hat seinen Zweck erfüllt und die CSV-Ausgabe der Fondsbestände sieht jetzt wie erwartet aus.
Was kommt als Nächstes?
Ich bin jetzt sicher, dass der Code zum Extrahieren von PDF-Daten funktioniert. Allerdings glaube ich nicht, dass eine CSV-Datei der beste Ort zum Speichern all dieser Daten ist.
Obwohl CSV (für mich) benutzerfreundlich ist, erleichtert das Speichern von Daten in einer Datenbank das Abrufen und Bearbeiten von Daten gemäß den Anforderungen des Endbenutzers erheblich.
Ich habe nur sehr begrenzte Erfahrung mit Datenbanken. Was ich also als Nächstes tun werde, ist Discovery für eine Datenbankanwendung, die ich schnell integrieren kann.
--Ende
Das obige ist der detaillierte Inhalt von# | Automatisieren Sie die PDF-Datenextraktion: Benutzerakzeptanztests. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Tomgelistsinpython, Youcanusethe-Operator, ExtendMethod, ListCompredesion, Oritertools.chain, jeweils mitSpezifizierungen: 1) Der OperatorissimpleButlessEfficienceforlargelists; 2) Extendismory-Effizienzbutmodifiestheoriginallist;

In Python 3 können zwei Listen mit einer Vielzahl von Methoden verbunden werden: 1) Verwenden Sie den Bediener, der für kleine Listen geeignet ist, jedoch für große Listen ineffizient ist. 2) Verwenden Sie die Erweiterungsmethode, die für große Listen geeignet ist, mit hoher Speicher -Effizienz, jedoch die ursprüngliche Liste. 3) Verwenden Sie * Operator, der für das Zusammenführen mehrerer Listen geeignet ist, ohne die ursprüngliche Liste zu ändern. 4) Verwenden Sie iTertools.chain, das für große Datensätze mit hoher Speicher -Effizienz geeignet ist.

Die Verwendung der join () -Methode ist die effizienteste Möglichkeit, Zeichenfolgen aus Listen in Python zu verbinden. 1) Verwenden Sie die join () -Methode, um effizient und leicht zu lesen. 2) Der Zyklus verwendet die Bediener für große Listen ineffizient. 3) Die Kombination aus Listenverständnis und Join () eignet sich für Szenarien, die Konvertierung erfordern. 4) Die Verringerung () -Methode ist für andere Arten von Reduktionen geeignet, ist jedoch für die String -Verkettung ineffizient. Der vollständige Satz endet.

PythonexexecutionStheProcessOfTransformingPythonCodeIntoexexexecleableInstructions.1) ThePythonvirtualmachine (PVM) Ausführungen

Zu den wichtigsten Merkmalen von Python gehören: 1. Die Syntax ist prägnant und leicht zu verstehen, für Anfänger geeignet; 2. Dynamisches Typsystem, Verbesserung der Entwicklungsgeschwindigkeit; 3. Reiche Standardbibliothek, Unterstützung mehrerer Aufgaben; 4. Starke Gemeinschaft und Ökosystem, die umfassende Unterstützung leisten; 5. Interpretation, geeignet für Skript- und Schnellprototypen; 6. Support für Multi-Paradigma, geeignet für verschiedene Programmierstile.

Python ist eine interpretierte Sprache, enthält aber auch den Zusammenstellungsprozess. 1) Python -Code wird zuerst in Bytecode zusammengestellt. 2) Bytecode wird von Python Virtual Machine interpretiert und ausgeführt. 3) Dieser Hybridmechanismus macht Python sowohl flexibel als auch effizient, aber nicht so schnell wie eine vollständig kompilierte Sprache.

UseaforloopwheniteratoverasequenceOrforaPecificNumberoftimes; UseaWhileloopWencontiningUntilAconDitionisMet.ForloopsardealForknown -Sequencies, während whileloopSuituationen mithungeterminediterationen.

PythonloopscanleadtoErors-ähnliche Finanzeloops, ModificingListsDuringiteration, Off-by-Oneerrors, Zero-Indexingissues und Nestroxinefficiens.toavoidthese: 1) Verwenden Sie


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Dreamweaver CS6
Visuelle Webentwicklungstools
