Software Testingis As Old As the Hills In the History of Digital Computers. the Testing Ofsoftware Is an Important Means of Assessing the Software to Determine Itsquality. Since Testing Typically Consumes 40~50% of Development Efforts, Andconsumes More Effort For Systems That Require Higher Levels of Reliability, Itis a Significant Part of the Software Engineering. With the Development Offourth Generation Languages (4Gl), Which Speeds Up the Implementation Process,The Proportion of Time Devoted to Testing Increased. As the Amount Ofmaintenance and Upgrade of Existing Systems Grow, Significant Amount of Testingwill Also Be Needed to Verify Systems After Changes Are Made [12]. Despiteadvances In Formal Methods and Verification Techniques, a System Still Needs Tobe Tested Before It Is Used. Testing Remains the Truly Effective Means Toassure the Quality of a Software System of Non-Trivial Complexity [13], As Wellas One of the Most Intricate and Least Understood Areas In Software Engineering[19]. Testing, an Important Research Area Within Computer Science Is Likely Tobecome Even More Important In the Future. Thisretrospective on a Fifty-Year of Software Testing Technique Research Examinesthe Maturation of the Software Testing Technique Research By Tracing the Majorresearch Results That Have Contributed to the Growth of This Area. It Alsoassesses the Change of Research Paradigms Over Time By Tracing the Types Ofresearch Questions and Strategies Used at Various Stages. We Employ the ...