Foundations of Software Testing Pearson Education

Preview:

DESCRIPTION

 

Citation preview

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!

Recommended