Test Strategy & Test Planning

These are often referred documents which is a bible in any given Testing assignments —

There is always a conflict of description in detailing either of them…Few descriptions say Test Strategy is a Master Test Plan, and few say Test Plan is much more detailed. Finally you are left to take a decision from your end..

Let me take an analogy to describe the same –

Scenario: Required to collect data of list of grocery stores on the way when I travel from point A to Point B

  • In this case as we understand I need to count the number of grocery stores while travelling from Point A to Point B
    • Challenges/Questions:
      • I am not sure which path should I take in achieving the same since there are various paths by which I can reach point B
      • Can I count the same store if they are in 2 different locations in the same path
      • Can I consider a Store which has the provision of grocery as well to be counted
      • What is my transport between the points

 Solution: We need to now decide on certain conditions which are agreed upon based on which the solution can be worked upon

  • Choose an optimal path in terms of distance with respect to time and ensure max coverage though the chosen path. Consider them, since the intent here is to ensure how many physical stores are there irrespective of the branches of a same store (Eg: A chain store @ 2 ends of a road..)
  • The intent of the counter is to let know the availability of groceries in a given path, hence the stores which also stores groceries along with other storage is considered..(Eg: Big Bazaar)
  • Moderate distance is perceived hence it would be on a Car or a Van

What have we done now, we have evaluated a situation and strategized an approach to ensure the right results are produced as agreed. This is what is referred as Strategy.

  • How are we going to achieve the above strategy with the desired results
    • Carry out a pre-analysis of the path to travel
    • Select a potential Car or a Van through a Transport service and ensure a good driver is provided
    • Ensure the right counter is selected which has a reset option
    • Detail what are the pre-requirements(Entry) to start and how do I confirm closure(Exit)
    • Finalize the # of terms the validation would be carried before finalizing the final results are published………This is what is referred as a Plan

In a Nut shell, Strategy is defined as a methodology to achieve the desired results and a Plan is defined as the way it should be carried to meet the strategy defined to yield the desired results.

 Now with these details lets’ try to define the Test Strategy and a Test Plan

Test Strategy:

A Test Strategy document details the high level approach that needs to be carried to ensure that the testing efforts  yields max results(defects) for a given set of requirements

  • This would generally touch pace upon the various types of testing that needs to be exercised
  • How each of these testing types would be carried at a high level
    • Eg: An End to End Testing with an Interface Testing(SOA, Data Exchange..)
    • Defect Management – How should a defect be reported and the entire cycle of defect  ownership
    • Change Management: Detail how a Change in the requirement would be handled as a strategy not in detail

Test Plan:

A Test Plan document details the functioning of a Test Strategy in detail. This document provides info on the overall step by step approach in the entire engagement of testing under each sections. Ensures that every agreement, exceptions, scope of the requirements etc to be tested is taken care..

Note: I would enclose a sample Test Strategy and Test Plan for reference.

Advertisements

Basic Testing Concepts

Basic Testing Questions:

There are always few basic questions hovering around this subject line viz –

  • What is software testing?
  • Why an application needs to be tested?
  • Do we have any benefit out of this exercise?
  • What could be the loss faced by any application without being tested??
  • What are the different forms of testing exercised on an application
  • Can we measure the effectiveness of testing

Let’s try to address the above questions and familiarize ourselves in this Post –

Overview

To start with, An Application software is developed to address set of Business necessities and needs of an end user to ensure and optimize the business processes followed in an Organisation. The intent of using an application software is to address the client and internal needs within a short cycle of time for a specific service requested.

To develop an Application to meet the above requirements of a Business there is a need to understand some of the key points —

  • their current business model (Order Management, Process life cycle and so on)
  • the Serving client nature (Normal customer, premier, sales personal, government, ..)
  • Types of transactions carried (Policy creation, claims handling, settlement, Banking Transactions…)
  • optimal application response,(Speed, loading, volume)
  • the best of user interface required (Simple, Flashy, Voice processors, etc..)
  • to address all the critical functional needs of a business
  • are some to mention…

Testing

Now with reference to previous paragraph detailed it gives us a clear understanding that there is a need for the Application developed to be validated for the above mentioned details in detail to ensure and certify that it meets all the expectations of a Business need and a User need

Purpose of Testing:

Software testing is intended to identify the max deviations of an application as per the stated requirements or intended responses covering all possible logical combinations and corrected before the final version being published. This exercise also certifies the authenticity of the Application to support all the key decision of the Organization based on the output of the Software application by all means.

Process of Testing

Having confirmed the need for the Software Testing, it needs to be now ensured to follow a systematic approach with the intention of finding max deviations with requirements stated. The systematic approach is in the wiseness of choosing –

  • the right types of Testing to be deployed
  • Strategy to be applied to yield max result

Testing types

Types of testing can be broadly classified under Black and White Box Testing which is further sub classified as –

  • Whitebox Testing:  Also referred as Grey Box, Glass, Clear, Transparent Testing is basically conducted by the development team. This testing involves evaluation of the Programmed code under various conditions such as –
  • Path Testing
  • Conditional Testing
  • Branch Testing

Major Testing Types under this category are –

  • Unit Testing
  • Integration Testing
  • Black Box Testing: Testing an Application without getting into the source code through the functional Responses of the Application is termed Black Box Testing.

The various type of testing under this category are –

Functional Testing

  • System Testing
  • Usability Testing
  • Acceptance Testing
  • Regression Testing
  • Beta Testing
  • End to End Testing
  • Interface Testing (Middleware based testing)

Non Functional Testing

  • Stress Testing
  • Performance Testing
  • Load Testing

*(Details of each of them would be shared in the next post)

Testing Approach

A strategy to decide what type of testing needs to be exercised with required number of Cycles to yield max results.

A brief list of activities in a Testing Assignment is as given –

Test Strategy > Test Plan Creation > Requirement Feasibility Analysis > Test Case/Scenario Design > Test Execution > Defect Log/Management > Test Phase Closure

  • Test Strategy: is a document which details the approach that needs to be carried to ensure the max coverage of the Business Requirements in the application under test
  • Test Plan: is a document which details the different types of testing that needs to carried out, criteria under each testing type, resources, environment, Defect Management, Roles/Responsibilities in the Testing project
  • Requirement Feasibility Document: Requirements which are feasible to be tested
  • Test Case/Scenario: is a document with set of Validations/Conditions in line with the requirements which ensures functional responses for the set of positive data conditions identified.
  • Defect Management: Defect is a record of the deviation observed in the application as a result of the test Case executed. A defect has a defined set of flow before it is closed and verified. The closure of a defect confirms non appearance of the issue identified in the application.

 (The details of this would be covered during Test Strategy/Plan discussions)

Benefits

Testing earlier is always better rather than waiting till the user finds issues in using the application which is quite embarrassing and also costlier to fix the same.

It is often observed that as the defects get identified in the subsequent stages the cost of fixing a defect is substantially higher than the cost involved in fixing it in the earlier stages of testing

Some of the examples of software application breaking through are cited below which increases the need for testing and compulsory..

 > A wrong bank account getting credited instead of the intended account

> A major break down due to malfunction of a software application viz Traffic, Nuclear reactors,…

> Wrong claims and settlements for a Life or a Auto insurance

Additionally  to know some of the major breakdowns visit : http://www.wired.com/software/coolapps/news/2005/11/69355?currentPage=all

 

Note: I would touch pace each of the different details in my subsequent posts which is more practical in approach and realistic in implementation.

From My Desk

Friends and All Readers,

In this blog i would like to share some of the information related

  • Testing concepts ….
  • Different Industry standard Application testing
  • Automation Frameworks
  • Mob Apps Testing
  • Testing Based Certifications
  • New Happenings and advancements

I wanted this blog to be kept as Candid as possible and leave it to you guys to comment as you wish for any postings from my end..