May the ‘Plan’ be with you
by Dima


“A man who does not plan long ahead will find trouble right at his door”

Confucius


Let’s get moving! How do we get started on our goal of automatic testing of web applications?

1) CREATE the Recruiting application.
2) BUILD a test environment for test execution and results observation. It needs to be convenient.
3) DEFINE what we need to test and how to recognize it if test failed or succeeded
4) WRITE tests that have a clear pass/fail criteria in their results
5) CONCLUDE what our findings are, based on our results

Stage 1. Application

We will create the Recruiting application by following the SalesForce book precisely. This will allow others to follow my work with ease.

Stage 2. Environment

In this stage, we will perform the functional testing of web pages. By this, we mean that we will check if the application works correctly from an application user point of view. The user must be able to use the application for the purposes it was designed. Appropriate values can be entered, buttons can be clicked, error messages are produced and the expected results are achieved when a user enters data in an expected way.

We are going to use a tool called Selenium. We will use Selenium Grid. To control Selenium RC, by sending actions to execute in a browser, special class is used called ‘driver’. There are Selenium drivers for many programming languages – C++, Java, PHP, Python etc. This makes it very adaptable.

As I mentioned before I am in the Java team.
I will use the following tools for our testing purposes:
TestNG to write tests, group them and run in parallel streams.
log4j For logging and debugging.
Ant to help build and accumulate all of my treasured creations.
Mozilla Firefox as a basic browser.
TortoiseSVN as SVN client.

To summarise and if I haven’t forgotten anything, I will need:
Ant, TestNG, log4j, Selenium Grid (including RC, Hub and driver), and of course I will need JDK. The fresher it is the better!
(If I forgot something I will correct this post secretly from everybody :) )

The primary goal for Stage 2 is to build all these tools into a workable instrument.

Stage 3. Define tests

Once we have the ‘Recruiting Application’ ready, we need to start thinking very hard about what sorts of tests we want to subject the application to. The development of test scenarios and test harnesses can be developed later in Stage 3 where we will know more about the capability of our test environment.

Stage 4. Implementation

Once the Stages 1 through to 3 are complete, we will then need to tweak the tests defined in Stage 3, and debug them using the working Selenium environment we will have ready to go.

COMMENT Feb 19th, 2009 by Alena

Here we are – PHP team plan. I hope Dima wouldn’t mind if I will use his division on stages.

Stage 1 – WAUT creation
Same as Java team.

Stage 2 – Environment
I will use PHPUnit as the Selenium driver. Debugging messages and logs – PHPUnit. Here I will publish PHPUnit logging options in a post where we will describe our environments.
Thanks to the use of Selenium RC and log4j in the Java Team’s effort, we are hoping to use the raw Selenium RС logs generated by Java team and particularly by Dima (to be frank, Dima does not yet know about this :) ).

Stage 3 – WAUT analysis

I assume that this stage will be to describe all types of objects we are going to test and their properties. We will also start to create test plans for each component of Recruiting application.

Stage 4 – Development and implementation of test classes

I think that the heading name I’ve given for this stage is self descriptive. We will develop a hierarchy of classes taking in account the capabilities of PHPUnit and implement them. Huh, what could be easier? :)

COMMENT Feb 23th, 2009 by Igor

Hard to object to this. If we were to add ‘Conclusions’ into Alena’s plan and celebrate successful completion of Stage 1, we can smoothly transition to stage 2 where I am not expecting many disputes either. Stages 3 and 4 promise to be a place for the ‘battles of opinion’ and consensus may not be as easy to come by..


Print this post | Home

Comments are closed.