Table of Contents
Abstract
This is a toolkit that will help a project team develop test cases easily for web applications. They will focus on writing the test cases in a language that is more “natural” than focus on the nitty gritty details of xxxUnit suite of frameworks.
Test driven development (TDD) is one of the key tenets of extreme programming. The concept of writing tests first has a definite appeal to anyone who has been in a project that has been fraught with bugs and unstable applications and midnight phone calls about applications breaking. The requirements that have been elaborated here are the plans to create an application that will help in test driven development of web based applications.
Currently there are framework such as JWebUnit, httpUnit that can test any web application provided the test code is written in Java. These frameworks are excellent technical solutions to development of test cases. They provide the platform on which test cases can be developed. These frameworks are programmers for programmers. They are not designed to help the customer and the non-technical user write test cases.
From the experience of trying to encourage a development team to practice TDD, what I have noticed is that there is a general reluctance to write test cases in Java (before or after development of code - it does not matter). The reasons I hear from the various stakeholders in a project (the team(s), the customer, the PM) are
Team: The amount of Java code to be written is double of what we originally planned! There is no way we will finish the project in time
Team: These tests are functional in nature. Why should I write them now?
Customer: I am a user, I don't know programming and Java - what do you mean by writing tests in HttpUnit?
Team: But I only coded what the customer told me as a test case. I just translated it to Java!
PM: Do these things work? Who should have the ownership of writing and maintaining them? What will it do to our overall schedule?
Each reason here has merit in itself. Looking at it from each group's perspective there are real issues that each group has brought out in these arguments. Mind you, each group wants to test and understands the importance of testing. This is not about passing the testing buck.
Here I am proposing requirements for an application that will help all the stakeholders to come up with a suite of tests for web based applications in a way that will help them build a comprehensive test suite while addressing their concerns.