Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Foundations of Software Testing http://www.cs.purdue.edu/homes/apm/foundationsBook/ Applications Pearson Education Fundamentals Aditya P. Mathur Professor, Department of Computer Science Purdue University, West Lafayette, IN, USA New Delhi,India March 7, 2007 Education in Software Testing • Mostly commercially offered short courses. • None of the top 25 Computer Science Departments offers a course in Software Testing in a degree program (except at Purdue where the first offering was in 2005) • Demand for high quality software has shot up • Most companies hire students who have none to little formal education in software testing • Companies have started treating/hiring testers as Test and Development Engineers. [Microsoft position: Software Development Engineer in Test (SDET)] 2 What exists for use at universities • Over 30 books on software testing. • Classics such as by Glenford Meyers et al. [2nd Ed. 2004, Wiley] and Boris Beizer [2nd Ed. 1990, Van Nostrand] Why then write yet another book on the same topic? 3 Why another book? Because none of the existing books… • Is an “appropriate” text for a university course • Focuses on test generation and assessment algorithms and techniques • Is comprehensive • Is written specifically for undergraduate and graduate students • Employs a formal approach to introduce the subject 4 Foundations book as a textbook • Clear and in-depth exposition • Delineated examples [252] • A gradient of exercises [199] from simple to highly challenging • Comprehensive bibliography [551 entries] • Frequently updated instructor material [Slides on the web site] • Detailed subject index [4124 entries] • Courtesy author citations [670 entries] • Student cash awards [$400 already distributed] 5 Applications Approach Fundamentals Clear separation of fundamentals and applications • Fundamentals: Test generation algorithms: simple to complex Model-based testing Test assessment principles and techniques Test process Empirical studies • Applications: Across attributes: security, performance, usability, etc. Across usage: WEB services, GUI, databases, etc. 6 Software Engineering Programs • Undergraduate: At least 25 [in US] • Graduate: At least 70 in US and over 100 [All over the world] http://www.gradschools.com/listings/out/software_engineering_out.html http://www.all-computer-schools.com/featured/software-engineering-program • Almost every program has a course related to software quality. Most topics covered in Volume 1 of the Foundations book are invariably covered in such courses. • Numerous short courses in testing and quality assurance offered by commercial outfits. 7 Software Engineering Programs: International • China: By the end of 2001, 51 universities were offering MS in Software Engineering http://www.china.org.cn/english/2002/Jun/33834.htm • Australia: By the end of 2004, 9 universities were offering BEng in Software Engineering http://www.china.org.cn/english/2002/Jun/33834.htm 8 Mapping to IEEE/ACM Undergraduate Curriculum: Software Verification and Validation http://sites.computer.org/ccse/SE2004Volume.pdf IEEE/ACM Course: SE221 Software Testing In-depth course on all aspects of testing, as well as other aspects of verification and validation, including specifying testable requirements, reviews, and product assurance. 9 Mapping to IEEE/ACM Curriculum: Software Verification and Validation Software verification and validation related: Topic Volume V&V Terminology and foundations 1/Ch 1 Objectives and constraints of V&V 1/Ch 1 Planning the V&V effort 2/Process Documenting V&V strategy 2/Process V&V involvement at different points in lifecycle 1/Ch 1, 2/Process Reviews 2/Process Desk checking 2/Process 10 Mapping to IEEE/ACM Curriculum: [Continued] Software testing related: Topic Volume Unit testing 1/Ch 2 Exception handling * Coverage analysis: structure based 1/Ch 6 Black box functional testing 1/Ch 2, 3, 4 * Distributed across chapters Developing test cases based on user stories 2 Operational profile based testing 2 Testing across quality attributes 2 Regression testing 1/Ch 5 Testing tools * Deployment process 2 11 Mapping to IEEE/ACM Curriculum [continued] Human computer user interface testing and evaluation related: Topic Volume Human computer interface testing and evaluation 2/Application: GUI testing Usefulness and usability X Heuristic evaluation X Cognitive walkthroughs 2/Process User testing 2/ Web usability X Formal experiments 2/Empirical studies 12 Mapping to IEEE/ACM Curriculum [continued] Problem analysis and reporting related: Topic Volume Formal experiments 2/Empirical studies Analyzing failure reports 2/Fault models and classification Debugging 2/Static analysis and applications Defect analysis 2/ 2/Fault models and classification Problem tracking 2/Fault models and classification 2 13 Evolution Plan Volume One: • • • • Second edition in June 2008. One new edition every two years thereafter. Solutions manual: December 2007. Translations: Chinese, Portugese, Spanish Volume Two: • Expected manuscript completion: June 2008. • Likely publishing date: December 2008 14 Marketing Conferences: • COMPSAC 2006: Chicago, USA • COMPSAC 2007: July 24-27,Beijing, PRC. • ISSRE 2007: 5-9th of November, Trollhätan, Sweden. • QSIC 2007: October 11-12, Portland, Oregon Color posters: • Large (16”x20”): 100 copies. • Small (8.5”x11”): 500 copies Short courses: Feb 6-7, Advanced course in software testing and reliability, Sao Carlos, Brazil Complementary copies: International: ~100 Australia, Brazil, Canada, China, Hong Kong, Singapore, US. SAARC: ~25 15 Thank You! 16