Professional Documents
Culture Documents
Agenda
Introduction on Software Architecture Overview on Service Oriented Architecture SOA Test Methodology Automation Testing Tools
User
Business
System
The risks exposed by poor architecture include software that is unstable, is unable to support existing or future business requirements, or is difficult to deploy or manage in a production environment. The architecture should: Expose the structure of the system but hide the implementation details. Realize all of the use cases and scenarios. Try to address the requirements of various stakeholders. Handle both functional and quality requirements.
Architectural Styles
Architecture Style Client / Server Description
Segregates the system into two applications, where the client makes requests to the server. In many cases, the server is a database with application logic represented as stored procedures. Decomposes application design into reusable functional or logical components that expose well-defined communication interfaces An object-oriented architectural style focused on modeling a business domain and defining business objects based on entities within the business domain Segregates functionality into separate segments, but with each segment being a tier located on a physically separate computer. Refers to applications that expose and consume functionality as a service using contracts and messages.
Component Based Architecture Domain Driven Design N - Tier / 3 - Tier Service Oriented Architecture (SOA)
What is SOA?
SOA is the architectural style that supports loosely coupled services to enable business flexibility in an interoperable, technology-agnostic manner
SOA can mean different things to different people depending on the person's role and context.
From an architecture perspective, SOA is an architectural style that supports service orientation. At an implementation level, SOA is fulfilled using a standards based infrastructure, programming model and technologies such as Web Services. From a business perspective, SOA defines a set of business services composed. From an operational perspective, SOA includes a set of agreements between service consumers and providers that specify the quality of service, as well as reporting on the key business and IT metrics
SOA testing can be Categorized into the following phases: Governance Testing Service-component-level testing Service-level testing Integration-level testing Process/Orchestration-level testing System-level testing Security Testing
Governance
Security
Services
Rep
Database
Internet based Services
New Services
Service Component Level Testing: This is normally performed by the developers to test that the code not only successfully compiles, but the basic functionality of the components and functions within a service are working as specified.
Service Level Testing: Functional, performance and security regression suites to be executed against the service. This testing must ensure that the service is not only meeting the requirements of the current project, but more importantly, is still meeting the business and operational requirements of the other processes that are using that service
Security Testing: SOA requires security testing to be designed and planned right from the start of the project.SOA combined with Government and Regulatory compliance, will require Security testing activities to be incorporated into the entire project life cycle.
Functional Yes
Performance Yes
Interoperability Yes
Compliance Yes
Security Yes
Yes Yes
Yes -
Yes
Yes -
Yes Yes
Yes
Yes
Yes
Yes
Yes
Commercial Products
SOAPUI pro is the commercial enterprise version. soapUI Pro adds a number of productivity enhancements to the soapUI core which are designed to ease many recurring tasks when working with soapUI
Best Practices
Design your SOA project test approach alongside the definition of business requirements and high-level technical design. Ensure the test teams are involved right from the start. Static test techniques such as formal inspections are a must to ensure the business requirements and technical designs are defined to standards and are complete. SOA is driven by business and not technology. The test team will have to ensure the key business stakeholders and users are actively involved throughout the project life cycle Majority of testing activities need to be performed during the business requirements analysis, design and service build phases. Automation Test Tools are must.
Questions
Thank You