J2EE patterns: Black, White and Gray Box SOA Testing Techniques & Patterns

  1. Techniques such as Black, White and Gray Box testing applied to traditional systems map well into Web Services deployments. However, the following characteristics of a Web Services deployments introduce unique testing challenges: - Web Services are intrinsically distributed and are platform and language agnostic. -Web Services can be chained with dependencies on other 3rd party Web Services that can change without notice. -Web Services ownership is shared across various stakeholders. -Web Services client developers typically only have access to interfaces (WSDLs) and lack access to code. Web Services-based SOA plays an important role in facilitating the integration of disparate applications from various departments or trading partners and thus increasing business productivity. The distributed nature of Web Services makes Gray Box testing ideal for detecting defects within a SOA. Black Box testing provides rapid functional testing that can be used across distributed services; however, owing to the “blind” nature of Black Box testing, test coverage is limited, inefficient and redundant. White Box testing is not practical for Web Services since access to source code or binaries in a Web Services deployment is usually impossible. By leveraging the rich information presented in WSDL files, intelligent and efficient Gray Box test can be generated. Further state-of-the-art techniques such as message mutation can be used to auto-generate a large array of test that can extract program internals – exception handling, states, flows – without having access to source or binaries. Such techniques push the Gray Box testing closer to the results of White Box testing without dealing with its expense or intrusive characteristics. Implementing effective SOA Testing Techiques & Patterns are of great importance for successful SOA deployments. Reference: http://www.crosschecknet.com/soa_testing_black_white_gray_box.php
  2. Can we have such classification for a non-webservices based SOA environment? What would the teesting testing techniques for such an environment?