Upload
vancong
View
213
Download
0
Embed Size (px)
Citation preview
DI 5.316:15 – 17:15
INTEGRATIONSCHAOS? TROTZ UNIT-TESTS UND AUFWENDIGER GUI-TESTS?Schnittstellenorientierung im Softwaredesign ist längst state of the art - gerade dann, wenn die neue oder geänderte Anwendung in eine komplexe Unternehmens-IT integriert werden und mit vielen anderen Anwendungen zusammen spielen muss. Doch warum kommt es immer wieder zu ausuferenden Integrationsphasen, wo Anwendungen schier nicht zusammen arbeiten wollen. Wo, wann und vor allem wie eine weitere Schnittstellenorientierung im Projekt die Integrationsaufwände und -risiken reduzieren und die Qualität steigern kann, zeigt diese interaktive Session.
Ludwig Ronny Eckardt (Diplom Informatiker) arbeitet als Software-Architekt und Berater bei der T-Systems Multimedia Solutions GmbH. Er verfügt über umfangreiche Erfahrungen als Anforderungsmanager, Software Architekt und Test Manager aus Projekten mit Geschäftsprozess- und Service-orientierten Unternehmensanwendungen.
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
HINWEISE
Alle innerhalb der Präsentation genannten und gegebenenfalls durch Dritte geschützteMarken und Kennzeichen unterliegen den Bestimmungen des jeweils gültigenKennzeichenrechts und den Rechten der jeweiligen eingetragenen Eigentümer. DieVerwendung von Marken und Kennzeichen In dieser PDF dient lediglich zur Informationund gibt keine Auskunft über deren freien Verfügbarkeit.
Die in der Präsentation enthaltenen Fotos und Grafiken dürfen nicht unabhängig vondieser Präsentation und auch nicht einzeln verwendet werden.
Eine Veröffentlichung dieser Präsentation, auch auszugsweise, ist ohne ausdrücklicheGenehmigung des Autors Ludwig Ronny Eckardt nicht zulässig.
2
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests?
T-SystemsMultimedia Solutions
Ludwig Ronny EckardtRequirements, Software Architecture, Quality Assurance
OOP 2014München
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
DIGITALE DIENSTE MIT LEIDENSCHAFTWIR SIND IHR PARTNER FÜR DIE ZUKUNFT IMDIGITALEN LEBENS- UND GESCHÄFTSRAUM
E-COMMERCE INTERNET PORTALE INTRANET PORTALE INNOVATIONEN WEB-IT MANAGEMENT
DIGITALE DIENSTE MIT LEIDENSCHAFTWIR SIND IHR PARTNER FÜR DIE ZUKUNFT IMDIGITALEN LEBENS- UND GESCHÄFTSRAUM
T-Systems Multimedia Solutions
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Business Scenario: e-Commerce Web Shop
Customer uses e-Shop via Browser
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Business Scenario: e-Commerce Web Shop
Customer uses e-Shop via Browser
Use cases requireinteraction of a lot of IT-systems
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Business Scenario: e-Commerce Web Shop
IT-Systems may be Complex
(Mainframe, ERM, … )
Consist of subcomponents
Customer uses e-Shop via Browser
Use cases requireinteraction of a lot of IT-systems
Outside (B2B)(Payment ProviderOnline Marketing,Logistic/Tracking,…)
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Business Scenario: e-Commerce Web Shop
Backoffice-IT-systems have GUI for humans too
Outside Development Team: Recognition of IT-systems via GUI
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Business Scenario: e-Commerce Web Shop
Backoffice-IT-systems have GUI for humans too
Outside Development Team: Recognition of IT-systems via GUI
Let’s focus the interaction between IT-systems
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Rough Development Process == illustrative ==QA-activities during test phases are part of everyone's process.
Test ProductionImplementationFunctional + Technical DesignRequirement
User Acceptance Test
System Integration Test
for each system
Integration
Unit Test
Unit Integration Test
System Test
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Implementation and System Test of Web Shop
Execution of test cases
interaction of the IT-systems during tests
surrounding IT-systems must be integrated
BUT …
Tester
and
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Consumer does not match to current version of the interface of provider: Provider reacts different then expected
Different then documented Incomplete Implementation of Provider-Side Wrong interpretation of the specification
(Different teams for consumer and provider-implementation) Different behaviour then the used mock/simulator for development Just sunshine scenarios work …
Infrastructure problems Security certificates do not match …
Non-functional problems Provider has performance issues, when adding more consumers
…
And if available …Integration nightmare
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Specification of system-interface both sides have to be compliant
Early and complete Specification of System-Interfaces (1/2)
Essentially a Key Lock Principle
<<System Interface>>Order Mgmt Customer Mgmt
<<Consumer>> <<Provider>>
Functional Specification Technical Specification
Operation(s) - Business Functions
In- and Out-Parameters
Transferred Data Structures
Validation
Functional Exceptions
Functional Protocol (Interaction-Seq.)
Technical Protocol – transport
Technical Protocol – content format
Technical Exceptions
Non functional requirements Service Level Agreements
(Performance, Load, Support)
Security, …
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Description – essential for business side
Early and complete Specification of System-Interfaces (2/2)
Customer MgmtOrder Mgmt<<Consumer>> <<Provider>>
Functional Specification Technical Specification
Path through infrastructure
Routing / Mediation / Transformation by Middleware
Basis settings in provider, …
Communication contract – essential for successful communication
! Both sides need to stand to the contract !
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Formal Review of Documentation Artefacts simple checklist Alternative: fill-in form Alternative: customize your modelling tool (check for mandatory fields)
When? Early: start to review requirements Later: Specifications & Design-Models
HINT: Mind to build up a glossary – or better a domain model
Side-effects: consistence over all interfaces Find lacks of information and design EARLY Have complete information, when implementation and test start Important for Governance Information to fill the API/SOA-Service-Repository
Quality Assurance by fast and easyinterface-focused review of specification
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Test the interfaces of each IT-System before integration
Test the functionality before integration with other systems
First test only independent functionality
GUI Tests
Interface Tests Direct test of the
<<system interface>> Interface-Test Suite replaces
the real system “Web Shop” (Test driver is <<consumer>>)
All known – our Unit Tests !?
<<System Interface>>
Web Shop
Payment Provider
<<System Interface>>
Order Mgmt
Interface Test Suite
<<System under Test>><<User Interface>>
Tester
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Unit Test – done by developers
System under Test
Unit Test Suite
Simulator A Simulator B
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Synchronous unit tests but asynchronous in real integration
Simulator / Mocks Not available (yet) Has to be developed? Limited functionality
Test data Has to be created?
Unit Test – done by developersMore challenges in unit-testing
System under Test
Unit Test Suite
Simulator A Simulator B
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Interface Test – done by specialized test teamUse a specialized Test Tool
Direct test of the system interface
Tests can address the GUI and the interface
Cover all matching test kinds
Easy creation of typical test case logic
Support for lots of different transport and content-technologies(HTTP/HTTPS,TCP/IP,JDBC,JMS (e.g., WebSphere, webMethods, Sonic, TIBCO), MQ,MTOM(XOP)/MIME/DIME attachments REST,SOAP,UDDI,WS-*,WS-Security,SAML,More/custom)
Integration in test management tools
Automation of tests with CI-Integration
<<System Interface>>
Web Shop
Payment Provider
<<System Interface>>
Order Mgmt
Interface Test Suite
<<System under Test>>
<<User Interface>>
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Project Phases Environments
DEV Development Environment
ST System Test Environment
UAT User Acceptance Test Environment
… environments for Teaching Show Cases
DEV
UATST
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Implementation and System Test of Web Shop
Execution of test cases
interaction of the IT-systems during tests
surrounding IT-systems must be integrated
BUT …
and
Tester
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Put each IT-System under Test (SuT) before integration in a sandbox.
Test the functionality before integration with other systems GUI Tests Interface Tests
First test only independent functionality
Interface-Test Suite replaces the real system “Web Shop” (driver is <<consumer>>)
If functionality needs other IT-systems Replace the real systems
Order Mgmt Simulator replaces real system “Order Mgmt” (simulator is <<provider>>)
<<System Interface>>
Web Shop
Payment Provider
<System Interface>>
Order Mgmt
Interface Test Suite
Order MgmtSimulator
<<System under Test>><<User Interface>>
Tester
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
31
SimulatorsLevels of functionality
Business logic - Dynamic, in real time computed responseWide range of test data – may be stored in data base
Ready compiled response depend on request
Static response – no mater what request
Perf
orm
ance
pro
files
Management of simulators(Release, Environment)
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Remember: Test data is everywhere !
Web Shop
Payment Provider
Order Mgmt
Interface Test Suite
Order MgmtSimulator
<<System under Test>>
Test data
Test data
Test data
Management needed
Across
Environments
Releases
Full reset of environment before start of test
Test data may be distributed by Interface Test Suite in Test Case Prepare Phase
<<User Interface>>
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Used Tools for Interface Test and Simulator-Development
+ a set of self developed add-ons / helpers
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Put it all together – save time, save costs, know the quality.
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
Did you recognize challenges of your projects?
T-Systems Multimedia Solutions GmbHAkkreditiertes Test and Integration Center Quality Assurance of System-Interfaces and SOA-Services
Ludwig Ronny EckardtRequirements Management, Software Architecture, Quality Assurance+49 351 2820 2162 (Phone)+49 175 269 13 38 (Mobile)[email protected]
http://www.t-systems-mms.com/TIC
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014
DIGITALE DIENSTE MIT LEIDENSCHAFTWIR SIND IHR PARTNER FÜR DIE ZUKUNFT IMDIGITALEN LEBENS- UND GESCHÄFTSRAUM
E-COMMERCE INTERNET PORTALE INTRANET PORTALE INNOVATIONEN WEB-IT MANAGEMENT
DIGITALE DIENSTE MIT LEIDENSCHAFTWIR SIND IHR PARTNER FÜR DIE ZUKUNFT IMDIGITALEN LEBENS- UND GESCHÄFTSRAUM
T-Systems Multimedia Solutions
© T-Systems Multimedia Solutions | Integrationschaos? Trotz Unit-Tests und aufwendiger GUI-Tests? | L.R. Eckardt | 2014