SOA TESTING





   SERVICE ORIENTED ARCHITECTURE

Testing is a Testing of Service Oriented Architecture (SOA) which is an architectural style in which the application components are designed to communicate via communication protocols typically over a network.

Image result for soa testing




    SOA testing methods

    Business scenario driven data based testing,
    • Various business aspects related to the system should be analyzed.
    • Scenarios should be developed based on the integration of
      • Various Web services of the application
      • Web services and application.
    • Data set up should be done based on the above scenarios.
    • Data set up should be done so as to cover end to end scenarios as well.
    Stubs
    • Dummy interfaces will be created to test services.
    • Various inputs can be provided through these interfaces, and the outputs can be validated.
    • When an application uses an interface to an external service, which is not under test (third party service), a stub can be created during integration testing.
    Regression testing
    • Regression Testing on the application should be done when there are multiple releases so as to ensure the stability and availability of the systems.
    • A comprehensive regression test suite will be created covering the services which form an important part of the application.
    • This test suite can be reused in multiple releases of the project.
    Service Level Testing
    Service Level Testing includes testing the component for functionality, security, performance and interoperability.
    Each and Every Service needs to be first tested independently.
    Functional Testing
    Functional Testing should be done on each service to
    • Ensure that service delivers the right response to each request.
    • Right errors are received for requests with Invalid data, bad data, etc.
    • Check for each request and response for each and every operation the service has to perform in run time.
    • Validate the fault messages when an error occurs at the server, client or network level.
    • Validate that the responses received are in the right format.
    • Validate that the data received on the response correspond to the data requested.
    Security Testing
    Security testing of the web service is an important aspect during service level testing of the SOA application; this ensures the safety of the application.
    The following factors need to be covered during testing:
    • Industry Standard defined by WS-Security testing should be abided by the Web Service.
    • Security measures should work flawlessly.
    • Encryption of data and Digital signatures on the documents
    • Authentication and Authorization
    • SQL Injection, Malware, XSS, CSRF, other vulnerabilities are to be tested on the XML.
    • Denial of Service attacks
    Performance Testing
    Performance Testing of the service needs to be done since the services are reusable and multiple applications might be using the same service.
    The following factors are considered during testing:
    • Performance and functionality of the service need to be tested under heavy load.
    • The performance of the service needs to be compared while working individually and within the application it is coupled with.
    • Load testing of service should be performed
      • to verify response time
      • to check for bottle necks
      • to verify utilization of CPU and memory
      • to predict scalability
    Integration level testing
    • Service level testing ensures proper working of only the services individually, it does not guarantee the working of the coupled components.
    • Integration testing is done focusing mainly on the interfaces.
    • This phase covers all the possible business scenarios.
    • The Non-Functional testing of the application should be done one more time in this phase. Security, compliance, and performance testing ensure the availability and stability of the system in all aspects.
    • The communication and network protocols should be tested to validate the consistency of the data communication between the services



    Image result for soa testing
    • Challenges in SOA testing

      • Lack of interfaces for Services
      • Testing process spans across multiple systems thus creating complex data needs
      • The application is a collection of various components which tends to change. The need for regression testing is more frequent.
      • Due to Multilayer architecture, it is difficult to isolate defects.
      • Since the service will be used in different interfaces, it is difficult predicting load, hence making performance test planning cumbersome.
      • SOA is a collection of heterogeneous technologies. Testing of an SOA application requires people with different skill sets which in turn increase the planning and execution costs.
      • Since the application is an integration of multiple services, security testing has its own share of woes. Validation of authentication and authorization is pretty much difficult.

      SOA Testing Tools

      There are many tools available in the market to help testers in testing SOA applications. Few of them are listed below.
      SOAP UI
      "SOAP UI" is an open source Functional testing tool for Services and Api Testing.
      • Desktop application
      • Supports multiple protocols – SOAP, REST, HTTP, JMS, AMF, JDBC
      • Web services can be developed, inspected and invoked.
      • Can also use for load testing, Automation Testing and security testing
      • Stubs can be created by MockServices
      • Web Service requests and tests can be generated automatically through its web service client.
      • Have inbuilt reporting tools
      • Developed by SmartBear
      iTKO LISA
      "LISA" is a product suite which provides a functional testing solution for distributing systems like SOA.
      • Can also use for regression, integration, load and performance testing.
      • Developed by iTKO (CA Technologies)
      • Can be used to design and execute tests.
      HP Service Test
      "Service Test" is a functional testing tool, which supports both UI and shared services testing
      • Both functional and performance test of services can be done by a single script.
      • Integrated with HP QC.
      • The massive amount of service and data can be managed.
      • Supports interoperability testing by simulating JEE, AXIS, and DotNet client environments.
      • Developed by HP.
      ParaSoft SOA Test
      SOA Test is a testing and analysis tool suite developed for API and API applications testing.
      • Supports Web Services, REST, JSON, MQ, JMS, TIBCO, HTTP, XML technologies.
      • Functional, Unit, Integration, Regression, Security, Interoperability, Compliance and Performance Testing are possible.
      • Stubs can be created using Parasoft Virtualize, which are intelligent than SOAP UI.
      • Developed by ParaSoft




    HAPPY TESTING

    Comments

    Post a Comment

    Popular posts from this blog

    JavaScript prototype,,😊

    katalon studio

    React libraries that every developer should know.