Introduction to Software Engineering 1

17
Introduction to Software Engineering Muhammad Nasir Software Testing Strategies [email protected]

Transcript of Introduction to Software Engineering 1

Page 1: Introduction to Software Engineering 1

Introduction to Software Engineering

Muhammad Nasir

Software Testing Strategies

[email protected]

Page 2: Introduction to Software Engineering 1

Agenda Software Testing What Software Testing Shows Strategic Approach Verification & Validation Who Test the Software Software Testing Strategy Strategic Testing Issues Unit Testing

Page 3: Introduction to Software Engineering 1

Software Testing

“Software Testing is the process of executing a software system with the intent of finding errors prior to delivery to the end user”

Page 4: Introduction to Software Engineering 1

What Software Testing Shows

Page 5: Introduction to Software Engineering 1

Strategic Approach

Page 6: Introduction to Software Engineering 1

Verification & Validation

Page 7: Introduction to Software Engineering 1

Who Test the Software?

Page 8: Introduction to Software Engineering 1

Organizing for Software Testing

Misconceptions regarding the use of independent testing teams The developer should do no testing at all Testers are not involved with the project until it is

time for it to be tested The developer and Independent Test Group

(ITG) must work together throughout the software project to ensure that thorough tests will be conducted

Page 9: Introduction to Software Engineering 1

Software Testing Strategy

Page 10: Introduction to Software Engineering 1

Software Testing Strategy Unit Testing – makes heavy use of testing techniques that

exercise specific control paths to detect errors in each software component individually

Integration Testing – focuses on issues associated with verification and program construction as components begin interacting with one another

Validation Testing – provides assurance that the software validation criteria (established during requirements analysis) meets all functional, behavioral, and performance requirements

System Testing – verifies that all system elements mesh properly and that overall system function and performance has been achieved

Page 11: Introduction to Software Engineering 1

Strategic Testing Issues

Page 12: Introduction to Software Engineering 1

Strategic Testing Issues

Page 13: Introduction to Software Engineering 1

Unit Testing

Page 14: Introduction to Software Engineering 1

Unit Testing

Page 15: Introduction to Software Engineering 1

Unit Testing

Page 16: Introduction to Software Engineering 1

Unit Testing

Module interfaces are tested for proper information flow.

Local data are examined to ensure that integrity is maintained.

Boundary conditions are tested. Basis (independent) path are tested. All error handling paths should be tested. Drivers and/or stubs need to be developed

to test incomplete software.

Page 17: Introduction to Software Engineering 1

The End

Thanks for listening Questions would be appreciated.