By design we mean to create a plan for how to implement an idea and technique is a method or way for performing a task. So, test design is creating a set of inputs for given software that will provide a set of expected outputs. The idea is to ensure that the system is working well enough and it can be released with as few problems as possible for the average user. This not only saves cost, time and labor of the company but also raises the good will of the company. There are many testing techniques obtainable. The choice of an effective and cost saving testing technique has always been a hunt for the developers. The paper attempts to provide a comprehensive view of Testing Techniques. The objective is to put all the relevant information into a unified context.