Foundations of Software Testing
[Link]
Pearson Education
Applications
Fundamentals
Aditya P. Mathur New Delhi,India
Professor, Department of Computer Science March 7, 2007
Purdue University, West Lafayette, IN, USA
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]
[Link]
[Link]
• 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
[Link]
• Australia: By the end of 2004, 9 universities were offering BEng in Software Engineering
[Link]
8
Mapping to IEEE/ACM Undergraduate Curriculum:
Software Verification and Validation
[Link]
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]
* Distributed
across
Software testing related:
chapters
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 *
11
Deployment process 2
Mapping to IEEE/ACM Curriculum
[continued]
Human computer user interface testing and evaluation related:
Topic Volume
Human computer interface testing and 2/Application: GUI
evaluation 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