Software testing gives an action for assessing a quality or fitness of a program or system and to find out whether it gives feasible results or not. The paper is mainly having a focus on Software testing paradigms. It gives an idea of taxonomy which says There are so many methods for testing and testing techniques which serves different purposes of multiple life cycle phases. The study has a focus on testing techniques, as well as the modern techniques to give a direction for future purpose. Paper speaks about Software testing is a wide-ranging area, which includes numerous extra technical and non-technical areas, such as requirement, design and implementation, conservation, process and management issues in software engineering. The goal of the testing has different prospects it varies according to demands, utility, purpose and level of it. The paper mainly aims of testing is to confirm the class of software systems by steadily training the software in sensibly measured conditions. Paper explains the new models of testing Black box testing and white box testing. The main difference between them is Black box testing is used to test the software without knowing the structure of the databases and codes while white box testing is also a software testing method which needs the internal structure to be well known by the tester. Black box testing does not need the knowledge of implementation to carry out the testing while white box needs the implementation of knowledge for the same. Paper gives the detailed explanation of different types of testing which includes Performance testing, Reliability testing, security testing and testing automation. According to paper every software does not have the specification on testing but every system has the requirements of performance. Software does not take so much time to process or plethora of resources to execute. Paper describe the Software reliability as the probability of failure-free operation. For security testing it is very important in any Technology to have a proper security of testing there are so many critical software applications and services have combined security actions against spiteful outbreaks. Since Software testing is expensive. Automation is a very good method and reduce time and cost. Software testing tools and techniques generally hurt because of the shortage of generic applicability and scalability. The paper introduces the available tools, Techniques and Metrics. There is plethora of Tools used for Software testing. The tool for correctness of testing generally specialized to a system and have a very limited ability and generalization. Robustness and stress testing tools are more likely to be made generic. While vital to the quality of a software and extensively deployment by computer operator and testers, software testing leftovers an art, due to limited thoughtful and understanding of the values of software.