Aspects of Privacy-Preserving Toll Pricing

Ähnliche Dokumente
Projekt Message-Logger

Projekt Message-Logger

So testen Sie Anappe.Com

Aspects of Privacy-Preserving Toll Pricing

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Continuous Integration mit VSTS Dieter Rüetschi

Testgetriebene Entwicklung

Viele Entwickler finden Testen langweilig.

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015

Client/Server Applikation mit Android BDA Abschlusspräsentation. Agenda. Projektübersicht. Projektübersicht. Projektergebnis. Live Demonstration

JUnit. Software-Tests

Projekt Management Plan

Wiederholung Sortiert nach Lebenszyklusphase Sortiert nach Testziel Sortiert nach der Methode, um an Testfälle zu kommen

Aspects of Privacy-Preserving Toll Pricing

Wann lohnt sich GUI- Testautomatisierung?

Testgetriebene Entwicklung mit JUnit4

Corporate WLAN. Testkonzept Version 2

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

Requirements basiertes Testen mit JUnit Architektur für eine Verbindung von Requirements Management und Test Management

Softwaretests Testgetriebene Entwicklung (TDD) vs wissenschaftliche Methode TDD Case Study Zusammenfassung

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Projekt Message-Logger

BIF/SWE - Übungsbeispiel

HERAUSFORDERUNGEN an die Qualitätssicherung

Enterprise JavaBeans Überblick

Projekt MasterMind Systemspezifikation

Vom Testkonzept zu JUnit

Mastermind. Kundenanforderungen. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

TimeAs Projektzeit 1 / 7. BK-Soft GmbH Oberdorf 2 CH-6018 Buttisholz

Projektmanagement-Plan

Wann lohnt sich GUI- Testautomatisierung?

Kita Tauschbörse. - Testergebnisse - Version: 1.0. A. Sifring. vorgelegt X fertig gestellt

Konzeption. und prototypische Implementierung. eines Werkzeuges. für den funktionalen Klassentest

e3m Data Center 1/6 ... der zentrale Datenpool für die wichtigen Kenngrössen über alle Objekte

Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln

Wiederholung. Testen. Tests nach Methode zum Ableiten der Testfälle White Box Test Black Box Test

Testing Reality. Real users. Real devices. Real time.

Kernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3

Programmiertechnik II

Software Engineering II (IB) Testen von Software / Modultests

Digitales Bedrucken oder Bemalen von dreidimensionalen Objekten. T e s t p l a n

Testing Reality. Real users. Real devices. Real time.

Objektorientierte Programmierung

Anleitung zum Abarbeiten des Excel-Protokolls zum TLM-Austausch

Systematisches Testen

IT-Projekt-Management

Realtime Daten-Rückschreibung in Tableau mit der Extensions API //

SOA Testing. Tobias Bosch OPITZ CONSULTING GmbH München

Corporate WLAN. Testprotokoll

Technische Richtlinie XML-Datenaustauschformat für hoheitliche Dokumente (TR XhD) 1 Rahmenwerk

Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006)

Testen. SEPR Referat: Testen - Oliver Herbst

Testen und Debugging

CADSTAR MRP-Link. MRP-Link ist erstellt von:

Programmierprojekt: So0ware Tests. Anne6e Bieniusa Sommersemester 2017

Client/Server Applikation mit Android BDA Zwischenpräsentation. Agenda. Einführung. Einführung. Planung & Vorgehen. Systemübersicht.

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT

Voraussetzungen für die Installation des Format Sanktionsmonitors V3

TERRA PosBackup Service Verfahrensdokumentation

Aufbau und Bestandteile von Formularen. Oracle Forms. Erstellen eines neuen Blocks (1) Starten von Oracle Forms

4 Grundlagen von SQS-TEST/Professional New Line

Testskripten Beispiele für System- und Akzeptanztests

ProCall 6 Enterprise Upgrade Verfahren. Best Practice

FastBill GmbH Kaiserleistraße Offenbach am Main. Monsum. Dokumentation Checkliste Go Live. Checkliste Go Live 2. März 2017

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

UnitTest mit dem SQL-Developer Testgetriebene Entwicklung mit Oracle Werkzeugen

Durch bessere Organisation zu höherer Produktivität und Qualität

Enterprise JavaBeans Überblick: 8. Test-Driven Development. 8.1 Einleitung 8.2 Beispiel 8.3 Anwendung mit Eclipse und dem JBoss Application Server

Datenstrukturen und Algorithmen in Open Street Map. Modul: Algorithmische Geometire Von: Elisabeth Lehmann 12INB-P

EasyFonRouter. to/from. MS Outlook. Synchronisations Tool. EasyFonRouter. EasyData Software GmbH MS Outlook Synchronisation

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Scripting-Komponente in Betrieb nehmen

Technische Voraussetzungen GemDat Bau

Technische Richtlinie BSI TR-03109

Massenamtssignaturen. 2 Lösungsansätze. Thomas Rössler Wien, 25. März

Thomas Freitag achelos GmbH SmartCard-Workshop achelos GmbH

Testen von SOA-Anwendungen mit dem BPEL Testframework

Bereitschaftsdienst. Lastenheft Version 2.0. Mathias Kappelhoff Tim Köhne

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

Testen im Software- Entwicklungsprozess

Hardo Naumann LISA Schnittstelle Zusammenarbeit von EBÜS mit dem Leitstellensystem LISA von Dr. Pfau Fernwirktechnik GmbH

Benutzerhandbuch Beispielapplikation Finanzsituation

Digitale Erfassung aller operativen Prozesse im Krankenhaus

Re-Engineering: Test-First-Ansatz. Dr. Thorsten Arendt Marburg, 17. Dezember 2015

VU Qualitätssicherung in der Softwareentwicklung SS 2015 Assignment 1

Dineso Software - Technische Daten

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012

T1 - Fundamentaler Testprozess

Objektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen

Qualitätssicherung von Software

Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen

Systemtest im agilen Entwicklungsprozess. Uwe Hehn Sebastian Kern

Parameter in Korrespondenzen.

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Non-Player Character (NPC) in Betrieb nehmen

Code Beispiel: /* path element */ var el = rc.path("m l 0-50 l l 0-50 l l 0 50 l l 0 50 z");

Software- und Systementwicklung

Transkript:

I n f o r m a t i k p r o j e k t T A. P A W I. F S 2 0 1 2 Aspects of Privacy-Preserving Toll Pricing T e s t p l a n Horw, 8. Februar 2012

Projekt Dokument Schule Modul Projektteam Dozent Experte Letzte Änderung Aspects of Privacy-Preserving Toll Pricing Testplan, TA.PAWI.FS2012 Galliker Thomas Studiengang Informatik (BB) Panorama 6123 Geiss Tel. +41 79 504 80 70 thomas.galliker@stud.hslu.ch Dr. Marc Pouly Dr. Josef F. Bürgler 8. Februar 2012, 13:44:00 Uhr Moser Christoph Studiengang Informatik (VZ) Zugerbergstrasse 41 6314 Unterägeri Tel. +41 79 785 19 07 christoph.moser@stud.hslu.ch Änderungsprotokoll Version Datum Autor 0.1 18.01.2012 gat Initialversion von Vorlage erstellt 0.2 30.01.2012 gat Test Cases anhand der Use Cases erstellt 0.3 05.02.2012 gat Testbedingungen ergänzt 0.4 07.02.2012 gat Korrekturen und Ergänzungen

Inhalt 1 Einleitung... 4 1.1 Ziel & Zweck dieses Dokuments... 4 1.2 Begriffe... 4 2 Testphilosophie... 5 2.1 Unit-Test... 5 2.2 Integrationstest... 5 2.3 Systemtest... 5 3 Testspezifikation... 6 3.1 Testumgebung... 6 3.2 Testobjekte... 6 3.3 Wesentliche Testaspekte... 6 3.4 Testfälle... 7 Abbildungsverzeichnis Abbildung 1: GPS Testmessungen für Systemtests... 8 Tabellenverzeichnis Tabelle 1: Begriffserklärungen... 4 Tabelle 2: Abkürzungserklärungen... 4 Tabelle 3: Unit- und Integrationstests... 7 Tabelle 4: Systemtest, Test Case ID1... 8 Tabelle 5: Systemtest, Test Case ID2... 9 Tabelle 6: Systemtest, Test Case ID3... 9 Tabelle 7: Systemtest, Test Case ID4... 9

Testplan Einleitung 1 Einleitung 1.1 Ziel & Zweck dieses Dokuments In diesem Dokument wird das Testing im PAWI-Projekt Aspects of Privacy-Preserving Toll Pricing geplant. Anwendungsfälle werden in Testfällen abgebildet. Jeder Testfall enthält genaue Spezifikationen bezüglich Testbedingungen, Testvorgehen und erwarteten Resultaten. Alle Informationen, welche mit der Planung von Tests im Zusammenhang stehen, werden in diesem Dokument festgehalten. 1.2 Begriffe Begriff Unit Test Systemtest Integrationstest Tabelle 1: Begriffserklärungen Erklärung Dient zur Verifikation der Korrektheit von Modulen einer SW Testphase wo das gesamte System auf die Anforderungen (funktionale und nicht funktionale Anforderungen) getestet wird Testet die voneinander abhängigen Komponenten Abkürzung CL-RSA GPS HSLU moc OBU (Client) PAWI PrETP RPC TSP TSP Client TSP Service Erklärung Signaturalgorithmus von Camenisch und Lysyanskaya basierend auf RSA Global Positioning System Namenskürzel für Christoph Moser On-board Unit; mobiles Computersystem zur Verrechnung der Fahrleistung und Abrechnung mit dem Toll Service Provider Modulbezeichnung Industrieprojekt HSLU Privacy-preserving Electronic Toll Pricing; ein Strassenabrechnungssystem, welches die Privatsphäre des Anwenders schützt Remote Procedure Call; Aufruf von Prozeduren auf entfernten Systemen Toll Service Provider; staatlicher Strassenverwalter, erhebt und verrechnet Gebühren für die Benutzung von Strassen Client Applikation zur Verwaltung von TSP Service Service Applikation als zentrale Verwaltungsstelle des PrETP Systems XMPP Extensible Messaging and Presence Protocol, ehem. Jabber, Kommunikationsprotokoll für Instant Messanging (Facebook Chat, Google Talk) Tabelle 2: Abkürzungserklärungen TA.PAWI.FS2012 Aspects of Privacy-Preserving Toll Pricing C. Moser / T. Galliker 4 / 9

Testplan Testphilosophie 2 Testphilosophie Unsere Testphilosophie besteht aus drei wesentlichen Teilen: - Testen jeder Komponente (Unit-Tests) - Testen des Zusammenspiels der Komponenten (Integrations- und Systemtests) 2.1 Unit-Test In den Unit-Tests werden einzelne, in sich abgeschlossene Klassen getestet. Die Unit-Tests sollen wo immer möglich parallel zur Entwicklung erstellt und ausgeführt werden. Die Unit-Tests sollen nach dem Test-First Konzept mit JUnit durchgeführt werden. Der Test-First Ansatz geht davon aus, dass der Entwurf von Tests und deren Ausführung auch das Design des Programms vorantreibt. Bevor ein Stück eines Programms geschrieben wird, wird zuerst ein Test entworfen. Anschliessend wird nur so viel Programmcode geschrieben, wie der Test verlangt. Dementsprechend findet die Programmentwicklung in einer raschen Folge von Test- und Implementierungsschritten statt. Funktionalität ist bei Unit-Test gleichbedeutend mit Ein-/Ausgabeverhalten der zu prüfenden Einheit. Dabei wird jede Einheit isoliert getestet um sicher zu stellen, dass andere Einheiten keinen Einfluss auf das Verhalten der zu prüfenden Einheit haben und somit ein Fehler klar zu zuordnen ist. 2.2 Integrationstest Der Integrationstest hingegen prüft das Zusammenspiel von Komponenten und deren Wechselwirkung. Sowohl Unit-Tests als auch Integrationstests werden an den Schnittstellen der zu prüfenden Einheit durchgeführt. Wichtig ist, dass die Komponenten auf Basis der Systemspezifikation untereinander korrekt agieren und dass eine gute Leistung gewährleistet ist. 2.3 Systemtest Unit- und Integrationstest können mit gängigen Tools automatisiert werden. Komplette Systemtests werden in diesem Projekt manuell durch Testpersonen durchgeführt. Getestet werden hauptsächlich die in der Kundenanforderung erfassten Anwendungsfälle (Use Cases) sowie die funktionalen und nicht-funktionalen Anforderungen. TA.PAWI.FS2012 Aspects of Privacy-Preserving Toll Pricing C. Moser / T. Galliker 5 / 9

Testplan Testspezifikation 3 Testspezifikation Grundsätzlich sollen alle entwickelten Komponenten und deren Wechselwirkung kontinuierlich getestet werden. Um das Konzept von Continous Integration umzusetzen, werden die Unit- und Integrationstests in diesem Projekt auf einem TeamCity Build Server automatisch ausgeführt. Unit-Tests werden parallel zum Entwicklungsprozess einer Klasse erstellt und ausgeführt werden. Der TeamCity Server sorgt dafür, dass auch beim Einchecken von neuem Source Code sowie täglich um Mitternacht ein Build von allen Testobjekten erstellt wird. 3.1 Testumgebung TSP Service und TSP GUI Client wurden während den Tests auf Windows 7 Laptops ausgeführt. Die OBU Client Anwendung wurde sowohl auf dem Android Emulator wie auch auf einem Google Nexus One Mobiltelefon getestet. 3.2 Testobjekte Testobjekt tspclient tspservice obuclient common Vorgehensweise, Schwerpunkte beim Testen Das GUI in tspclient wird vorwiegend manuell getestet. Sämtliche Funktionen, welche im GUI implementiert sind, werden vorgängig in Unit-Tests getestet. Bei diesem Objekt kommen Unit- und Integrationstests in Frage. Unit-Tests können im Zusammenspiel mit Datenbank- und Kommunikationsverbindung geprüft werden. OBU Client wird vorwiegend manuell getestet. (Android Test Framework lieferte keine aussagekräftigen Informationen zurück). Der Fokus liegt hier vor allem bei Unit-Tests, welche die einzelnen Bibliotheken prüft. Die Schwerpunkte beim Testen liegen bei der Qualitätssteigerung der Crypto Library wie auch jener der XMPP-RPC Bibliothek. 3.3 Wesentliche Testaspekte Auf folgende wesentliche Testaspekte muss grossen Wert gelegt werden: Anforderungserfüllung: Erfüllen der geforderten Anforderungen. Robustheit: Die Tests sollten beliebig oft wiederholbar sein. Datenkonsistenz: Vor und nach dem Ausführen von Tests muss die Testdatenbank in einem Zustand hinterlassen werden, welcher wiederholtes (automatisiertes) Testen zulässt. Code Coverage: Keine Vorgaben; Selbstkontrolle. Interoperabilität: Verschiedene Laufzeitumgebungen müssen getestet werden. TA.PAWI.FS2012 Aspects of Privacy-Preserving Toll Pricing C. Moser / T. Galliker 6 / 9

Testplan Testspezifikation 3.4 Testfälle Die nachfolgenden Kapitel liefern Informationen zu den Testfällen, welche im Laufe des Projekts entstanden sind. Während Unit- und Integrationstests mittels automatisierter Softwaretests (JUnit) 3.4.1 Unit- und Integrationstests Folgende Unit- und Integrationstests wurden während der Entwicklung erstellt und ausgeführt: Test Name Komponente common DateUtilsExtTest GPSTest SerializerTest GroupParametersTest PrivateKeyTest PublicKeyTest CommitmentTest HashSchemeTest SignatureTest ZeroKnowledgeProofTest Komponente tspservice PointToMapTest XMPP_P2PTest XMPP_IOBU_RoomTest XMPP_ITSP_RoomTest Tests für die Formatumwandlung von Klasse Date zu String. Wird im Zusammenhang mit der SQLite Datenbank gebraucht, da dort keine SQL Datentypen für Date vorhanden sind. Testet einfache mathematische Operationen, wie z.b. die Distanz zwischen zwei GPS Koordinaten. Prüft die Funktionsweise der Serializer Klasse, welche für das Serialisieren von ArrayList Datentypen eingesetzt wird. Prüft ob ein GroupParameter Objekt in ein String und wieder zurück gewandelt werden kann. Diese wird benutzt um Group Parameters in der Datenbank zu speichern. Prüft ob ein PrivateKey Objekt in ein String und wieder zurück gewandelt werden kann. Diese wird benutzt um Private Keys in der Datenbank zu speichern. Prüft ob ein PublicKey Objekt in ein String und wieder zurück gewandelt werden kann. Diese wird benutzt um Public Keys in der Datenbank zu speichern. Erstellt und vergleicht Commitments. Erstellt und vergleicht Hashes. Erstellt und verifiziert CL-RSA Signaturen. Erstellt und verifiziert Proofs. Testet anhand der in der Datenbank konfigurierten Maps, ob und zu welcher Map die Testpunkte gehören. Testet eine XMPP Chat-Verbindung zwischen zwei Benutzern. Testet eine XMPP-RPC Chat-Verbindung zwischen einer OBU und dem TSP. Testet eine XMPP-RPC Chat-Verbindung zwischen dem TSP und einer OBU. SecurityManagerTest Prüft ob der Optimistic Payment Prozess auf der TSP korrekt funktioniert. Das heisst, ob korrekte Payments als solche gewertet werden und ob Manipulationen erkannt werden. Tabelle 3: Unit- und Integrationstests TA.PAWI.FS2012 Aspects of Privacy-Preserving Toll Pricing C. Moser / T. Galliker 7 / 9

Testplan Testspezifikation 3.4.2 Systemtests Die Systemtests dienen als praktischer Nachweis für die Erfüllung der Kundenanforderung. Die wurden sowohl mit dem Android Emulator wie auch mit einem physischen Android Device durchgeführt. Für die Systemtests wurde eine Testumgebung definiert, welche Horw in vier grosse Segmente unterteilt. Abbildung 1 zeigt die Karte mit den vier Zonen, abgegrenzt durch die aufgeführten GPS Eckpunkte. Die nachfolgende Tabelle enthält die Geo Fix GPS Koordinaten, welche dem Android Emulator während den Tests eingespeist wurden. Ref.# Geo Fix (Longitude/Latitude) geo fix 8.304870 47.013883 geo fix 8.305085 47.012640 geo fix 8.305407 47.011206 geo fix 8.308218 47.011703 geo fix 8.311157 47.014381 geo fix 8.311307 47.016561 geo fix 8.311565 47.018814 geo fix 8.309119 47.018243 geo fix 8.306179 47.018462 geo fix 8.303089 47.018287 geo fix 8.303733 47.016341 Abbildung 1: GPS Testmessungen für Systemtests ID 1 Strecke aufzeichnen Vorgehen 1. OBU Client starten 2. Im Abstand von 5 Sekunden die GPS Koordinaten der Horwer Runde einspielen. Voraussetzung TSP Service konfiguriert und gestartet Erwartetes Resultat Auf dem OBU Client wird angezeigt, dass eine Strecke von ungefähr zwei Kilometern erfasst wurde. Protokoll 03.02.2012 >300km in der Horwer Runde aufgezeichnet und ausgewertet. PaymentRecords einwandfrei erstellt. Abweichungen wegen Preisberechnungsfunktion von >20%! Das wird wohl an den grossen Abständen zwischen den GPS Punkten liegen. Tabelle 4: Systemtest, Test Case ID1 TA.PAWI.FS2012 Aspects of Privacy-Preserving Toll Pricing C. Moser / T. Galliker 8 / 9

Testplan Testspezifikation ID 2 Abrechnungsperiode verarbeiten Vorgehen 1. TSPClient starten 2. Im Tab Optimistic Payment das Fahrzeug auswählen, welches abgerechnet werden soll und das Enddatum bestimmen 3. Abrechnung starten Voraussetzung TSP Service konfiguriert und gestartet Horwer Runde wurde aufgezeichnet Erwartetes Resultat Der TSPClient zeigt auf, dass das Optimistic Payment erfolgreich war. Protokoll 03.02.2012 Test erfolgreich durchgeführt. Nacharbeiten nötig. Tabelle 5: Systemtest, Test Case ID2 ID 3 Beweis erfassen Vorgehen 1. TSPClient starten 2. Im Tab Optimistic Payment die benötigten Attribute (Longitude, Latitude, Datum, Fahrzeugkennzeichen) für einen Beweis ausfüllen. Voraussetzung TSP Service konfiguriert und gestartet Horwer Runde wurde aufgezeichnet Erwartetes Resultat Ein neuer Beweis wurde für das gewählte Fahrzeug in der Datenbank gespeichert. Protokoll 03.02.2012 Beweis wurde erfolgreich in der Datenbank gespeichert. Tabelle 6: Systemtest, Test Case ID3 ID 4 Beweis prüfen Vorgehen 1. TSPClient starten 2. Beweise für das abzurechnende Fahrzeug erfassen (siehe TestCase 3) 3. Abrechnugsperiode für das abzurechnende Fahrzeug starten (siehe TestCase 2) Voraussetzung TSP Service konfiguriert und gestartet Horwer Runde wurde aufgezeichnet Erwartetes Resultat Im TSPClient wird eine Auswertung der erfassten Challenges angezeigt. Die Challenges welche mit der aufgezeichneten Route übereinstimmen werden positiv gewertet. Protokoll 03.02.2012 Test erfolgreich durchgeführt. Nacharbeiten nötig. Tabelle 7: Systemtest, Test Case ID4 TA.PAWI.FS2012 Aspects of Privacy-Preserving Toll Pricing C. Moser / T. Galliker 9 / 9