Effizientes und effektives Testen von Embedded SW mit Google Test. Michael Bernhard

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Effizientes und effektives Testen von Embedded SW mit Google Test. Michael Bernhard"

Transkript

1 Effizientes und effektives Testen von Embedded SW mit Google Test Michael Bernhard 1

2 Agenda Warum testen? Wie testen? Google Test und Google Mock Toolintegration Schlussfolgerung 2

3 Die Norm fordert es Warum testen? Es braucht Sicherheit, dass ein Release genügend stabil und möglichst fehlerfrei ist Regressionen auffinden Debuggen Test-driven development Refactoring 3

4 Wie testen? Test-Framework Host, Simulator oder Target? Unit Test Was ist ein Unit? Codeabdeckung Testautomation Integration in IDE 4

5 Google Test Eine Bibliothek zum Schreiben von C++ Tests Open-Source, BSD Lizenz xunit Architektur Portabel und konfigurierbar Einfach zu erlernen, ausdruckstarkes Konzept Erweiterbar 5

6 Der Building Block cmp Building Blocks BuildingBlock:: Serv ice BuildingBlock «interface» BuildingBlock:: Adapter Adapter Service * BuildingBlock:: InternalClass AdaptedClass 6

7 Applikation mit Building Blocks cmp Clock SetDisplaState SetDisplaState «BuildingBlock» Controller DisplayTime DisplayTime «buildingblock» Display StartTimer BlinkTimerEvent SecondTick KeyEvent StartBlinkTimer GetBitmap DisplayString DisplayBitmap GetDimension «blocking» KeyEvent StartTimer TimerExpired Start Stop GetBitmap TimerElapsed «BuildingBlock» KeyDecoder «BuildingBlock» Timer «BuildingBlock» ResourceRepository GpioInterrupt KeyInterrupt Start StartTimerTick Stop StopTimerTick TimerTick TimerTick Read Read DisplayString DisplayBitmap GetDimension «driver» GpioDriv er «driver» TimerDriv er «driver» FlashPartition «driver» DisplayDriv er 7

8 Google Test: Ein kleines Beispiel cmp Building Blocks MMI Serv ice + Setup(AdapterBase&) : void + GetModeSwitch() : Mode + SetPowerLamp(boolean) : void + SetWarnLamp(boolean) : void «interface» AdapterBase + ReadSwitches() : int + SetLamps(int) : void 8

9 Google Test: Ein Testcase #include "mmi.h" #include <gtest/gtest.h> class AdapterStub : public MMI::AdapterBase public: int ReadSwitches() return 1; } void SetLamps(int state) } }; TEST(MMITest, GetModeSwitch) AdapterStub a; MMI::Service s; s.setup(a); TEST(MMITest, SetPowerLampOn) AdapterStub a; MMI::Service s; s.setup(a); } EXPECT_EQ(MMI::MODE_A, s.getmodeswitch()); } s.setpowerlamp(true); 9

10 #include "mmi.h" #include <gtest/gtest.h> Google Test: Test-Fixture class AdapterStub : public MMI::AdapterBase public: int ReadSwitches() return 1; } void SetLamps(int state) } }; class MMITest : public ::testing::test protected: void SetUp() s.setup(a); } }; AdapterStub a; MMI::Service s; TEST_F(MMITest, GetModeSwitch) EXPECT_EQ(MMI::MODE_A, s.getmodeswitch()); } TEST_F(MMITest, SetPowerLampOn) s.setpowerlamp(true); } 10

11 Google Test: Testrunner #include <gtest/gtest.h> int main(int argc, char **argv) testing::initgoogletest(&argc, argv); return RUN_ALL_TESTS(); } 11

12 Google Test: Test Makros EXPECT vs. ASSERT ASSERT_TRUE(fp = fopen(path, "r")); ASSERT_EQ(10, fread(buffer, 1, 10, fp)); EXPECT_STREQ(" ", buffer); Zusätzlicher Fehlerbeschrieb ASSERT_TRUE(fp = fopen(path, "r")) << "Failed to open the data file."; ASSERT_EQ(10, fread(buffer, 1, 10, fp)) << "The data file is smaller than expected."; EXPECT_STREQ(" ", buffer) << "The data file is corrupted."; expect_assert.cpp:24: Failure Value of: (fp = fopen(path, "r")) Actual: false Expected: true Failed to open the data file. 12

13 Google Test: Predicates bool MutuallyPrime(int m, int n)... } int a = 4, b = 10; EXPECT_TRUE(MutuallyPrime(a, b)); predicate.cpp:11: Failure Value of: MutuallyPrime(a, b) Actual: false Expected: true EXPECT_PRED2(MutuallyPrime, a, b); predicate.cpp:12: Failure MutuallyPrime(a, b) evaluates to false, where a evaluates to 4 b evaluates to 10 13

14 Der Building Block cmp Building Blocks BuildingBlock:: Serv ice BuildingBlock «interface» BuildingBlock:: Adapter Adapter Service * BuildingBlock:: InternalClass AdaptedClass 14

15 Stubs, Fakes oder Google Mock? Stubs oder Fakes Notwendig, da das Unit isoliert getestet werden soll Oft verschiedene Implementation notwendig Wie sieht man, was alles zu einem Test gehört? Google Mock Eine Implementation Konfiguration zur Laufzeit direkt im jeweiligen Test Beliebiges Verhalten Verifikation der Funktionsparameter Abhängigkeit der Funktionsaufrufe spezifizierbar 15

16 Google Mock: Die Mock Klasse class AdapterBase public: virtual int ReadSwitches() = 0; virtual void SetLamps(int state) = 0; }; #include "mmi.h" #include <gmock/gmock.h> class AdapterMock : public MMI::AdapterBase public: MOCK_METHOD0(ReadSwitches, int()); MOCk_METHOD1(SetLamps, void(int)); }; 16

17 Google Mock: Erwartungen formulieren #include "mmi.h" #include <gmock/gmock.h> using ::testing::return; using ::testing::eq; class MMITest : public ::testing::test protected: TEST_F(MMITest, GetModeSwitch) void SetUp() s.setup(a); EXPECT_CALL(a, ReadSwitches()).WillOnce(Return(1)); } AdapterMock a; EXPECT_EQ(MMI::MODE_A, s.getmodeswitch()); MMI::Service s; } }; TEST_F(MMITest, SetPowerLampOn) EXPECT_CALL(a, SetLamps(Eq(1))); } s.setpowerlamp(true); 17

18 Google Mock: Fehlerbeschrieb TEST_F(MMITest, SetPowerLampOn) EXPECT_CALL(a, SetLamps(Eq(1))); } s.setpowerlamp(true); Unexpected mock function call - returning directly. Function call: SetLamps(4) Google Mock tried the following 1 expectation, but it didn't match: mmi_test.cpp:34: EXPECT_CALL(a, SetLamps(Eq(1)))... Expected arg #0: is equal to 1 Actual: 4 Expected: to be called once Actual: never called - unsatisfied and active mmi_test.cpp:34: Failure Actual function call count doesn't match EXPECT_CALL(a, SetLamps(Eq(1)))... Expected: to be called once Actual: never called - unsatisfied and active 18

19 Eclipse Error Marker bei Fehler Unit Test Support in CDT Toolintegration 19

20 Toolintegration: Eclipse 20

21 Eclipse Error Marker bei Fehler Unit Test Support in CDT Toolintegration Einfaches Debuggen (--gtest_break_on_failure) Hudson/Jenkins Integration via XML Ausgabe 21

22 Toolintegration: Hudson/Jenkins 22

23 Eclipse Error Marker bei Fehler Unit Test Support in CDT Toolintegration Einfaches Debuggen (--gtest_break_on_failure) Hudson/Jenkins Integration via XML Ausgabe Testabdeckung mit GCC und LCOV einfach möglich 23

24 Toolintegration: LCOV 24

25 Schlussfolgerung Entwickeln und Testen in derselben Umgebung Jeder Testfall ist in sich abgeschlossen Schnelle Ausführung auf dem Host Einfaches Debugging Open-Source Gute Dokumentation Google Test und Google Mock sind hervorragende Frameworks um effizient C/C++ Code zu testen 25

26 Google Test code.google.com/p/googletest Google Mock code.google.com/p/googlemock Referenzen BSD Lizenz opensource.org/licenses/bsd-3-clause Effective C++ Testing Using Google Test docs.google.com/present/view?id=dfsbxvm5_0f5s4pvf9 Framework für Embedded SW LCOV ltp.sourceforge.net/coverage/lcov.php 26

Code verifizieren mittels

Code verifizieren mittels Code verifizieren mittels Unit- und Regressionstests Institut für Numerische Simulation, Universität Bonn Seminarreihe Technische Numerik Wozu sollen gut sein? Was für Testarten gibt es? Wie funktionieren

Mehr

Unit Tests mit Junit 4. Dario Borchers

Unit Tests mit Junit 4. Dario Borchers Unit Tests mit Junit 4 Dario Borchers Agenda Warum testgetriebene Entwicklung von Software? - Motivation Was ist testgetriebene Entwicklung? - Prozess der testgetriebenen Entwicklung - Arten von Tests

Mehr

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen

Mehr

1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2

1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2 1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Organisation Unit Testing

Mehr

Unit Testing, SUnit & You

Unit Testing, SUnit & You HUMBOLDT-UNIVERSITÄT ZU BERLIN MENSCH-TECHNIK-INTERAKTION ARBEITSGRUPPE SOFTWARETECHNIK (INSTITUT FÜR INFORMATIK) ARBEITSGRUPPE INGENEURPSYCHOLOGIE (INSTITUT FÜR PSYCHOLOGIE) Unit Testing, SUnit & You

Mehr

TDD für iphone OS. xpdays 2009. Tammo Freese

TDD für iphone OS. xpdays 2009. Tammo Freese TDD für iphone OS xpdays 2009 Tammo Freese Inhalt Unit Testing für iphone OS Mockobjekte für iphone OS TDD für iphone OS? Unit Testing auf dem iphone Vor iphone OS 3.0: kaum dokumentiert nur auf dem Entwicklungsrechner

Mehr

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck Unit Tests Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Das Test-Framework JUnit ETIS SS04

Das Test-Framework JUnit ETIS SS04 Das Test-Framework JUnit ETIS SS04 Gliederung Motivation TestFirst Grundlagen Assert TestCase Lebenszyklus TestCase UML-Diagramm TestCase TestSuite Zusammenfassung 2 Motivation (I) Kostspielige Folgen

Mehr

The Art of Unit Testing

The Art of Unit Testing The Art of Unit Testing 01.02.2011 Marco Heimeshoff Heimeshoff@gmx.de Übersicht Grundlagen des Unit Testing Test Driven Development Stubs & Mocks Behavior Driven Design The Art of Unit Testing Definition

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Praktikum Betriebssysteme 1. Aufgabe (1)

Praktikum Betriebssysteme 1. Aufgabe (1) FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten

Mehr

Unit Tests in der Testgetriebenen Entwicklung

Unit Tests in der Testgetriebenen Entwicklung Unit Tests in der Testgetriebenen Entwicklung Reduzierung des Testanteils am Gesamtsoftwareentwicklungsaufwand -- neue Strategien und Tools -- Hauptseminar Systemorientierte Informatik Christian Krauß

Mehr

EtherNet/IP Topology and Engineering MPx06/07/08VRS

EtherNet/IP Topology and Engineering MPx06/07/08VRS EtherNet/IP Topology and Engineering MPx06/07/08VRS 3 1. Engineering via free EtherNet/IPTM-Port of a device on Bus from MPx07V10 2. Engineering via optional Industrial-Ethernet-Switch 3. Engineering via

Mehr

Web-Anwendungen mit Arquillian testen

Web-Anwendungen mit Arquillian testen Michael Kotten open knowledge @michaelkotten @_openknowledge Wozu denn testen? Ich mach doch keine Fehler! Wozu denn testen? > Notwendig bei komplexen Systemen > Sicherung von > Qualität > Funktionalität

Mehr

Vergleich verschiedener OO-Programmiersprachen

Vergleich verschiedener OO-Programmiersprachen Vergleich verschiedener OO-Programmiersprachen - Schnellumstieg in 15 Minuten - C++ Java Visual C++ C# Programmbeispiel in Visual C++, C#, Java und C++ Dr. Ehlert, Juni 2012 1 Inhaltsverzeichnis 1. Problemstellung

Mehr

Unit Testing mit NUnit

Unit Testing mit NUnit Unit Testing mit NUnit Vortrag in der Praktikumsveranstaltung SWAT Sommersemester 2013 Michael Fiedler 16. Mai 2013 1 / 22 Überblick 1 Erinnerung: Unit-Tests 2 NUnit 3 Kurze Vorführung

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

Test Driven Development

Test Driven Development Test Driven Development Definition & Motivation [~15min] Demo [~10min] Stubs & Mocks [~15min] Übliche Fehler [~5min] Folie 1 TDD [Kent Beck] Schreibe keine Zeile Code ohne einen fehlschlagenden (roten)

Mehr

JUnit. Unit testing unter Java

JUnit. Unit testing unter Java JUnit Unit testing unter Java Was ist Junit? einfaches Framework zum Schreiben von wiederholbaren Tests Besonders geeignet für unit testing Erlaubt Hierarchie von Testsuites Schreiben eines Test Case 1.

Mehr

Das automatisierte Testen mit JUnit

Das automatisierte Testen mit JUnit Das automatisierte Testen mit JUnit SWT Seminar (SS03) Ausgearbeitet von Sundui Baatarjav Am Fachbereich Informatik der TU-Berlin EINLEITUNG 3 JUNIT - FRAMEWORK 4 Aufbau und Struktur 4 TestCase 4 Assert

Mehr

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014 Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase

Mehr

1 Native C Code in C# Umgebung mit Visual Studio 2010

1 Native C Code in C# Umgebung mit Visual Studio 2010 1 Native C Code in C# Umgebung mit Visual Studio 2010 29.07.2013 1.1 Ziel Ein Embedded C Code soll innerhalb einer C# Umgebung lauf- und debuggfähig sein. Der C# Anteil stellt dem Embedded C Code einen

Mehr

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen Info: Standard DO-178B Zertifizierung Federal AviationAdministration (FAA), Software für Luftverkehrssysteme durch Standard DO-178B für requirement-based Tests and Code Coverage Analyse DO-178B-Levels

Mehr

Allgemein: Klassen testbar machen. 5. Mocking. Mocks programmieren. Zusammenspiel von Klassen testen

Allgemein: Klassen testbar machen. 5. Mocking. Mocks programmieren. Zusammenspiel von Klassen testen 5. Mocking Allgemein: Klassen testbar machen Wie werden Klassen testbar Entwicklung von Mocks mit der Hand Einführung in JMock Spezifikation von Mocks mit JMock Wann ist Mocking-Werkzeug sinnvoll Literatur:

Mehr

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit

Mehr

Testen mit JUnit. Martin Wirsing. Ziele. in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang

Testen mit JUnit. Martin Wirsing. Ziele. in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang Testen mit JUnit Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang 12/04 2 Ziele Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen 3 Testen Da

Mehr

Überblick. Einleitung. Unit-Tests. JUnit. HelloWorld Beispiel. Praktische Beispiele. Referenzen

Überblick. Einleitung. Unit-Tests. JUnit. HelloWorld Beispiel. Praktische Beispiele. Referenzen Testen mit JUnit 1 Überblick Einleitung Unit-Tests JUnit HelloWorld Beispiel Praktische Beispiele Referenzen 2 Einleitung Irren ist menschlich Überprüfung auf Knopfdruck Entwicklung richtiger Tests ->

Mehr

PHP & Windows. Jan Burkl System Engineer, Zend Technologies. All rights reserved. Zend Technologies, Inc.

PHP & Windows. Jan Burkl System Engineer, Zend Technologies. All rights reserved. Zend Technologies, Inc. PHP & Windows Jan Burkl System Engineer, Zend Technologies Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer Zend Certified Engineer PHP

Mehr

Refactoring Unit-Tests

Refactoring Unit-Tests def test_validate_e_mail @user.e_mail = '' assert!@user.save assert_equal ["is invalid", "can't be blank"], @user.errors.on(:e_mail) @user.e_mail = 'dhjxfgjdxfj' assert!@user.save assert_equal "is invalid",

Mehr

Fabian Schmengler Pragmatisches Unit Testing. Meet Magento DE 2015

Fabian Schmengler Pragmatisches Unit Testing. Meet Magento DE 2015 Fabian Schmengler Pragmatisches Unit Testing Meet Magento DE 2015 1 Agenda Grundlagen: Warum automatisierte Tests? Tests und TDD mit Magento: Überblick und Beispiel Ausblick auf Magento 2 2 Warum Automatisiertes

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Konsequent agile Entwicklung mit funk4onaler Programmierung. Michael Sperber

Konsequent agile Entwicklung mit funk4onaler Programmierung. Michael Sperber Konsequent agile Entwicklung mit funk4onaler Programmierung Michael Sperber Individualso4ware branchenunabhängig Scala, Clojure, Erlang, Haskell, F# Schulungen, Coaching www.acave- group.de funkaonale-

Mehr

Android Testautomatisierung mit dem Framework Robotium

Android Testautomatisierung mit dem Framework Robotium Android Testautomatisierung mit dem Framework Robotium Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt daniel.knott@xing.com Daniel Knott hat

Mehr

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls Testen von Java-Code mit JUnit ÿmotivation ÿjunit-testklassen ÿjunit-testfälle ÿstruktur eines Testfalls Henning Wolf APCON Workplace Solutions GmbH wolf@jwam.de Motivation: Werkzeugunterstützung für Tests

Mehr

Codingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008

Codingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008 I. Einleitung II. Codingstandard Softwareentwicklung Praktikum Stand: 27.02.2008 Wie in der Vorlesung schon ausgeführt wurde, ist die Lesbarkeit und Wartbarkeit des Sourcecodes ein sehr wichtiges Kriterium

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Tipps & Tricks für das Testen von Microservices

Tipps & Tricks für das Testen von Microservices Tipps & Tricks für das Testen von Microservices Jörg Pfründer Hypoport AG EUROPACE EUROPACE 15% der Immobilienkredite Deutschlands EUROPACE 15% der Immobilienkredite Deutschlands ca. 3 Mrd Euro / Monat

Mehr

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch Eclipse Runtime (OSGi) als Plattform eines Swing Rich Client Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch Zu meiner Person

Mehr

Christian Meder inovex. Sauberes Grün QS für Android

Christian Meder inovex. Sauberes Grün QS für Android Konferenz Christian Meder inovex Sauberes Grün QS für Android Sauberes Grün: QS für Android W-JAX, 2011 Christian Meder inovex GmbH Chief Technology Officer 09.11.2011 1 Speaker Christian Meder Schwerpunkte

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Dirk Wischermann Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 18. Dezember 2006 Inhalt Nachlese

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart Softwaretests Christoph Betschart 27. Oktober 2014 Inhaltsverzeichnis Einführung Arten von Softwaretests Prinzipien Seven Principles of Software Testing Continuous Integration Tests in FLOSS-Projekten

Mehr

Thema: Testen von objektorientierter Software

Thema: Testen von objektorientierter Software Seminar Simulation und Bildanalyse mit Java Thema: Testen von objektorientierter Software Uta Dienst 1. Teil: Einführung in den Software-Test 2. Teil: JUnit-Einführung Uta Dienst 17.11.2003 2 1. Teil:

Mehr

Akzeptanztesten mit Integrity und FitNesse Ein Vergleich

Akzeptanztesten mit Integrity und FitNesse Ein Vergleich Akzeptanztesten mit Integrity und FitNesse Ein Vergleich Dehla Sokenou GEBIT Solutions TAV35, Ingolstadt Motivation Akzeptanztest als letzte Phase im Softwareentwicklungsprozess Idealerweise durch den

Mehr

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept Testkonzept 1.Einführung Um die Zuverläsigkeit und die Qualität der Software und des gesamten Systems zu verbessern, sind Tests durchzuführen. Die Testreihe läst sich in drei Stufen einteilen, nülich Komponententest,

Mehr

Wir können alles außer Testen Andreas Zeller Universität des Saarlandes

Wir können alles außer Testen Andreas Zeller Universität des Saarlandes Wir können alles außer Testen Andreas Zeller Universität des Saarlandes Testen Testen Mehr Testen Noch mehr Testen Software ist vielfältig Software ist vielfältig Software ist vielfältig Software ist vielfältig

Mehr

Die LogTrace-Bibliothek

Die LogTrace-Bibliothek Die LogTrace-Bibliothek Debugging-Hilfsmittel Weiteres Beispiel Motivation void Func() { FunktionLog var( Func );... Func2();... Ausgabe sollte hier sein: >Func > Func2 < Func2 < Func void Func2() { FunktionLog

Mehr

Der EMF-generierte Code. 7. November 2012

Der EMF-generierte Code. 7. November 2012 Der EMF-generierte Code 7. November 2012 Überblick Wie sieht der aus einem EMF-Modell generierte Code aus? Wie ist die Beziehung zwischen Modell und Code? Wie kann generierter Code durch handgeschriebenen

Mehr

Testen mit JUnit. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03

Testen mit JUnit. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 Testen mit JUnit Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen 3 Testen Da die meisten Programme

Mehr

Programmierung 2 Studiengang MI / WI

Programmierung 2 Studiengang MI / WI Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung

Mehr

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT Architektur Übersicht (allgemeine) OOP in C++ Polymorphie Virtuelle Funktionen Kompilieren Linken dynamische/statische Bibliotheken Tutorial: vs2008+ogre+(campus modell) Architektur (allgemeine) OOP in

Mehr

JPC Visualisierung in Java

JPC Visualisierung in Java Visualisierung in Java Ihr Partner für f r Embedded Systeme! Hauptsitz: Niederwangen (Bern), Schweiz Niederlassungen: Winterthur (Zürich) und Basel, Schweiz Sales Office: München, Deutschland NetModule

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Arne Limburg open knowledge GmbH. Mobile Testing mit Android

Arne Limburg open knowledge GmbH. Mobile Testing mit Android Arne Limburg open knowledge GmbH Mobile Testing mit Android Meine Person Arne Limburg Enterprise Architeckt open knowledge GmbH @ArneLimburg @_openknowledge www.openknowledge.de Herausforderungen Vielfalt

Mehr

Martin Schütte. 6. Brandenburger Linux-Infotag 21. November 2009

Martin Schütte. 6. Brandenburger Linux-Infotag 21. November 2009 Martin Schütte 6. Brandenburger Linux-Infotag 21. November 2009 Was ist PEAR? PHP Extension and Application Repository Bibliothek offenen PHP-Quellcodes PHP Coding Standards Infrastruktur PEAR s mission

Mehr

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder Michael Greifeneder OSGi The Next Generation Java Service Platform SOA - The Java Way or My classpath is killing me Bilder von Peter Kriens W-JAX Keynote 2007 und Neil Bartletts Getting Started with OSGi

Mehr

Testgetriebenes Ajax. Johannes Link unabhängiger Softwarecoach http://johanneslink.net. Marco Klemm andrena objects ag http://andrena.

Testgetriebenes Ajax. Johannes Link unabhängiger Softwarecoach http://johanneslink.net. Marco Klemm andrena objects ag http://andrena. Johannes Link unabhängiger Softwarecoach http://johanneslink.net Marco Klemm andrena objects ag http://andrena.de Agenda Was ist Testgetriebene Entwicklung (TDD)? Herausforderungen bei Ajax-Applikationen

Mehr

GUI Programmierung mit Qt

GUI Programmierung mit Qt GUI Programmierung mit Qt C++ vs. JAVA Norman Wolf 22.04.05 GUI Programmierung mit Qt 1 Einleitung Qt wird von der norwegischen Firma Trolltech entwickelt Es ist kommerzielle Software, die aber von Trolltech

Mehr

Unit Tests und Fehlersuche

Unit Tests und Fehlersuche Unit Tests und Fehlersuche SE 1 - Softwareentwicklungspraktikum Test Deadline! Sinnvolle Tests kompilierbar im CVS d.h. Schnittstellen zu Strategiemethoden etc. schon erstellen Kommentieren! Besser ein

Mehr

Software Test- und Analyse-Tools für Produktivität und Qualität. www.verifysoft.com

Software Test- und Analyse-Tools für Produktivität und Qualität. www.verifysoft.com Software Test- und Analyse-Tools für Produktivität und Qualität www.verifysoft.com TEST- UND ANALYSE-TOOLS Conformiq Test Generator Das Erstellen von Testfällen ist der größte Aufwandsblock bei Softwaretests:

Mehr

leicht zu schreiben sein. Wenn ein Test nicht leicht zu schreiben ist, werden wir ihn nicht schreiben.

leicht zu schreiben sein. Wenn ein Test nicht leicht zu schreiben ist, werden wir ihn nicht schreiben. PHPUnit Eine kurze Einführung vom Frank Staude vorgetragen beim Treffen der PHP Usergroup Hannover am 02.11.2006 Warum Testen? Jeder von uns, der programmiert, macht auch Fehler. Es

Mehr

Der Goopax Compiler GPU-Programmierung in C++ ZKI AK-Supercomputing, Münster, 27.03.2014, Ingo Josopait

Der Goopax Compiler GPU-Programmierung in C++ ZKI AK-Supercomputing, Münster, 27.03.2014, Ingo Josopait Der Goopax Compiler GPU-Programmierung in C++ AMD R9 290X: 5.6 TFLOPS (SP MulAdd) Programmierung ~10000 Threads Entwicklungsumgebungen Entwicklungsumgebungen CUDA, OpenCL Compiler: kernel GPU Maschinencode

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

WIRTSCHAFTSINFORMATIK

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster A platform for professional model-driven software development. Präsentation im Rahmen des Seminars Software Engineering WS 08/09 Jan Schürmeier Jan.Schuermeier@gmx.de

Mehr

Zend Framework MVC Applikationen testen

Zend Framework MVC Applikationen testen Zend Framework MVC Applikationen testen Jan Burkl, System Engineer, Zend Technologies Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring? oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

CASE-Tools: Code Generation. Vortragender: Alexander Kullik

CASE-Tools: Code Generation. Vortragender: Alexander Kullik 1 CASE-Tools: Code Generation Vortragender: Alexander Kullik 2 Gliederung Definition von code generation Hand coding vs. code generation Code generation skills Aktive Codegeneratoren Vorteile und Nachteile

Mehr

Continuous Delivery. für Java Anwendungen. Axel Fontaine 28.10.2010. Software Development Expert

Continuous Delivery. für Java Anwendungen. Axel Fontaine 28.10.2010. Software Development Expert 28.10.2010 Continuous Delivery für Java Anwendungen Axel Fontaine Software Development Expert twitter.com/axelfontaine blog.axelfontaine.eu business@axelfontaine.eu Ceci n est pas une build tool. Ceci

Mehr

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies

Mehr

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Relationen-Algebra und Persistenz Teil I

Relationen-Algebra und Persistenz Teil I Relationen-Algebra und Persistenz Teil I Implementierungskonzepte und Anforderungen an Attributdatentypen LG Datenbanksysteme für neue Anwendungen Inhalt FLOBs DBArrays Attributsdatentypen Folie 2 Bisher:

Mehr

Mobile Development in.net mit Xamarin

Mobile Development in.net mit Xamarin 1 Mobile Development in.net mit Xamarin Mobile Web (Hybrid) Apps Vorteil: Weniger Aufwand Multi-Plattform Web-Technologien Nachteil: UX Performance UI Design Gerätefunktionen 2 Plattform abstrahieren 3

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

Testen im Software- Lebenszyklus

Testen im Software- Lebenszyklus TestNG TestNG Testen im Software- Lebenszyklus White-Box vs Black-Box Testing White-Box-Testing Black-Box-Testing Test-Driven Development (TDD) testgetriebene Entwicklung zuerst werden die Unit-Tests erstellt.

Mehr

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe

Mehr

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg Connecting Android Externe Hardware mit dem grünen Roboter verbinden Alexander Dahmen Dominik Helleberg Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+

Mehr

Die Alternative zum Web-Form Modell

Die Alternative zum Web-Form Modell Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET

Mehr

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen Kommunikationsnetze Gliederung 1. Socket-Programmierung unter C 2. Socket-Programmierung unter Java Gliederung Berkeley Sockets (Erste freie TCP/IP-Implementierung in Berkeley UNIX): SOCKET: Erzeugen eines

Mehr

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps Agenda Ziele Portable Class Libraries Projektaufbau MVVM Databinding #1 MVVM Light Inversion of Control & Dependency Injection Repository Pattern Databinding #2 Skalierbare Enterprise Architekturen für

Mehr

Shibboleth und Penrose Virtual Directory

Shibboleth und Penrose Virtual Directory Bibliothek der Helmut-Schmidt-Universität Hamburg Virtual Directory Attribute für den IdP aus heterogenen Quellen AAI Forum im Rahmen der Betriebstagung des DFN Berlin, 26.10.2010 Ulrich.Hahn@hsu-bibliothek.de

Mehr

Desktop Management Interface und andere Initiativen der DMTF

Desktop Management Interface und andere Initiativen der DMTF Desktop Management Interface und andere Initiativen der DMTF Gliederung DMI Übersicht Architektur, Organisation Informationsmodell Kommunikationsmodell Sicherheit DMI-Zertifizierung Weitere DMTF-Initiativen

Mehr

Testen und Testautomatisierung in agilen Projekten

Testen und Testautomatisierung in agilen Projekten Testen und Testautomatisierung in agilen Projekten DR. WILHELM HUMMER wh@techtalk.at COPYRIGHT 2011, TECHTALK - WWW.TECHTALK.AT Wie es zu diesem Vortrag kam COPYRIGHT 2011, TECHTALK - WWW.TECHTALK.AT Testen

Mehr

Lasst die Roboter arbeiten: Oberflächen (Test) Automation im Fokus

Lasst die Roboter arbeiten: Oberflächen (Test) Automation im Fokus 1 Lasst die Roboter arbeiten: Oberflächen (Test) Automation im Fokus SEQIS Software Testing Know-how Veranstaltungen 2011 24.03.2011 16.06.2011 22.09.2011 24.11.2011 Nicht zuviel und nicht zuwenig: Testdokumentation

Mehr

Programmiertechnik II

Programmiertechnik II Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing

Mehr

Reflection. Arthur Zaczek. Nov 2014

Reflection. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Einleitung 1.1 Definition Reflection ist das Auslesen von Metainformationen über Klassen, deren Methoden & Eigenschaften zur Laufzeit. 1.2 Anwendungsfälle Analyse von Programmen

Mehr

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 NetX - Einführung 2008 Jiri Spale, Programmierung in eingebetteten Systemen 2 NetX is... a highly integrated network controller with a new system

Mehr

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs Diplomarbeit Abschlussvortrag Stephan Vogt stephan.vogt@cs.uni-dortmund.de 1 Inhalt Einleitung Wiederverwendung von BS Arbeiten an CiAO Kommunikation

Mehr

Programmierung 2 Studiengang MI / WI

Programmierung 2 Studiengang MI / WI Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung

Mehr

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG CONTINUOUS DELIVERY Entmystifiziert WIE SOFTWARE LIEFERN? 01.07.2014 2 WAS IST CONTINUOUS DELIVERY? Robust Wiederholbar Effektiv 01.07.2014 3 LANDSCHAFTEN Continuous Integration Public / Private Hybrid

Mehr

Rich Internet Applications Technologien. Leif Hartmann INF-M3 Anwendungen 2 - Wintersemester 2007/2008 08. Januar 2008

Rich Internet Applications Technologien. Leif Hartmann INF-M3 Anwendungen 2 - Wintersemester 2007/2008 08. Januar 2008 Rich Internet Applications Technologien Leif Hartmann INF-M3 Anwendungen 2 - Wintersemester 2007/2008 08. Januar 2008 Einleitung Inhalt Kategorisierung Technologien E c h o G o o g le W e b T o o lk it

Mehr

Softwaretechnik. Prof. Tomas Bures, PhD., Dipl. Inf. Lenz Belzner, Dipl. Inf. Christian Kroiß

Softwaretechnik. Prof. Tomas Bures, PhD., Dipl. Inf. Lenz Belzner, Dipl. Inf. Christian Kroiß Ludwig-Maximilians-Universität München Institut für Informatik WS 203/4 Übungsblatt Softwaretechnik Prof. Tomas Bures, PhD., Dipl. Inf. Lenz Belzner, Dipl. Inf. Christian Kroiß Aufgabe Folgendes Klassen-

Mehr

Markus Wichmann. Testen von Java Code mit. JUnit

Markus Wichmann. Testen von Java Code mit. JUnit Markus Wichmann Testen von Java Code mit JUnit Demotivation... Am Anfang war der Zeitdruck... Hilfe, ich habe doch keine Zeit zum Testen! Ich schreibe einfach keine Tests, dadurch werde ich schneller fertig

Mehr

Programmieren 3 C++ Prof. Peter Sommerlad Fredy Ulmer

Programmieren 3 C++ Prof. Peter Sommerlad Fredy Ulmer Programmieren 3 C++ Prof. Peter Sommerlad Fredy Ulmer Was Sie erwartet: Modernes C++ anwenden o ISO 14882 ist Norm für C++! o kein schlechteres Java, sondern mächtiger Moderne Standardbibliotheken anwenden

Mehr

Testgetriebene Entwicklung mit ABAP

Testgetriebene Entwicklung mit ABAP Testgetriebene Entwicklung mit ABAP XP Days 2007 Karlsruhe Achim Bangert Achim.Bangert@andrena.de www.andrena.de Agenda Testgetriebene Entwicklung ABAP Unit Testausführung über Code Inspector Dummy- und

Mehr