Menu

Web Application Testing

2004-04-14
2013-06-12
  • Ewan Slater

    Ewan Slater - 2004-04-14

    Hi,

    I am looking for an automated test framework to test a multi-tier application.

    Two of the layers that I have to test are  1) the application website; and 2) the application web service.

    Does anyone know if it is possible to test these two layers using STAF, and if so, could you suggest how?

    I have searched the help forum and the documentation for the term "web application" but without success.

    Ewan

     
    • Charles Rankin

      Charles Rankin - 2004-04-16

      Neither of these two areas is one of STAF's strengths.  STAF (and STAX) don't generally try to help any one specific class of test case (such as web/browser-based tests and web services-based tests, which you mentioned).  STAF, itself provides facilities that can help making tests in general easier and/or more standardized.  For example, you can use the Semaphore service to help synchronize a distributed test (which might be particularly useful in a coordinated web services test), or you could use the Resource Pool service to manage contention for userids/passwords (which might be beneficial when targeting multiple browser-based tests at a website so that they aren't all using the same userid, and so that there is no overlap), or you could the Log service from mutliple different types of tests (possibly in different languages) to ensure you have a consistent logging infrastructure, or you could the Monitor service to allow you to easily see (from a central point of control) what is going on with all of your executing tests, etc.  As you can see, STAF provices generic capabilities that can help many types of tests, without specializing in any particular type of testing.  It is intended to help you create more powerful and complex tests and test environments.

      STAF also provides a lot of capabilities that help you deploy and execute your tests (again, without much regard for exactly what those tests are doing).  To this end, things like the File System service (to transfer the test cases to their destination) and the Process service (to invoke the test cases) help you manager your test environment.  STAX builds on top of this notion to provide a general workflow engine/language complete with a distributed graphical monitoring application.

      For your application web-site testing, you might look at Mercury or Rational (if you can afford them), if you want to go the traditional GUI route (if you do this I recommend that you take a look at the SAFS project on SourceForge, which uses STAF to make these tools easier to use).  On the other hand, you could do protocol-based testing and go with some open source'ish tools like Test Maker or Grinder.  There are also more HTML centric tools like HttpUnit and HtmlUnit that are also free for use.  From a web services point of view, I'm not familiar with any particular tools in this area, but I'm sure some must exist.

      In any event, once you've chosen a tool to help you create those test cases, I would suggest you take another look at STAF to see if some of its services might be of benfit to you while writing them.  And then, once you've got them complete, I'd suggest you look at STAX to see if can't help you create a robust execution environment (STAX has language features like <paralleliterate> that make it easy to distribute work across a number of different systems).

      Please post again if you have more questions, or need me to clarify any of the above.

       
    • Nelson Kidd

      Nelson Kidd - 2005-12-05

      Ewan,

      While I can't give a personal endorsement of Visual Studio 2005, I have a colleague who seems impressed with the latest built-in test tools for exercising a web service and its related front-end APP. If you do happen to be building your stuff on ASP.NET, you might check out http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsent/html/vsts-test.asp. Of course, if you're not using ASP.NET, all bets are off.

       

Log in to post a comment.