16
Foundations of Software Testing Pearson Education Aditya P. Mathur Professor, Department of Computer Science Purdue University, West Lafayette, IN, USA New Delhi,India March 7, 2007 Fundamentals Applications tp://www.cs.purdue.edu/homes/apm/foundationsBook/

Foundations of Software Testing Pearson Education

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Foundations of Software Testing Pearson Education

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/

Page 2: Foundations of Software Testing Pearson Education

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)]

Page 3: Foundations of Software Testing Pearson Education

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?

Page 4: Foundations of Software Testing Pearson Education

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

Page 5: Foundations of Software Testing Pearson Education

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]

Page 6: Foundations of Software Testing Pearson Education

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

Page 7: Foundations of Software Testing Pearson Education

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.

Page 8: Foundations of Software Testing Pearson Education

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

Page 9: Foundations of Software Testing Pearson Education

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.

Page 10: Foundations of Software Testing Pearson Education

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:

Page 11: Foundations of Software Testing Pearson Education

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:

Page 12: Foundations of Software Testing Pearson Education

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:

Page 13: Foundations of Software Testing Pearson Education

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:

Page 14: Foundations of Software Testing Pearson Education

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

Page 15: Foundations of Software Testing Pearson Education

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

Page 16: Foundations of Software Testing Pearson Education

16

Thank You!