Title: Automated Testing of Server Side Software Components
1Automated Testing of Server Side Software
Components
2Presentation outline
- Introduction
- Motivation
- Background
- Problem statement
- Proposed approach
- General overview
- Prototypes architecture and implementation
- Evaluation and tests
- Future work and conclusion
- Questions
3Introduction Motivation I
- A correct concise definition
- Testing is the process of executing a program
with the intent of finding errors - Between 20 and 60 billion
- Software testing is everywhere
- 50 of time and cost
- Debugging time development time
4Introduction Motivation II
- Evaluate and improve software quality
- Software maintenance and software evolution is
easier - Todays applications are large and complex
- Need for automating the testing process
Courtesy of Gerard Meszaros, used with permission
5Introduction Background I
- Shopping Dossier
- Middleware framework
- Gives access to different business logics
Dossier logic
Shopping Dossier
Booking logic
...
6Introduction Background II
- Current architecture
- EJB based components
- Future architecture
- Web Services based
7Introduction Problem Statement I
- Testing such framework is complex
- Current tests include higher level layers
- A test scenario
- Can involve different business logics
- Components can be assembled into a specific flow
of actions - Can include complex data
- Components have different data structures
- Can have conditional logic
- In order to simulate real use cases
- Can be exercised with different test inputs
- Can be re-executed in a regression test campaign
-
8Proposed Approach General overview I
- Treating a test scenario as a BPEL process
- Advantages of using WS-BPEL
- Powerful language
- Allow to create complex sequence of actions
- Executable
- ...
9Proposed Approach General overview II
BPEL Process
Receive
Assign
WSDL
WSDL
WSDL
WSDL
Invoke
Invoke
WSDL
WSDL
Reply
10Proposed Approach General overview III
- Core components
- After investigations
Web Services Testing tool
Eclipse BPEL Designer
SoapUI
BPEL engine
Apache Ode
11Proposed Approach General overview IV
Web Services Testing tool (SoapUI)
Project ___TestSuite 1 ________TestCase 1 ....
BPEL engine (Apache Ode)
BPEL Process
12Proposed Approach General overview V
FAILED
13Proposed Approach Prototypes I
Web Services Testing tool (SoapUI)
SoapUI Extension
BPEL engine (Apache Ode)
BPEL Monitoring UI
SoapWUI
14Proposed Approach Prototypes II
- SoapUI Extension
- Web Service exposing several methods
- Get Projects
- Get Test suites
- Run Test suite
- ...
- Implemented using
- Apache Axis2
- Apache AXIOM
- SoapUI APIs
15Proposed Approach Prototypes III
- BPEL Monitoring Web UI
- Uses Apache Odes Web Services
- ProcessManagement
- InstanceManagement
- Implemented using
- Adobe Flex 3
- MXML
- ActionScript 3
16Proposed Approach Prototypes IV
17Proposed Approach Prototypes V
- SoapWUI
- Uses the SoapUI Extension Web Service
- Implemented using
- Adobe Flex 3
- MXML
- ActionScript 3
18Proposed Approach Prototypes VI
- Visual Data Representation
- Using Flare or RaVis
- XML variables
- SOAP messages
19Evaluation and tests I
- Flexible
- Easy to use
- Ability to control the granularity of the
complexity of a scenario - Powerful assertions mechanisms
- Maintainable by separating the sequence flow
and the tests - Automation execution fully automatic
- Based on open standards
- Performance
- Indirect benefit from StAx based AXIOM
20Evaluation and tests II
- Testing such system is not trivial
- The SoapUI extension was tested using SoapUI,
Junit and a remote debugger - Load tests
- Error injection
- Different assertions
- SLA
- SimpleContains
- ...
- The Flex Web applications were tested using
FlexUnit
21Future improvements I
- Deriving test cases and test data from the BPEL
process - Automatic verification of BPEL processes using
Model Checkers - Requires a formal representation of BPEL and XML
Schema
Test data generator
Web Services Testing tool (SoapUI)
Test case generator
22Future improvements II
23Conclusion
- Web Services are suitable to automate tests
thanks to WSDL,XML Schema... - Dont reinvent the wheel use existing
technologies, tools and libraries - BPEL is valuable since it enables the modelling
and execution of desired sequences of actions - Testers can benefit from SoapUIs flexibility and
extensibility, while analysts take advantage from
an RIA technology such as Adobe Flex - Improves the collaboration of testers and
business analysts
24Questions
- Thank you for your attention
- ?