Software Testing: |Art - Practice|=? Aditya Mathur Purdue University Department of Computer Science SERC Showcase Ball State University Muncie, IN November 11-12, 2009 Objective • Identify gaps, and their cause, in state-of-the-art and state-of-practice in the area of software testing and quality assurance. • Make recommendations on how to close the gaps identified. 2 Benefits Companies Aid to strategic planning Improvement in product quality Determination of funding priorities NSF Researchers Choice of problems 3 Current Scenario Faculty Companies Proposals Available (..but are these used?) NSF Accept Tools Techniques Reject Are these useful? Are these scalable? Does novelty really matter? How does NSF assess the utility of an engineering tool/technique? 4 Method: Subjects 12 companies who are willing to participate in the study SERC and non-SERC companies to be considered 5 Method: State of the Art Test generation Test quality Test process, metrics Others? 6 Method: State of practice Specific techniques in Test generation Test quality Test process, metrics Test phases: unit, integration, system, regression Debugging Others? 7 Method: Data collection Visit each company for 1-week Interview testers and managers Write summary report for each company Write project report Companies anonymized Gaps Causes Recommendations 8 Sample Questions What test generation techniques do you use in unit testing? System testing? What metrics do you use to determine the adequacy of your tests in system testing? Do you use finite state modeling and test generation using advanced methods such as the Wp method? What commercial/open source tools, e.g., UPPAAL, do you use for testing real-time properties of your application? Do you use timed I/O Transition Systems for modeling and test generation for real time systems? Do you generate tests during the requirements phase of the life cycle? 9 Past Work Grindal, Jeff Offutt, and Jonas Mellin, 2006 12 companies surveyed Focus on process Lacks specific techniques and tools Beer and Ramler 2008 One company [Siemens] Focus on “role of experience” in software testing 10 Budget Duration: July 2010-June 2011 Total: $100K (Salary, indirect costs, travel) NSF: $50K Companies: $50K. (approx) $5K/company 11 Selected References • Foundations of Software Testing, A. P. Mathur, Pearson/Addison Wesley. 2008 • On the Testing Maturity of Software Producing Organizations, Mats Grindal, Jeff Offutt, and Jonas Mellin, TAIC PART August 31, 2006. • Software Testing, the State of the Practice, Gary, T.W., Proceedings of International Test Conference, 1991. • The Role of Experience in Software Testing Practice, Armin Beer and Rudolf Ramler, 34th Euromicro Conference Software Engineering and Advanced Applications, pp 258-265, 2008. • Factors with Negative Influence on Software Testing Practice in Spain: A Survey, Luis Fernández-Sanz , M. Teresa Villalba , José Ramón Hilera and Raquel Lacuesta, Software Process Improvement, Vol 42, pp 1-12, 2009. 12