Is it a good fit to build a Prism application to automate testing of other applications - SOA?

Topics: Prism v4 - Silverlight 4, Prism v4 - WPF 4
Jan 21, 2013 at 8:39 PM

Just getting started, first post.

I've come across the patterns and practices labeled as Prism.  Looks interesting.

I am trying to solve a test automation challenge at my work place.  Currently there is not a quick and easy win with automation, it is an uphill battle fighting maintenance and speed to market challenges.

I want to solve this differently by creating an application which will simulate the various usages.


Here is my quest:  I need to quickly build an application which will be used to test and verify lower level services.  In our SOA platform, my application would sit virtually in the same space as other 'application' layers which consume and run off of internal API's and provide a rich user experience to end users.  However my applications purpose is to provide the coverage usage of all the possible variations that end users may put their application through.  Rather than providing a clean useful interface, my application should be suited to provide static cases we have defined and send to the underlying services and report back if the result was expected or not.

 

Thoughts on if Prism would be a good tool to use?

Other directions I am considering would be some cloud based application development for mobile applications -> quickest route to consume web services, rest/soap/wcf etc.  Or possibly using a much more light weight language like ruby or something to quickly compose an application which really is doing little more than calling web services in certain logical order.

 

Thanks for lending a helping hand!

Developer
Jan 22, 2013 at 6:22 PM

Hi,

I am not aware of a case where Prism was used to develop a testing application, but if your testing application wouldn't benefit of any of the features provided with Prism, then it might not prove to be useful for it. Among the these features, the main advantages provided by Prism are:

  • Separating the client-side application components in self contained and decoupled Modules.
  • Providing support for composing the application's UI in a decoupled fashion. (i.e. deciding the composition of the UI at run time and without needing the views to reference each other.)
  • Built in support for dependency injections patterns as well as several communication capabilities between the components of the client-side application allowing them to work while being decoupled for each other.

If any of those features could be useful for your testing application, it could make sense to use Prism. However, I believe that those features do not have an impact in the testing logic part of the application. What's more, as far as I know Prism does not include any specific guidance or capabilities to communicate with Web Services or similar, so it wont provide any help regarding this topic either.

Regards,

Damian Cherubini
http://blogs.southworks.net/dcherubini