“Whether they're battles between seasoned pros, or
Amongst the masses of standard casual players;
It’s fair to say, the majority of games people play will
Feature the same three Phases-
Opening, middle-game, end-game”
Software testing is no exception for this. We need to plan and execute each of the three phases with a lot of thought process and creativity. One wrong move can turn out to be very costly. Let us discuss on strategies and practices on each of three Phases, namely, Opening, middle-game, Endgame in software testing. But, these phases aren't 'shortcuts to success'. They're presented to focus your mind on executing software testing successfully.
What makes Software Testing Interesting
Software testing is very interesting because software testing is a fun. This fun in software testing is because challenges we face in software testing whose solutions make software testing to be carried out by mixing appropriate proportions of engineering, creativity, and management related activities. All these shall be done by keeping an end in our mind- ensuring business success. In other terms, any software testing that is not aligned to business success is not a worthy process. So, always perform business oriented software testing.
Business oriented software testing requires us to focus on strategizing software testing towards business goals like- aligning to planned release date; optimal use of resources so as to reduce cost; building confidence that one can use software with comfort and no risks; and compliance with standards.
In sections to follow, I will explain on how to do business oriented software testing across all three phases of software testing.
Three Phases in Software Testing: Opening, Middle-game, End-game
Software testing is a structured process of providing information about measuring level of quality of software by properly mixing quality control, quality assurance, and quality engineering activities. Good software testing is business oriented, result oriented, context and situation based, and ensures competitive advantage. In order to make these things reflect in each of three phases of software testing, namely, opening, middle-game, and end-game in each project, we have to make and use software testing as a strategy based creative and engineering activity.
Opening Phase: Well Begun is Half Done
Openings are categorized as a specific set, or sequence of moves that take place during the first phase of the software testing - the Opening phase. The purpose of the different openings is to help you prepare your team, so it's ready to take the software testing on the product during the forthcoming middle game phase. Some software testing projects are cut short by a sudden barriers and hurdles, which occurs in the Opening phase.
Opening phase in software testing is the most strategic one. In opening phase, test analysis shall be done so as to decide on scope of testing and decision shall be made on how much QC, QA, and QE activities are required to be done. In addition test strategy that provides direction on test management and technical areas shall be defined.
The challenge comes in picking the correct opening moves, since requirements and expectations from clients and also, available test basis may require you to adapt your chosen Opening sequence, else the Middlegame phase that follows will be a potentially fatal collection of disadvantages like overdoing testing, wasting resources, revising the plan, redefining test closure criteria, etc.
Effective software testing demands a structured process which is majorly influenced by requirements and expectations of stake holders; business priorities; creativity of test practitioners; test approaches, techniques; test environment; organizational supporting echo system that includes values and principles, policies, quality management system, leadership style, and so on. If we want to do good software testing, we need to understand all these aspects and arrive at unique project specific software testing strategy and all our software testing related activities shall be based on this strategy. These shall be done at opening phase.
In brief, in opening phase, based on project specific context and situation we arrive at project specific test strategy by engineering a software testing process on what we do and how much we need to do in software testing by aligning software testing based on business priorities, budget, time, resources including people and tools .
Opening phase is performs test initiation, test analysis and test strategy related tasks.
Middle-game Phase: Good Trade-offs are Essential
Middle-game phase is characterized by planning, execution, monitoring, and control related moves so as to make software testing team to work towards software testing goals. There can be situations which may result in deviations in software testing from defined goals. Whenever such deviations occur, decision makers shall weigh different options and take in-process trade-off decisions to address deviations and channelize resources in software testing to progress towards set goals. As we progress in middle-game phase, we reach a point where the test acceptance criteria and objectives set in phases of software test plan are fulfilled as per our satisfaction. At this point, judgment shall be made that the software testing reached at the transition point to move from middle game Phase to Endgame Phase.
Middle game phase comprises of the most dynamic set of activities that involve activating resources based on patterns of activities; building entire activities around software test acceptance criteria which will allow software testing team to concentrate on remaining testing and plans during the middle-game; refining or changing software test plan based on changes in requirements, context, and situation; connecting critical resources; and controlling the deviations with corrective and preventive measures.
Middle-game phase focuses on test plan, test architecture and design, test execution and bug reporting related tasks.
End-game Phase: Nothing Reaches the End till its Formally Accepted
End-game is characterized by formal acceptance by client and software test project closure. Here there can be issues that can be raised by client on non-fulfillment of requirements; problems during product deployment in real environment; unstable behavior of product; and so on. All these issues need to be addressed and product shall be handed-over and formal acceptance shall be obtained.
End-game phase involves final build and release; product stabilization; product hand-over; and software test closure related activities.
End-game phase focuses on software test completion, software release, software acceptance, and forml software test closure.
We perform testing using following Software testing Service Delivery Framework. (STSDF).
"Structured Software Testing- The Discipline of Discovering Software Errors”
by Arunkumar Khannur
Published by Partridge
(A Penguin Random House Company),
Pages: 428. Year of Publication 2014. Hardcover: Rs.650/- (ISBN: 978-1-4828-3311-9) Softcover: Rs.1199/- (ISBN: 978-1-4828-3312-6)
eBook on amazon.com:
Rs.169/- (ISBN: 978-1-4828-3310-2)