International Conference on Advanced Computer Technology and Development |
Foundation of Computer Science USA |
ICACTD - Number 1 |
October 2014 |
Authors: Pogiri Ravi Kumar, P. V. G. K. Jagannadha Raju, S. Maruthu Perumal |
4ca07f47-dc5c-4d4b-9bf2-fdd2b44cee7e |
Pogiri Ravi Kumar, P. V. G. K. Jagannadha Raju, S. Maruthu Perumal . An External Quality Supporting Test- Driven Development of Web Service Choreographies. International Conference on Advanced Computer Technology and Development. ICACTD, 1 (October 2014), 12-16.
Recently, software development teams using agile processes have started widely adopting test-driven development. Despite its name, "test driven" or "test first" development isn't really a testing technique. Also known as test-driven design, TDD works like this: For each small bit of functionality the programmers code, they first write unit tests. Then they write the code that makes those unit tests pass. This forces the programmer to think about many aspects of the feature before coding it. It also provides a safety net of tests that the programmers can run with each update to the code, ensuring that refactored, updated, or new code doesn't break existing functionality. TDD can also extend beyond the unit or "developer facing" test. Many teams, including my own, use "customer facing" or "story" tests to help drive coding. These tests and examples, written in a form understandable to both business and technical teams, illustrate requirements and business rules. Customer-facing tests might include functional, system, end-to-end, performance, security, and usability tests. Programmers write code to make these tests pass, which shows the product owners and stakeholders that the delivered code meets their expectations. The results indicate that, in general, TDD has a small positive effect on quality but little to no discernible effect on productivity. However, subgroup analysis has found both the quality improvement and the productivity drop to be much larger in industrial studies in comparison with academic studies. A larger drop of productivity was found in studies where the difference in test effort between the TDD and the control group's process was significant. A larger improvement in quality was also found in the academic studies when the difference in test effort is substantial; however, no conclusion could be derived regarding the industrial studies due to the lack of data. Finally, the influence of developer experience and task size as moderator variables was investigated, and a statistically significant positive correlation was found between task size and the magnitude of the improvement in quality. Choreographies have been proposed as decentralized and scalable solutions for composing web services. Nevertheless, inherent characteristics of SOA such as dynamicity, scale, and governance issues make the automated testing of choreographies difficult. Nevertheless, inherent characteristics of SOA such as dynamicity, scale, and governance issues make the automated testing of choreographies difficult. The goal of our research is to adapt the automated testing techniques used by the Agile Software Development community to the SOA context. To achieve that, we aim to develop software tools and a methodology to enable Test-Driven Development (TDD) of web service choreographies.