Web Service Slicing,
Subset WSDL,
Regression Testing of Web Services, and
Automated Web Service Change Management (AWSCM)

Project Members: Animesh Chaturvedi, Prof. Atul Gupta, and Prof. Dave Binkley

Changeability and evolvability analysis can aid an engineer tasked with a maintenance or an evolution task. This article applies change mining and evolution mining to evolving distributed systems. First, we propose a Service Change Classifier based Interface Slicing algorithm that mines change information from two versions of an evolving distributed system. To compare old and new versions, the following change classification labels are used: inserted, deleted, and modified. These labels are then used to identify subsets of the operations in our newly proposed Interface (WSDL) Slicing algorithm. Second, we proposed four Service Evolution Metrics that capture the evolution of a system’s Version Series VS = {V1, V2,…,VN}. Combined the two form the basis of our proposed Service Evolution Analytics model, which includes learning during its development phase. We prototyped the model in an intelligent tool named AWSCM (Automatic Web Service Change Management). Finally, we present results from experiments with two well-known cloud services: Elastic Compute Cloud (EC2) from the Amazon Web Service (AWS), and Cluster Controller (CC) from Eucalyptus. These experiments demonstrate AWSCM’s ability to exploit change and evolution mining.

We introduce Web Service Slicing, a technique that captures a functional subset of a large-scale web service using an interface slice captured as a WSDL slice (a subset of a service’s WSDL). An interface (WSDL) slice provides access to an interoperable slice, which is a functional subset of the service’s code. The technique uses intra-operational and inter-operational analysis to identify web service changes. With the aid of an associative code-test mapping, we leverage the identification of affected operations to reduce the cost of web-service regression testing by extracting a subset of the existing test cases. Used in conjunction with a web service slice, this subset reduces the cost of web-service regression testing by enabling the running of fewer tests. Furthermore, we exploit two approaches: Operationalized Regression Testing of Web Services (ORTWS) and Parameterized Regression Testing of Web Services (PRTWS). ORTWS effectively tests intra-operational changes at the WSDL and WS-code levels, while PRTWS tests inter-operational changes involving inter-operational dependencies due to primary parameters. Finally, we present results obtained using our prototype implementation, AWSCM (Automatic Web Service Change Management), in two case-study experiments that serve to illustrate the reduction potential of the technique using eight real-world web services.

One of the primary goals in Web Service (WS) maintenance and evolution is to reduce the effort required to test the changes. Traditionally, functional and non-functional testing of WS is performed by testing the operations listed in WS Description Language (WSDL). Further, the regression testing is done by identifying the changes made to the WS code and the WSDL specification.

Web Service (WS) analyzer requires automated approach to write and select test cases, which are more reliable and relevant. Analyzer needs to categorize WS, so that cost can be reduced by organizing the test scenarios. Emphasis of analyzer is to create and handle subset of code i.e. slice the WS code, which reduces human efforts in regression testing and re-engineering.

Automated Web Service Change Management (AWSCM) is a tool which constructs Subset WSDL (or WSDL Slice) based on change impact analysis of WSDL and code. AWSCM visualizes and captures changes in the form of intermediate artifacts during impact analysis. This video will describe the computation of change impact as well as mapping them to their test cases. We will see the construction of Subset WSDLs and reduce regression test suite. Automated Web Service Change Management (AWSCM) is a prototype tool, which is described as follows

Proposed terminologies:


Tool requires JRE (1.4-1.7) and Window 7. The project was developed and experimented during 2011-2020.  There are following GitHub projects.

https://github.com/animesh88/WebServiceSlicing-ORTWS-PRTWS

https://github.com/animesh88/ServiceEvolutionAnalytics 

https://github.com/animesh88/ServiceEvolutionAnalytics 

https://github.com/animesh88/JMeterRTWS 

https://github.com/animesh88/SaaS 


Thesis: Animesh, Chaturvedi "Change Impact Analysis Based Regression Testing of Web Services" Cornell University Library arXiv preprint arXiv:1408.1600 (2014).  Download PDF.

The AWSCM tool and its case study is attached below. 

I) Operationalized Regression Testing of Web Service (ORTWS): To validate proposed prototype approach of Operationalized Regression Testing of Web Service (ORTWS). We will see following 3 Case studies in this video

1. SaaS: It is my own development

2. Amazon Web Service: http://en.wikipedia.org/wiki/Amazon_Web_Services

3. Eucalyptus Cluster Controller: http://en.wikipedia.org/wiki/Eucalyptus_(software)


II) Parameterized Regression Testing of Web Service (PRTWS): To validate proposed prototype approach of Parameterized Regression Testing of Web Service (PRTWS). We will see two case studies in this video based on following techniques to gather change impact analysis for PRTWS. Case study 1 Automatic change impact analysis and Case Study 2 User selection impact analysis.

Case Study 1: Automatic change impact analysis: This is the extention of Unit WSDL feature of ORTWS. PWSDL feature additionally uses call graph information to compute change impact analysis. BookService Code is our own development written in Java-NetBeans. BookService call goes to book Bhagvad Gita Web Service (BGWS) which again calls BGVerse. BookService call goes to BibleWS, which again calls BibleVerse. Book Service is deployed in Glassfish server. Book Service operations can be easily tested with browser. Book Service has four operations, namely, 'GetAbstractOfChapter', 'FindBookNumber', 'GetVerseByBooKAndChapterAndVerseNumber' & 'GetAllVerseByBookAndChapterNumber'.

1. Find abstract of the chapter with first parameter as 'BookNumber' and second 'chapterName'.

2. Find BookNumber 1 for BG and 2 for Bible.

3. Find verse with first parameter as 'BookNumber', second as 'chapterName' and third as 'verseNumber'.

4. Find all verses with first parameter as 'BookNumber' and second as 'chapterName'.

Case Study 2: User selection based impact analysis: Both Operationalized and Parameterized Regression testing have user selection based feature. Named as 'Test step/sequence selection'.

1. Currency Conversion has two parameter. 'FromCurrency' is chosen as primary and 'ToCurrency' is chosen as non primary parameter. We selected 4 countries as value of primary parameter for test cases.

2. For Bible WS a parameter 'BookTitle' is used as primary paramater with the combination of 'ChapterName' and 'Verse' as the non-primary parameters.

3. Global Weather web service example, 'CountryName' is chosen as primary parameter whereas 'CityName' as non-primary parameter.  Parameter Reduce Regression Test Suite (PRRTS) are  formal, systematic and analytical. PRRTS helps in proper mapping between selected test steps and WS code.

4. SunSet-SunRise WS has 8 parameters. Both 'Latitude' and 'Longitude' is chosen as primary and other parameters are considered as non primary parameter. SunSet-SunRise WS has 8 location chosen as primary parameter in test cases whereas other information as non-primary parameter. Parameter Reduce Regression Test Suite (PRRTS) is stored in the same folder of test suite. Import the PRRTS at testing environment of 'BookService' in SoapUI. Selection of test steps for a particular test case of primary parameter creates a combination. This combination is helpful for the execution of a particular code flow in testing. Both 'Latitude' and 'Longitude' is  chosen as primary and other parameters are considered as non primary parameter.

Presentation and Demonstration videos of AWSCM  Tool and Web Service Slicing

Video descriptions 

Snapshots of AWSCM  Tool  and Web Service Slicing

1. DifferenceWSDL of AWSCM for EucalyptusCC

DifferenceWSDL of AWSCM for EucalyptusCC

2. ReduceWSDL of AWSCM for Amazon WSDL

ReduceWSDL of AWSCM for Amazon WSDL

3. UnitWSDL  of  AWSCM  for  SaaS  operations  (editFile  and  Searching) modified at code to construct RRTS for JMeter old TS

UWSDL

4. Combined WSDL to construct RRTS for SaaS_3

CWSDL

5. AWSCM for construct RRTS of ‘BookService’ for operation ‘GetAbstractofChapter’

AWSCM for construct RRTS of ‘BookService’ for operation ‘GetAbstractofChapter’

6.  Snapshot of prototype tool PRTWS for user selective test sequence/step inside test cases for a test suite of currency conversion.

 Snapshot of prototype tool PRTWS for user selective test sequence/step inside test cases  for a test suite of SoapUI in figur 4.5 snapshot of currency conversion example.

Publication:

6. Animesh Chaturvedi, Aruna Tiwari, Shubhangi Chaturvedi, and David Binkley. “Service Evolution Analytics: Change and Evolution Mining of a Distributed System”. IEEE Transactions on Engineering Management, Vol. 68.1, pp 137 - 148, Feb-2021, DOI: 10.1109/TEM.2020.2987641 (ABDC A). PDF, Video

5. Animesh Chaturvedi, and David Binkley. "Web Service Slicing: Intra and Inter-Operational Analysis to Test Changes". IEEE Transactions on Services Computing, Vol. 14.3 (May-June 2021): 930-943. DOI: 10.1109/TSC.2018.2821157 (CORE A*). PDF, Video

4. Animesh Chaturvedi, “Subset WSDL to access Subset Service for Analysis”, 6th IEEE International Conference on Cloud Computing Technology and Science (IEEE CloudCom), Singapore, Dec 2014, pp 688-691. IEEE Computer Society and IEEE Cloud Computing DOI: 10.1109/CloudCom.2014.149. ACM, IEEE Computer Society, Slides, PDF, and Poster

3. Animesh Chaturvedi, “Automated Web Service Change Management AWSCM - A Tool6th IEEE International Conference on Cloud Computing Technology and Science (IEEE CloudCom), Singapore, Dec 2014, pp 715-718. IEEE Computer Society DOI: 10.1109/CloudCom.2014.144. ACM, IEEE Computer Society, Slides, PDF, and Poster

- Acceptance rate of IEEE CloudCom 2014 is 17.8% and Ranked in Cloud publication at Google Scholar Metrics.

- IEEE CloudCom 2014 is an event of IEEE Computer Society and IEEE Cloud Computing organized at Nanyang Technological University (NTU) Singapore

2. Animesh Chaturvedi & Atul Gupta, “A Tool Supported Approach to Perform Efficient Regression testing of Web Services”, 7th IEEE International Symposium on Maintenance and Evolution of Service oriented and Cloud Based Systems (IEEE MESOCA) Sept 2013, pp 50-55. IEEE Computer Society (co-located with 29th IEEE ICSM), Eindhoven, Netherlands 2013. DOI: 10.1109/MESOCA.2013.6632734. PDF, Slides.

- IEEE MESOCA is an event of IEEE Computer Society under the aegis of TCSE - ICSME. (one of the most prestigious community in Software Engineering). 

- IEEE MESCOA 2013 (co-located with 29th IEEE ICSM) organized at Eindhoven University of Technology (TU/e) Eindhoven, Netherlands 

Slides at SEI CMU; http://www.sei.cmu.edu/community/mesoca2013/upload/Chaturvedi-MESOCA-2013.pdf

1. Animesh Chaturvedi, “Reducing cost in regression testing of web service”, 6th CSI International Conference on Software Engineering (6th CONSEG) on IEEE. PDF

- Computer Society India organized an IEEE Conference in the memory of Late Dr. Manohar Chandwani, (teacher and first technical project supervisor).

- CONSEG is a national level event of Computer Society of India organised at Institute of Engineering and Technology - Devi Ahilya University Indore - India, 5-7 Sep 2012.

AWSCM are inspired with following previous works:


Thankful to Prof. Dave Binkley, Prof. Atul Gupta, Dr. Srinivas Padmanabhuni, Dr. Anjaneyulu Pasala, Dr. Saurabh Tiwari, Dr. Hemant Mehta, Mr. Allahbaksh Asadullah, Mr. Basavaraju M. Prof. Rushikesh K. Joshi and Associate Editors / Reviewers for the advise and comments on this project.