Wednesday, February 8, 2017

Handelssystem Testfälle

Ingenuity System Testing Services Fallstudie Altova XMLSpy und MapForce helfen Ihnen, Ergebnisse von 30.000 automatisierten Systemtests zu analysieren. Ingenuity System Testing Services Ltd. befindet sich etwa 100 Meilen westlich von London und verbindet reine Systemtests und Qualitätsmanagement-Techniken mit Business-Risikomanagement-Initiativen zur Erstellung und Verwaltung von Tests komplexer Software-Systeme. Ingenuity arbeitet als Partner mit Entwicklern und Endbenutzern während der Softwareentwicklung, um den Kunden qualifizierte Entscheidungen über die Systeme zu treffen, auf die sie sich verlassen können. Ingenuity ist darauf spezialisiert, Software-Systeme zu testen, die den dynamischen Echtzeitmarkt für den elektronischen Handel von Versicherungsinstrumenten unterstützen. Diese Versicherungssysteme umfassen in der Regel eine Zitat-Engine, die die Merkmale der Versicherer einzelne Produkte und eine EDI (Electronic Data Interchange) Geschäftsprozess-Komponente, um die Transaktionen abzuschließen. Während der EDI-Standard für feste Elemente wie Fragesätze und Nachrichtenformate sorgt, gibt es signifikante produktspezifische Variationen, die auch kommuniziert werden müssen, und es ist entscheidend, dass diese Systeme jedes Versicherungsprodukt genau darstellen. Eine weitere Ebene der Komplexität, die Versicherung System-Software in diesem Fall Studie wurde von einem Dritten Vertragspartner von den Versicherungsgesellschaften gemietet geschrieben, und das System musste beweisen, in der Lage zu beschreiben viele Produktalternativen in einer Umgebung mit häufigen Produktänderungen. Ingenuity hat sich einen Ruf für pünktliche Lieferung, Integrität und Professionalität, mit über zehn Jahre Erfahrung auf dem Gebiet und viele Kunden unter den Top-10-Versicherer in verschiedenen Kategorien erworben. Ihre Handlungen haben es ihnen ermöglicht, diesen Ruf angesichts immer steigender technischer Anforderungen zu erhalten und zu verbessern. Es wurde klar, dass die Altova Suite von XML-Tools entwickelt wurde, um die Dinge passieren, Simon Mills, Managing Director von Ingenuity Das Projekt erforderte Ingenuity mit einem unabhängigen Software-Entwickler auf einer Validierungs-Engine für ein wichtiges Upgrade der Entwickler bestehende Versicherungshandel zusammenarbeiten System. Dieses Dienstprogramm würde von Ingenuity verwendet werden, um das Entwickler-System gründlich zu testen und an Versicherungsunternehmen zu liefern, um sie bei ihren eigenen Anstrengungen zu unterstützen, das Upgrade zu implementieren und das aktualisierte System zu validieren. Der erfolgreiche Abschluss von unabhängigen Tests war eine vertragliche Verpflichtung zwischen der Versicherungsgesellschaft und dem Softwareentwickler. Der von Ingenuity benötigte Lieferumfang war die Überprüfung der durch den Entwickler erstellten Software-Validierungs-Engine durch ihre Testreihen, die genaue Ergebnisse lieferte und die als Entwickler entwickelte Versicherungssystemsoftware darstellte. Die Validierungs-Engine wurde entworfen, um einen Satz von Parametern an das Versicherungssystem zu senden, die ein Produkt-Tender, eine Anfrage von einem Benutzer oder einen anderen normalen Satz von System-Eingaben simulieren. Das System verarbeitet die Eingabe - und die Validierungs-Engine und liefert die Ausgabe an den Tester, der die Ergebnisse dokumentiert. Der Tester vergleicht dann die tatsächlichen Ergebnisse mit den erwarteten Ergebnissen und stimmt alle Differenzen ab, um zu bestimmen, ob das System korrekt arbeitet oder nicht. Ingenuity hat nicht einfach Abschlussprüfungen über die endgültige Freigabe am Ende des Projekts durchgeführt. Ingenuitys Tester arbeiteten zusammen mit den Software-Entwicklern, die Überprüfung jeder Entwicklungs-Iteration, wie es abgeschlossen war. Basierend auf früheren Bemühungen Tests Versicherung Handelssysteme, hatte Ingenuity bereits Hunderte von Test-Pläne und unzählige Tausende von Unit-Tests, die für das neue System gelten würde. Die Testdaten der Probeneingaben und der erwarteten Ergebnisse wurden in spezifischen Formaten gespeichert, die von den vorherigen Systemen verwendet wurden. Die Erfassung der Testergebnisse enthielt komplexe Variationen der Ergebnisse, die Ingenuity extrahieren, in Text umwandeln würde, indem sie ein rudimentäres Inhouse-Konvertierungsprogramm verwenden und in ein Lotus-basiertes Komparator-Programm für die Analyse einfließen. Die neue Version des Systems war jedoch nicht mit den früheren Datenformaten kompatibel. Das neue System erforderte XML-Dateieingabe und lieferte XML-Ergebnisausgaben. Das Software-Entwicklungsteam verwendete einen schnellen Entwicklungsprozess und forderte die Tester auf, Schritt zu halten. Die Entwickler hatten auch die Angewohnheit, die XML-Schemas an die Anforderungen des Augenblicks anzupassen und nicht immer ausreichend dokumentieren ihre neuesten Änderungen. Wir testen Experten, nicht Vollzeit-Entwickler, sagte Simon Mills, Managing Director von Ingenuity. Aber wir sind hoch qualifiziert, unsere eigenen Versorgungsunternehmen zu schaffen. Für unsere erste Runde von Tests gegen das neue System haben wir uns entschieden, Lotus zu verwenden, um Eingabe - und Ausgabe-Daten in das richtige Format zuzuordnen und dann in XML zu formulieren. Unser anfängliches Parsing-Tool für die Umwandlung des vorherigen Formats unserer Tests in XML und die Interpretation der Ergebnisdateien, während es überschaubar war, würde fünf bis sechs Werktage dauern, um robust zu werden, fuhr Mills fort. Darüber hinaus mussten wir für jede Variation der Ergebnisausgabe neue Parsingregeln erstellen, und wir konnten erwarten, diesen Aufwand mit jeder Software-Iteration zu wiederholen, da die Entwickler ihre Schemata geändert haben. Da sowohl die Testeingabe - als auch die Ergebnisdateien in XML waren, schien ein nativer XML-Ansatz für die Verwaltung der Testdaten logischer und potenziell effizienter zu sein. Das Ingenuity-Team erforschte XML-Technologien durch Ausprobieren aller XML-Manipulation Dienstprogramme, die sie im Internet finden konnten, nach Mills. Es wurde deutlich, dass die Altova Suite von XML-Tools entwickelt worden war, um die Dinge passieren, sagte er. Zuerst entschied das Ingenuity-Team, dass sie sich nicht auf die Softwareentwicklerdokumentation der XML-Schemas für ihre Eingabe - und Ergebnisdateien verlassen mussten. Da sowohl die Eingabe als auch die Ergebnisse XML-Dateien waren, benutzte Ingenuity Altova XMLSpy, um Beispiel-Eingabe - und Ergebnisdateien zu öffnen, die vom Entwickler bereitgestellt wurden, und generiert die Schemata automatisch mit dem eingebauten DTDSchema-Befehl. Die XMLSpy-Generierung DTDSchema-Menüauswahl macht es einfach, ein Schema aus einem Beispiel-XML-Dokument zu erstellen. Im Dialogfeld XMLSpy Generieren DTDSchema können Sie Enumerationsszenarien und die Darstellung komplexer Elemente während der Schemaerstellung steuern. Als nächstes nutzte Ingenuity Altova MapForce, um die relevanten Ergebnisse zu extrahieren, die notwendigen Berechnungen durchzuführen und eine leicht verständliche Tabelle im textbasierten Format auszugeben, das für ihr Homegrown-Analyse-Utility erforderlich ist. Zum Zuordnen der Daten in das erforderliche Format wurde ein XMLSpy-generiertes Schema aus dem vorherigen Schritt zuerst in das Anwendungsdesign des Anwendungsbereichs eingefügt und mit dem entsprechenden XML-Ergebnisdokument als Datenquelle verknüpft. Als nächstes wurde eine Textdatei als Ziel der Datenzuordnung mit allen entsprechenden Einstellungen definiert. Um Berechnungen durchzuführen und die Daten in die gewünschte Ausgabestruktur zu manipulieren, wurden standardmäßige Datenverarbeitungsregeln einfach aus dem MapForce-Funktionsbibliothekenfenster gezogen und in das Mapping-Design abgelegt. Anschließend wurden Verbindungslinien aus den XML-Schema-Quelldatenelementen, über die erforderlichen Datenverarbeitungsregeln, zu den Zieldatenelementen in der neuen Textdatei gezogen. Das ist alles, was es gab. Die Ausgabe jeder Datenzuordnung wurde in einer Datei gespeichert und im Ingenuitys-Analyse-Utility nahtlos geöffnet. Die gesamte Entwicklungszeit von der Schaffung des Schemas durch Verfeinerung der Abbildung war weniger als vier Stunden für einen einzigen Ingenuity-Test-Ingenieur. Textdateien im CSV - oder tabulatorgetrennten Format sind oft der kleinste gemeinsame Nenner zwischen inkompatiblen Systemen. MapForce bietet umfangreiche Kontrolle über Textdateien. Das MapForce-Funktionsbibliotheken-Hilfsprogramm bietet einfachen Zugriff auf Datenverarbeitungsfunktionen, die an Quelldaten als Teil der Integration ausgeführt werden können. Ingenuity-Tester haben diese MapForce-Zuordnung erstellt, um wichtige Informationen aus der XML-basierten Ergebnisdatei, die links dargestellt wird, zu extrahieren und auf der rechten Seite textbasierte Tabellen zu erstellen. Analysieren der Ergebnisdatei eines Benchmark-Tests dauerte 45 Minuten mit Ingenuitys Original-Analyse-Dienstprogramm. Im Gegensatz dazu verarbeitete die MapForce-Methode dieselben Daten in 11 Sekunden. Der Ansatz Ingenuity nahm mit MapForce die Ergebnisse von 30.000 automatisierten Tests, die 90.000 bis 100.000 Ergebnisse, die für den automatisierten Vergleich in weniger als 6 Minuten, von Anfang bis Ende zur Verfügung stehen. Der Erfindungsreichtum schätzt, dass der Unterschied zum Gesamttestaufwand mehr als das Hundertfache betrug, da die Tests bei jeder Entwicklungs-Iteration des Versicherungshandelsystems wiederholt werden mussten. In der Vergangenheit waren Testpläne durch Termindruck begrenzt. Wir haben uns immer auf die besten 100 bis 200 Tests mit nur zwei Probe Versicherung Produkte konzentriert, erklärt Mills. Wenn der vollständige Satz der relevanten Tests herum 700 ist und die Gesamtzahl der Versicherungsprodukte, die durch das System behandelt werden, 36 sein könnte, erlaubte uns die absolute Geschwindigkeit unseres neuen Prozesses, die Definition des idealen Tests groß zu erweitern. Dies ist nicht mehr testen, weil wir können, es tut alle Tests, die wir gerne gemacht haben, aber diese Zeit Einschränkungen in der Vergangenheit verhindert. Schaffung viel größerer Sicherheit für unsere Kunden. Viele von uns hatten nicht mehr als eine technische Wertschätzung von XML, bevor wir sie benutzen und mit ihr für dieses Projekt leben müssen, sagte Bill Gribble, Technical Director for Ingenuity. Die Tutorials, die mit Altovas Produkten kommen erwiesen sich vollkommen ausreichend, um die technisch Wertschätzung auf technisch versierte in sehr kurzen Zeiträumen zu bewegen. Wir beabsichtigen, alle unsere Mapping-Übungen, von denen wir Hunderte haben, in das Altova MapForce-Umfeld zu verschieben, schloss er. Finden Sie heraus, wie MapForce kann mit Ihrer Datenintegration Herausforderung helfen. Trading Systems Coding: Testing, Fehlerbehebung und Optimierung Nun, da Sie ein Handelssystem entworfen und codiert haben, ist es Zeit, um es zu testen, um sicherzustellen, dass Ihre Codierung frei von logischen und technischen ist Fehler. Wir werden auch auf etwas bekannt als Optimierung - ein Merkmal in einigen Handelsprogramme, die Ihnen die Feinabstimmung Ihrer Handelsregeln, um die Bestände, die Sie auf den Handel planen können. Testen Ihres Handelssystems Die überwiegende Mehrheit der Handelsanwendungen, die Programmiersprachen unterstützen, unterstützen auch Testtools. Diese Werkzeuge sind in zwei Kategorien unterteilt: 1. Technische Technische Test-Tools suchen nach technischen Fehlern in Ihrem Code. Wenn Sie beispielsweise vergessen, ein Semikolon nach einer Anweisung hinzuzufügen, benachrichtigt Sie das technische Test-Tool, dass Ihre Anweisung ungültig ist. Der Standort des technischen Prüfprogramms hängt von der verwendeten Handelsanwendung ab. MetaTrader zeigt einen Fehler oder fehlerhafte Ergebnisse, wenn Sie versuchen, Ihren Code zu kompilieren, während Trading-Anwendungen wie Tradecision haben ein Code-Check-Dienstprogramm in der Schnittstelle, die Sie überprüfen Sie Ihren Code für Fehler, bevor Sie es. 2. Logische logische Testwerkzeuge suchen nach logischen Fehlern in Ihrem Code. Zum Beispiel, wenn Sie zufällig ein größeres als ein Zeichen statt eines weniger als Zeichen (das ist kein technischer Fehler) zu verwenden, wird ein logisches Test-Tool zeigen Ihnen, dass Ihre Ergebnisse nicht sinnvoll. Das beliebteste logische Testwerkzeug ist das Backtesting-Tool. Mit diesem Tool können Sie vergangene Daten übernehmen und Ihr Handelssystem auf diese Daten anwenden. Dies gibt Ihnen eine Vorstellung davon, ob Ihr Handelssystem rentabel ist 13 Welche Bedingungen erweisen sich als am rentabelsten 13 Wenn Fehler in Ihren Regeln auftreten können (Weitere Informationen finden Sie unter Backtesting: Interpretation der Vergangenheit.) Fehlerbehebung bei Ihrem Trading System Wie bei jeder anderen Art der Programmierung kann die Fehlersuche eine mühsame und schwierige Aufgabe sein. Das Finden von Fehlern in Ihrem Code erfordert eine systematische Sortierung durch Ihren Code, um syntaktische Fehler zu identifizieren, die, obwohl oft geringfügig, Ihr Programm zum Stillstand bringen können. Hier sind einige häufige Fehler zu suchen: Fehlende Semikolons nach Aussagen - Diese müssen nach jeder Anweisung sein. 13 Undefinierte Variablen - Denken Sie daran, dass Sie sie vor der Verwendung deklarieren müssen. 13 Rechtschreibfehler - Werden keine Namen oder Funktionen falsch geschrieben, gibt die Handelsanwendung einen Fehler zurück (siehe Beispiel unten). 13 Falsche Verwendung von () - Denken Sie daran, dass ein Wert einem anderen Wert zugewiesen wird, während die Mittel gleich sind. 13 Falsche Verwendung von integrierten Funktionen - Überprüfen Sie Ihre Handelsanwendungsdokumentation oder API (Application Programming Interface), um sicherzustellen, dass Sie die korrekte Syntax verwenden. Einige Handelsanwendungen enthalten eine Funktion, mit der Sie Ihren Code testen können, bevor Sie ihn verwenden oder kompilieren. Diese Funktion erlaubt Ihnen, zu sehen, was der Fehler ist und auf welcher Linie es gefunden werden kann. Nehmen Sie Tradecision zum Beispiel: Hier sehen wir, dass Tradecision die Position (Zeile und Spalte) des Fehlers, eine Beschreibung des Fehlers und die Art des Fehlers (in diesem Fall syntaktisch) gibt. Wenn wir den Ausdruck betrachten, können wir sehen, dass in Spalte 8 xrossBelow keine gültige Funktion ist. Wenn wir das x (welches in Spalte 8 ist) durch ein c ersetzt, dann haben wir gültigen Code. Wenn wir MetaTrader betrachten, können wir sehen, dass die Fehler kommen, wenn wir versuchen, das Programm zu kompilieren: Hier sehen wir, dass in der Beschreibung heißt es, die BuyNow-Variable wurde nicht definiert. Ein Doppelklick auf diese Fehlermeldung bringt uns zum spezifischen Ort des Fehlers im Code. Wie Sie sehen können, geben die meisten Handelsanwendungen Ihnen eine einfache Möglichkeit, technische Fehler zu lokalisieren und sie zu reparieren. Das Fixieren der Fehler beinhaltet einfach systematisch gehen durch jede Fehlermeldung und dann erneut kompilieren den Code andor Anwendung des Handelssystems, um Ihre Charts. Optimierung Ihres Handelssystems In einigen Handelsanwendungen können Sie die zu optimierenden Variablen auswählen. Mit Tradecision können Sie z. B. eine Variable leicht auswählen und sie durch Code ersetzen, der eine Optimierung versucht. Optimierung selbst ist einfach ein Prozess, der den optimalen Wert für ein bestimmtes Handelssystem-Element auf der Grundlage der bisherigen Ergebnisse und Leistung findet. Beachten Sie, dass Über-Optimierung Ergebnisse in Handelssysteme, die nicht in der Lage, die Marktbedingungen anzupassen, daher ist es wichtig, nur optimieren ein paar wichtige Variablen, nicht jede Variable Hier ist, was die Optimierung Feature sieht aus in Tradecision: Sie können sehen, dass wir deklariert Zwei neue Variablen und setzen sie gleich. Das bedeutet einfach, dass das Handelsprogramm dies durch die optimale Anzahl ersetzen wird. Als nächstes können Sie sehen, dass wir die neuen Variablen innerhalb unserer Handelsstrategie verwendet haben. Schließlich setzen wir einen Bereich für die Zahlen (so dass das Programm nicht nach unendlich suchen). Einige andere Handelsprogramme haben Funktionen, die in einer ähnlichen Weise funktionieren, so dass Sie den numerischen Wert mit einem ersetzen und sagen, die Handels-Anwendung, um es zu optimieren. Fazit Inzwischen sollten Sie ein funktionierendes Handelssystem entwickelt haben, in dem Sie Vertrauen haben können. Im nächsten Teil dieser Serie erfahren Sie, wie Sie Ihr Trading-System auf Diagramme anwenden und wie Sie es nutzen, um Handelsentscheidungen zu treffen. Bessere Testpläne Testfälle aus Use Cases Anwendungsfälle sind ein guter Ausgangspunkt für einen Testplan, weil sie beschreiben, wie Ihr System verhält sich, wenn Dinge richtig gehen und wenn sie schief gehen. Um von einem Anwendungsfall zu einem Testfall zu wechseln, geben Sie Testverfahren und erwartete Ergebnisse nebeneinander mit Anwendungsfallschritten ein. CaseComplete nimmt Ihre Testszenarien und erzeugt ein Testplandokument in Microsoft Word oder Excel. Sie können Testfälle in Microsoft TFS oder Visual Studio Online hochladen, um Testergebnisse aufzuzeichnen. Haben wireframes Theyll-Show in der TFS-Testfälle Who Uses CaseComplete CaseComplete ist das Anforderungsmanagement-Tool, das Business-Analysten lieben. Organisationen auf der ganzen Welt - groß und klein - nutzen sie, um in kürzerer Zeit bessere Anforderungen zu sammeln, zu organisieren und zu kommunizieren.


No comments:

Post a Comment