Testing without requirements

Is it possible to test something without knowing the requirements ? What are requirements from a tester's perspective? Testing can be thought of both a science and an art. When the tester is aware about the requirements , they can devise a strategy to perform testing in a controlled environment, by preparing set of test cases and creating test scenarios to measure the results in accordance with the requirements. Whereas when there is a lack of requirement documentation, a tester has to apply his ingenuity in conducting the process of testing. The onus shall lie on a tester as to how he crafts the testing process with least or no requirements. In such a case it can be considered an art.

Planning - an essential component for a mission. A well crafted plan can offer great help even in a situation of crisis. Planning is ubiquitous, whether it is our government, a school , a university, armed forces, planning is important in realisation of objectives. The outcome of a plan may not be absolute, but beginning a journey requires a considerable amount of thought. Hence planning is basically deciding in advance about alternate solutions to a given problem.

Now the debate is how shall a tester conduct the testing process when he has very limited resources available with him. Let us do a litmus test in the light of few scenarios that may prove to be of some value.

Challenges Faced during Testing without requirement :

  • Preparing test cases is a challenging task as a tester is devoid of any resources.
  • The tester doesn't know how the system will respond to a certain input or what kind of inputs does the system accepts.
  • What is the flow of execution of the system.
  • What hardware or software specifications it must follow as to pass performance or load testing.

It requires a great deal of creativity on the part of tester to be able to visualise and foresee what could possibly lie in the road ahead. With the right amount of knowledge and experience, a tester can begin with planning.

Planning Test Strategy :

  • Tester needs to be aware of the basic goals like what type of testing is going to be carried out- functional, regression, load, performance etc.
  • If the current project is an enhancement of some previous one, then a tester can refer to the previous documentation or specification.
  • One important task is frequent communication with the clients. By doing so may help in clarifying doubts and develop better understanding about the project under purview.
  • Testers can seek assistance from developers and refer to the documents they are following.
  • Identifying the possible risks that may occur.

A tester must adhere to the documents provided by the developer. He should do a careful analysis of the situation and should be able to design test cases based on how the developers are developing the software. Meetings should be conducted between the developers, testers and the business analysts. This shall help testers to develop a better and clear understanding of the project. A tester must thus be able to understand things from the user's perspective.

Some of the useful points that may help testers are listed as follows :

  • User Scenarios -It is the written form of describing the user's requirements often known as use cases. The objective of a use case is to identify the system's interaction with the users. It depicts the basic flow of events that represent how the whole system is going to function. Few benefits that one can avail from use cases are -
    • Ease of understanding the system's functionality.
    • The entities are identified.
    • If any mismatch occurs at any stage, the review process will be easier as we can resort to a well written document.
  • Check lists -This is a list of tasks that are commonly performed. It offers a mechanism by which one can make sure that at least the common tasks are covered. Some coverage criteria may be -
    • User Interface checklist
    • Error and Boundary Check list
    • Performing component testing
  • Matrices -A matrix is something that provides a way to carry out sequence of actions. A test matrix keeps a track of series of tests that are conducted for various versions or configurations of an application.

Conclusion :

'Planning provides an insight into the future'. For a successful venture one must be able to analyse and plan accordingly . Understand the facts, make a list of things 'to be done' and proceed ahead.