Software testing is very important and time intense portion of the software development life cycle its persistence is to perceive failures in software so that flaws may be improved and adjusted in an initial stage. Software Testing is a practice for approving that the product/software/program that has been developed by programmers/coder is an excellent or quality creation and to guarantee that the synthetic product is functioning agreeing to the requirement and satisfying the consumer/client needs. There are many approaches to software testing. Testing is a procedure of training a program with precise intent of discovering errors before preceding its delivery to end user. Software Testing is the method of performing a program to locate an error. This paper defines mostly generally used software testing techniques for identifying process for error and they are white box testing, black box testing and grey box testing. Software testing, in cooperation in terms of quality excellence and consistency, is very essential. In this article, Author describes the testing software and its objectives and then testing altered software debugging software to fully explain. After a full explanation of software testing, test methods include Black Box and White Box and Gray Box delivered and the variances and advantages and disadvantages of the three methods calculated. And well methods have acknowledged three methods of software testing.