Forum Stats

  • 3,782,041 Users
  • 2,254,585 Discussions
  • 7,879,899 Comments

Discussions

How to Automate Testing of SOA Composites without using Oracle Test Suites

Sravani Gajula
Sravani Gajula Member Posts: 16
edited Sep 27, 2017 11:32AM in SOA Suite Discusssions

Hi All,

We would like to test the complete flow of SOA composites without manually creating the test data for a test case.

Is there a way to automate testing of SOA composite applications other than Oracle Test Suites?

Thanks & Regards,

Sravani.

Tagged:
«1

Answers

  • Krishna Hanumantharao
    Krishna Hanumantharao Member Posts: 613
    edited Aug 14, 2017 5:20AM

    You can use SOAPUI or other Web Services testing tools. However, still you need to provide test data.

    What aspects of Oracle Test Suites is not useful to your testing requirement?

  • Sravani Gajula
    Sravani Gajula Member Posts: 16
    edited Aug 14, 2017 6:36AM

    Thanks for your response Krishna.

    We would like to test the complete flow of our composite giving inputs run-time for the required test cases and to validate the transformations run-time.

    As you know, in test suites we will be creating multiple test scenarios and manually generate the test data only for few activities and then test them.

  • Krishna Hanumantharao
    Krishna Hanumantharao Member Posts: 613
    edited Aug 14, 2017 7:14AM

    I am not sure I understand the limitation/requirement you have specified.

    If you create a test case in Test Suite and execute it , it will go through full flow of composite depending on test input-data,assertions and the data you have simulated for any external calls. Is it missing any flow/activities? 

  • Krishna Hanumantharao
    Krishna Hanumantharao Member Posts: 613
    edited Aug 14, 2017 7:17AM
    Krishna Hanumantharao wrote:I am not sure I understand the limitation/requirement you have specified.If you create a test case in Test Suite and execute it , it will go through full flow of composite depending on test input-data,assertions and the data you have simulated for any external calls. Is it missing any flow/activities? 

    in case you have not provided any simulated data for external call, external service will be called and the response will be used in further flow of composite

  • Sravani Gajula
    Sravani Gajula Member Posts: 16
    edited Aug 14, 2017 8:42AM

    For your better understanding, let me give you an example:

    Lets suppose we have to test a composite which can be triggered with multiple inputs (e.g., A or B or C)

    As per my understanding, in Test Suites to test that, we have to create multiple tests with different inputs i.e., test1 for input A, test2 for input B and test3 for input C.

    Instead of that, do we have a way to create a single test and give inputs at run-time, generate the test report  for each.

  • Krishna Hanumantharao
    Krishna Hanumantharao Member Posts: 613
    edited Aug 16, 2017 5:45AM
    Sravani Gajula wrote:For your better understanding, let me give you an example:Lets suppose we have to test a composite which can be triggered with multiple inputs (e.g., A or B or C) As per my understanding, in Test Suites to test that, we have to create multiple tests with different inputs i.e., test1 for input A, test2 for input B and test3 for input C.Instead of that, do we have a way to create a single test and give inputs at run-time, generate the test report for each.

    You can use SOAP UI's groovy scripting to achieve it ( SOAP UI Pro may have that out of box also). However, managing the script might be an issue , if you have too many test cases. I would still recommend separate "Test case" for each scenario.

  • Martien van den Akker
    Martien van den Akker Member Posts: 2,776 Bronze Crown
    edited Aug 16, 2017 7:11AM

    Hi,

    With SoapUI NG PRo you can do datadriven testing, using Excel as input for instance.

    Besides that, with SoapUI you can use properties very extensively. So you can set a property based on the input from the excel or the request or response in one step and use it to transfer data in another step or use it in the expected value of an assertion on the response of subsequence steps.

    You can go to a very great extend using SoapUI for this. I use this (and require this) as unit tests for services.


    You can even use JDBC step to query a database to check if data have been registered by a services.

    Regards,
    Martien

  • AnatoliAtanasov
    AnatoliAtanasov Member Posts: 883 Silver Trophy
    edited Aug 23, 2017 4:59AM

    Here are my two cents on what Martien has mentioned above.

    Often we need to test the transformations that happen to be the most complex logic within a composite application. For the predominant number of cases we transform one message to another in order to invoke another service. For kind of unit testing I am using SOAP UI where I mock these external services and use Groovy to validate the incoming message and return result based on the validation. In this way I also test my composite in case of errors being thrown by remote services.

    HTH,

    A.

  • Martien van den Akker
    Martien van den Akker Member Posts: 2,776 Bronze Crown
    edited Aug 23, 2017 7:41AM

    Hi Anatoli,

    Thanks for the addendum. I'd recommend validating the response messages using Assertions as much as possible. I'd only use groovy checking when you can't do it with assertions. But I did not encounter that need thus far.

    Regards,
    Martien

  • AnatoliAtanasov
    AnatoliAtanasov Member Posts: 883 Silver Trophy
    edited Aug 23, 2017 7:50AM

    Hi Martien,

    At this moment I am not quite sure if you can disable assertions in runtime. If not, you put extra code in your composite that might affect performance (and db size).

    Thanks,

    A.

This discussion has been closed.