First phase of STLC(Software Testing Life Cycle) is Requirement Analysis. During this phase, Testing team studies the requirements in detail. They identify types of tests to perform and prepare RTM(Requirement Traceability Matrix). They also finalize the feasibility for Automation testing and other non-functional testing types. But, not all projects follow the same cycle or you may be allocated in an on-going project with no or less requirements gathered. To perform testing without requirements can be challenging in many ways. Let’s first identify the scenarios where we can face such situation.
– On the fly Development
– Strict Deadlines
– Frequently changing requirements hence no time to note them down
– Legacy Application being migrated into latest technology
– Tester joined the project late and there is no time for estimation and planning.
– Out-dated and poorly documented Requirements.
In this article we are going to discuss such challenging situations where Testers need to perform best without any requirement listed. No SRS and FRD prepared and still a Tester is expected to test the application thoroughly.
Below are the tips we should follow if faced such situation:
Tip 1: Proper Planning
Most lacking area in such projects is planning. Testers must do proper planning at the very early stage. Planning is required to ensure which deliverable are expected from Testing team & types of testing we are going to perform. Who are the people responsible team members(from offshore team or client team) to clear your doubts because you will need to communicate well with them for understanding sessions.
Team up will development team and get to know which documents they are referring for coding purpose, so the same documents can be used by Testing team. The main purpose to do such planning is to have all expectations clear so project runs smooth without any surprises. Planning if properly done can eliminate the risks of testing without requirements.
Tip 2: Investigate
Your top priority goal should be to gather all the scattered documents, Emails, Recordings, Defects and connect the dots. It is very necessary when you are forced to test without requirements. You might not have enough time for this activity so you better be quick and prepare your own high level requirement document. Try to understand as deeply as possible and make note of every useful information. It will act as a baseline document for your future reference.
Tip 3: User Scenarios & Checklist
From requirements point of view, preparing User Scenarios can be advantage in such situation. A User scenario / Use Case is written in natural language to provide clearer picture of what customer is expecting and how we can accomplish.
You can also list down functional tasks in form of check-list. There are many types of check-list you can prepare: UI Checklist, Functional features, Defects and boundary values etc.
Checklists are easy to maintain and user can quickly get expected information out of it. Tester can easily improve checklist by adding/removing checkpoints.
Tip 4: Grab the Developers
You may not find much useful information in poorly maintained requirement documents. You can always ask the developers to solve your queries or understand module specific requirements. They have done the coding so under such situation they are the best person to answer your requirement queries. You must understand that without getting help from Dev team it is very difficult to achieve. It is very necessary to have good bonding with developers. Why? Read Here: 5 Reasons why Testers and Developers should have Good Rapport
Tip 5: Risk Based Testing
When there is no time for requirement gathering, you must identify the risk areas. Performing Risk Based analysis will allow you to make choices on what tests needs to be run first in a time crunch situation. Before you start testing, identify all areas in the user most likely to find issue. Approve all risk areas with application architect, developers, customer supports to make sure you are heading in right direction.
Tip 6: Ad hoc Testing
This is the best way to deal with situation like when you are testing without requirements or not having clarity. Ad hoc testing is done without use of any documentation or planning. Main purpose of Ad hoc testing is to uncover the defects. This is the least formal type of testing. To perform this type of testing, tester needs to have in-depth understanding of the application and all its functional flows. We can perform Ad hoc testing in many ways:
– Monkey Testing: Testing performed randomly and without any Test Case. Purpose is to break the system.
– Pair Testing: Two Testers are allocated to the same modules and they share ideas and experience to find defects.
– Buddy Testing: One development team member and one tester work together on identifying defects in the same functionality/module. It helps testers to better understand the system from different perspective.
Tip 7: Exploratory Testing
As you don’t have any formal requirement listed, hence exploratory testing is the best option. It is a hands-on approach in which tester is involved in exploring the software, what it does and doesn’t do. Beauty of Exploratory testing is, Testers do minimum planning and maximum execution. Test design and test execution activities run in parallel, hence Testers documents key aspects of the application during execution. Without any doubt Exploratory Testing is the most essential approach when testing without requirements.
So this is how we can achieve maximum test coverage when testing without requirements. Have you every faced such situation? Please share your experience with us through comments. Happy Testing!