What does a developer do when you've been asked to test an application? The straightforward answer is--it depends. Usually, a tester's mind in a non-structured IT environment is crowded with all sorts of questions, including:
- Do I have all the necessary info?
- How much time do I have?
- What state is the software in?
- What types of tests are expected to be performed?
- Who's validating the results?
Of course, it doesn't have to be this way. Testing plays as important a part--if not greater--than any other stage in the Software Development Life Cycle (SDLC). Testing is the only component which has its own lifecycle that intersects with every stage of the SDLC. They Figure 1 describes how the Software Testing Life Cycle (STLC) relates to the SDLC.
What's the "Right" Testing Methodology?
There are any numbes of options that make it tough to decide which testing methodology is best suited for a tester's needs. This is where analyzing industry best practices can help. One good example is the standardized approach we've adapted at Data Inc. after more than a decade of working with Fortune 100 companies. This standardized approach is flexible enough to be customized to meet the needs of any industry, whether part of an overall SDTC or scaled up to work with the entire SDLC.
1. Planning
The planning stage is at the heart of the methodology. This is when project managers address isues such as:
- What needs to be tested?
- Do I have the right skill set in house?
- Does my software release process incorporate the appropriate testing milestones?
- Does my budget support the testing I have in mind?
Once issues such as these have been addressed, project managers are in a position to gauge to a certain extent the risk being taken with software. Obviously, greater importance to testing would reduce the risk of poor quality software. Another point to keep in mind is that planning is an ongoing process--it has a starting point, but no defined end. Remember, there is a chance that teams will get things right the first time, so always plan for backups and contingencies. Brainstorming with an organization's team is another good way to flush out potential problems. At this stage, the Test Lead or Software Project Manager may choose to create a formal document stating some of the decisions made. The document is a work-in-progress until the end of the step 2