Figaf Integration Regression Tool™
Would you like to minimize risks of failure on your system
when implementing changes?
© Figaf 2017
Why testing is important?
© Figaf 2017
35% of development cost is testing
• Multiply studies prove that testing account for 30-40% of
development cost in general IT projects.
• My guess for integration it is probably in the line.
• Bug fixing even more
© Figaf 2017
• Developer test
• Get test data
• Unit test
• User acceptance test
• Automated test
• Test manager and coordinator
• Test documentation
• Most important takes business time
What costs with the testing
If we do not test
• Could be a bomb
• Failure in your business
• Impact relationship with
partners
• Legal
• Cost money
• Support
• Fix problem again
• Change management
• Lost time with business
© Figaf 2017
© Figaf 2017
• Not testing enough
• Testing too low complexity
• Skip important tests because too complex
• Need to understand how to ensure data is correct, look in remote
system
• Maybe even involve partners, can take time
Problems with most test
My frustration
Idea
• Physiotherapy
• Adapter modules
• Create a copy of ICO use for
testing
• PoC
• Get development team
• Challenged to make tool simpler
© Figaf 2017
© Figaf 2017
•Record live messages
•Simple way of saving live messages and their output for test cases
•Setup test scenarios
•Reuse existing ICO for the testing
•Run tests
•Running regression tests with the recorded message on test system
•Verify
•Verifying that the original messages corresponds to the test run
What will the Integration Regression Tool do?
How the IRT works
© Figaf 2017
M
O
D
M
O
D
Operation Mapping
C
O
M
Send
System
Rec
System
M
O
D
M
O
D
C
O
M
Productive/agent system
I
R
T
I
R
T
Test system
JMS queue
Test database
Operation Mapping
M
O
D
M
O
D
C
O
M
I
R
T
Save for
comparison
M
O
D
M
O
D
XI3
I
R
T
© Figaf 2017
Rec
System
Request
msg
Mapping Request
mapped
Webservice
Response
Mapped
Mapping Response
Org
Synchronous recording/testing
© Figaf 2017
• Quick recording of messages
• Recording on agent systems, run test on local system
• B2B add on EDISeperater sceanrios
• Module and Dynamic Property validation
• Smart comparison of EDIFACT, X12, Text, XML JSON and
Binary/HEX
• Don’t need to sent message to partner
• Works both with sync and async
• Run test in batch jobs
• Dual stack recording
Features
© Figaf 2017
•Check if everything works when applying
support packages
•Check when changing mapping to make sure
nothing is affected
•Migration
•Reduce Risk in projects
Why use IRT
© Figaf 2017
Reports in Excel about Errors
What is tested with IRT
Covered
• Sender Modules
• Routing
• Mappings
• Receiver Modules
• Dynamic properties
• Synchronous messages
Not Covered
• Native communication outside
of the Java system like the raw
SOAP or IDOC calls
• Lookup values are not cached for
updates
© Figaf 2017
Business Case
© Figaf 2017
Hourly cost 80
Number of ico 200
Changes pr year 300
Number of
support packs pr
year 2
Assumptions
© Figaf 2017
Testing price
Time required
pr instance
Number of
ICOs Hours Price Pr year Cost pr year
Normal PI testing
Test an interface when changing mapping 120 1 2 160 300 48.000
Support packs installations testing 60 200 200 16000 2 32.000
Total 80.000
© Figaf 2017
IRT testing
½
Time required
pr instance
Number of
ICOs Hours Price Pr year Cost pr year
Normal PI testing
Test an interface when changing mapping 120 1 2 160 300 48.000
Support packs installations testing 60 200 200 16000 2 32.000
Total 80.000
Testing with IRT
IRT server 30.000
IRT installation and configuration 5.000
IRT create test cases 10 200 33 2667 1 2.667
Test an interface when changing mapping 5 1 0 7 300 2.000
Support packs installations testing 10 800 2 1.600
Total with IRT 39.667
© Figaf 2017
Time required
pr instance
Number of
ICOs Hours Price Pr year Cost pr year
Cost of not testing
Support cases 240 1 4 320 30 9.600
Rollback and start over 20000 0,3 6.000
Lost business because of errors 20000 1 20.000
System down 2 100000 0,5 50.000
Total for errors 85.600
Not testing
Use cases
Migration project
• Had to find a way to record productive messages
• Process them on test system
• Compare them
• For all scenarios lots manual work
• Not sure if it is tested correct
Patching
• Had to patch a PI system to latest patch
• Tested a bit around to figure out if something had changed.
• By conscience other developer was having abnormalities between D
(new SP) and QA (old SP)
• If not found on test we big production issue.
Everyday support
• When ever a bug has been fixed or new feature has been implanted.
• See if it break existing functionality.
Figaf.com/IRT
Get a free trial today
© Figaf 2017
FAQ
© Figaf 2017
What if Figaf stop supporting tool
• Code will be deposited with escrow service so you will be able to get
the code and update bugs
Maintance
• 20% yearly to get updates and support to the tool
Versions Supported
• Support SAP PI/PRO 7.31, 7.4 and 7.5
Dual stack
• We are working on dualstack recording. To record ABAP to Java
adapter, and Java adapter to ABAP.
• Select sender/receiver agreements. Then select ICO for running test.
• Other message fetched thru RFC/SOAP
Multiply systems
• What if I want to run IRT on both DEV and QA
• For testing purposes of IRT you will be able to get a free extra license
for your development system with a limit of 50 ICOs.
• If you want to perform full testing then second system is with 50%
discount.
Performance impact
• If module is on a communication channel it will cost <1ms if not
recording
• Recording will cost 3ms for processing in the module
• Total sync performance delay 12ms
*Depending on processor speed
Figaf.com/IRT
Get a free trial today
© Figaf 2017

Testing SAP PI/PO Interfaces the easy way

  • 1.
    Figaf Integration RegressionTool™ Would you like to minimize risks of failure on your system when implementing changes? © Figaf 2017
  • 2.
    Why testing isimportant? © Figaf 2017
  • 3.
    35% of developmentcost is testing • Multiply studies prove that testing account for 30-40% of development cost in general IT projects. • My guess for integration it is probably in the line. • Bug fixing even more
  • 4.
    © Figaf 2017 •Developer test • Get test data • Unit test • User acceptance test • Automated test • Test manager and coordinator • Test documentation • Most important takes business time What costs with the testing
  • 5.
    If we donot test • Could be a bomb • Failure in your business • Impact relationship with partners • Legal • Cost money • Support • Fix problem again • Change management • Lost time with business © Figaf 2017
  • 6.
    © Figaf 2017 •Not testing enough • Testing too low complexity • Skip important tests because too complex • Need to understand how to ensure data is correct, look in remote system • Maybe even involve partners, can take time Problems with most test
  • 7.
  • 8.
    Idea • Physiotherapy • Adaptermodules • Create a copy of ICO use for testing • PoC • Get development team • Challenged to make tool simpler © Figaf 2017
  • 9.
    © Figaf 2017 •Recordlive messages •Simple way of saving live messages and their output for test cases •Setup test scenarios •Reuse existing ICO for the testing •Run tests •Running regression tests with the recorded message on test system •Verify •Verifying that the original messages corresponds to the test run What will the Integration Regression Tool do?
  • 10.
    How the IRTworks © Figaf 2017
  • 11.
    M O D M O D Operation Mapping C O M Send System Rec System M O D M O D C O M Productive/agent system I R T I R T Testsystem JMS queue Test database Operation Mapping M O D M O D C O M I R T Save for comparison M O D M O D XI3 I R T © Figaf 2017 Rec System
  • 12.
  • 13.
    © Figaf 2017 •Quick recording of messages • Recording on agent systems, run test on local system • B2B add on EDISeperater sceanrios • Module and Dynamic Property validation • Smart comparison of EDIFACT, X12, Text, XML JSON and Binary/HEX • Don’t need to sent message to partner • Works both with sync and async • Run test in batch jobs • Dual stack recording Features
  • 14.
    © Figaf 2017 •Checkif everything works when applying support packages •Check when changing mapping to make sure nothing is affected •Migration •Reduce Risk in projects Why use IRT
  • 15.
    © Figaf 2017 Reportsin Excel about Errors
  • 16.
    What is testedwith IRT Covered • Sender Modules • Routing • Mappings • Receiver Modules • Dynamic properties • Synchronous messages Not Covered • Native communication outside of the Java system like the raw SOAP or IDOC calls • Lookup values are not cached for updates © Figaf 2017
  • 17.
  • 18.
    © Figaf 2017 Hourlycost 80 Number of ico 200 Changes pr year 300 Number of support packs pr year 2 Assumptions
  • 19.
    © Figaf 2017 Testingprice Time required pr instance Number of ICOs Hours Price Pr year Cost pr year Normal PI testing Test an interface when changing mapping 120 1 2 160 300 48.000 Support packs installations testing 60 200 200 16000 2 32.000 Total 80.000
  • 20.
    © Figaf 2017 IRTtesting ½ Time required pr instance Number of ICOs Hours Price Pr year Cost pr year Normal PI testing Test an interface when changing mapping 120 1 2 160 300 48.000 Support packs installations testing 60 200 200 16000 2 32.000 Total 80.000 Testing with IRT IRT server 30.000 IRT installation and configuration 5.000 IRT create test cases 10 200 33 2667 1 2.667 Test an interface when changing mapping 5 1 0 7 300 2.000 Support packs installations testing 10 800 2 1.600 Total with IRT 39.667
  • 21.
    © Figaf 2017 Timerequired pr instance Number of ICOs Hours Price Pr year Cost pr year Cost of not testing Support cases 240 1 4 320 30 9.600 Rollback and start over 20000 0,3 6.000 Lost business because of errors 20000 1 20.000 System down 2 100000 0,5 50.000 Total for errors 85.600 Not testing
  • 22.
  • 23.
    Migration project • Hadto find a way to record productive messages • Process them on test system • Compare them • For all scenarios lots manual work • Not sure if it is tested correct
  • 24.
    Patching • Had topatch a PI system to latest patch • Tested a bit around to figure out if something had changed. • By conscience other developer was having abnormalities between D (new SP) and QA (old SP) • If not found on test we big production issue.
  • 25.
    Everyday support • Whenever a bug has been fixed or new feature has been implanted. • See if it break existing functionality.
  • 26.
    Figaf.com/IRT Get a freetrial today © Figaf 2017
  • 27.
  • 28.
    What if Figafstop supporting tool • Code will be deposited with escrow service so you will be able to get the code and update bugs
  • 29.
    Maintance • 20% yearlyto get updates and support to the tool
  • 30.
    Versions Supported • SupportSAP PI/PRO 7.31, 7.4 and 7.5
  • 31.
    Dual stack • Weare working on dualstack recording. To record ABAP to Java adapter, and Java adapter to ABAP. • Select sender/receiver agreements. Then select ICO for running test. • Other message fetched thru RFC/SOAP
  • 32.
    Multiply systems • Whatif I want to run IRT on both DEV and QA • For testing purposes of IRT you will be able to get a free extra license for your development system with a limit of 50 ICOs. • If you want to perform full testing then second system is with 50% discount.
  • 33.
    Performance impact • Ifmodule is on a communication channel it will cost <1ms if not recording • Recording will cost 3ms for processing in the module • Total sync performance delay 12ms *Depending on processor speed
  • 34.
    Figaf.com/IRT Get a freetrial today © Figaf 2017

Editor's Notes

  • #8 Sitting at a golive Had to bug fix a maping Did just tested on one case No tools
  • #12 On the productive system MRT add a module as the first and last module in the process chain. Then when ever one of the modules is triggered the modules and the message is set for storage the file will be saved in a local JMS queue. This queue is read On the Test system we build a new system with the same configuration as on the productive with the following changes. Parties and Business systems/Compontents is created with a Prefix like Test in front to make sure it is not internering with you other configuration. Communication channels is created with HTTP to allow the MRT to send messages from test database to the adapter. The custom module expands dynamic properties. The Receiver channel sends the message to a service on the Test system where MRT will process the message.