A Comparative Analysis of Testing and Quality Assurance Techniques