Download - Foundations of Software Testing
Foundations of Software Testing
Pearson Education
Aditya P. MathurProfessor, Department of Computer SciencePurdue University, West Lafayette, IN, USA
New Delhi,IndiaMarch 7, 2007
Fundamentals
App
licat
ions
http://www.cs.purdue.edu/homes/apm/foundationsBook/
2
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)]
3
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?
4
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
5
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]
6
Approach
• Fundamentals:
Test generation algorithms: simple to complex
Model-based testing
Test assessment principles and techniques
Test process
Empirical studies
Clear separation of fundamentals and applications
• Applications:
Across attributes: security, performance, usability, etc.
Across usage: WEB services, GUI, databases, etc.
Fundamentals
App
licat
ions
7
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.
8
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
9
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.
10
Mapping to IEEE/ACM Curriculum:Software Verification and Validation
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
Software verification and validation related:
11
Mapping to IEEE/ACM Curriculum: [Continued]
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
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
Distributed across chapters
*Software testing related:
12
Mapping to IEEE/ACM Curriculum [continued]
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
Human computer user interface testing and evaluation related:
13
Mapping to IEEE/ACM Curriculum [continued]
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
Problem analysis and reporting related:
14
Evolution Plan
Volume Two: • Expected manuscript completion: June 2008.• Likely publishing date: December 2008
Volume One: • Second edition in June 2008.• One new edition every two years thereafter.• Solutions manual: December 2007.• Translations: Chinese, Portugese, Spanish
15
Marketing
Color posters: • Large (16”x20”): 100 copies.• Small (8.5”x11”): 500 copies
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
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
16
Thank You!