Information Technology Reference
In-Depth Information
many iterations of testing are to be performed. If the number of iterations of test-
ing reaches the number of cycles as per test plans, then even if some defects are
not fixed, the software is handed over for deployment with a list of known defects.
Apart from the defects found by the test team, the application is bound to have
defects that will be detected by end users during the use of the application. These
again have to be fixed or a work-around has to be provided, but this time around
the cost of fixing them will be too high.
1.1. Software Testing Methodologies
Software engineering standards like Capability Maturity Model, ISO9000, and so
on, addressed many process-related problems in software development and helped
in evolving a matured Software Development Life Cycle (SDLC). But they failed in
evolving processes for software testing. For instance, in SDLC there is one phase for
software testing. In this model it is assumed that software requirements, software
design, and software build phases have no role in software testing. But, in fact, this
is not true. From best practices derived from executing software projects over the
years, it has been proved that software testing processes should be involved right
from the software requirements phase itself. So a software test model has evolved to
address these issues. It is known as the Test Maturity Model (TMM). This model
states a process known as Software Test Life Cycle (STLC). Most of the processes
associated with STLC—such as requirement review, design review, test coverage,
test planning, test strategy, resource allocation, test automation, test case prepara-
tion, test execution, test reporting, defect tracking, risk management, version con-
trol, test bed preparation, software configuration, and so on—are spread over all the
phases of SDLC and a parallel STLC process exists for any of the SDLC processes.
1.1. Tools
There are tools on the market for many tasks associated with software testing. There
are tools available for test management, test case generation, test automation, defect
tracking, and so on. Some of the areas where tools do not work include test case gener-
ation and test planning. Test case generation is not a task that can be automated easily
because a lot of thinking is required in writing test cases which is not possible to auto-
mate easily. Similarly test planning requires a lot of thinking on things like technology,
effort, resource availability, skills availability, infrastructure availability, and so on.
1.14.1
Test Case Execution Automation
Test case execution has gained the most from the introduction of automation tools.
There are some great tools out there in the market which can do good automation
for functional testing, performance testing, load testing, regression testing, smoke
Search WWH ::




Custom Search