20
Software Testing Created By: Aarif Habeeb MCA,SEO & SEM Expert, Website Developer [email protected] http://www.appsys.in created By: Aarif Habeeb

Basics of Software testing

Embed Size (px)

DESCRIPTION

Executing software in a simulated or real environment, using inputs selected somehow. www.appsys.in

Citation preview

Page 2: Basics of Software testing

created By: Aarif Habeeb

Introduction Goals of Testing Objectives of testing Levels of Testing Test Types VERIFICATION & VALIDATION The testing process Testing phases Software Testing Difficulties Stages of Testing Conclusion Reference Question Contact us

Agenda

Page 3: Basics of Software testing

created By: Aarif Habeeb

What is Software Testing?

Executing software in a simulated or real environment, using inputs selected somehow.

Introduction

Page 4: Basics of Software testing

created By: Aarif Habeeb

Detect faults Establish confidence in software Evaluate properties of software

◦ Reliability◦ Performance◦ Memory Usage◦ Security◦ Usability

Goals of Testing

Page 5: Basics of Software testing

created By: Aarif Habeeb

To understand testing techniques that are geared to discover program faults

To introduce guidelines for interface testing To understand specific approaches to object-oriented

testing To understand the principles of CASE tool support for

testing Executing a program with the intent of finding an error. To check if the system meets the requirements and be

executed successfully in the Intended environment. To check if the system is “ Fit for purpose”. To check if the system does what it is expected to do.

Objectives of testing

Page 6: Basics of Software testing

created By: Aarif Habeeb

A good test case is one that has a probability of finding an as yet undiscovered error.

A successful test is one that uncovers a yet undiscovered error.

A good test is not redundant. A good test should be “best of breed”. A good test should neither be too simple nor

too complex.

Continue…….Objective

Page 7: Basics of Software testing

created By: Aarif Habeeb

Unit Testing Integration Testing Validation Testing

◦ Regression Testing◦ Alpha Testing◦ Beta Testing

Acceptance Testing

Levels of Testing

Page 8: Basics of Software testing

created By: Aarif Habeeb

Functional tests Algorithmic tests Positive tests Negative tests Usability tests Boundary tests Startup/shutdown tests Platform tests Load/stress tests

Test Types

Page 9: Basics of Software testing

created By: Aarif Habeeb

Verification - typically involves reviews and meeting to evaluate documents, plans, code, requirements, and specifications. This can be done with checklists, issues lists, walkthroughs, and inspection meeting.

Validation - typically involves actual testing and takes place after verifications are completed.

Validation and Verification process continue in a cycle till the software becomes defects free.

VERIFICATION & VALIDATION

Page 10: Basics of Software testing

created By: Aarif Habeeb

Component testing ◦ Testing of individual program components◦ Usually the responsibility of the component

developer (except sometimes for critical systems)◦ Tests are derived from the developer’s experience

Integration testing◦ Testing of groups of components integrated to

create a system or sub-system◦ The responsibility of an independent testing team◦ Tests are based on a system specification

The testing process

Page 11: Basics of Software testing

created By: Aarif Habeeb

Testing phases

Componenttesting

Integrationtesting

Software developer Independent testing team

Page 12: Basics of Software testing

created By: Aarif Habeeb

Testing in the Small

Unit Testing Feature Testing Integration Testing

Unit TestingTests the smallest individually executable code units.Usually done by programmers. Test cases might be selected based on code, specification, intuition, etc.

Tools: Test driver/harness Code coverage analyzer Automatic test case generator

Stages of Testing

Page 13: Basics of Software testing

created By: Aarif Habeeb

Integration TestingTests interactions between two or more units or components. Usually done by programmers. Emphasizes interfaces.

Issues: In what order are units combined? How do you assure the compatibility and

correctness of externally-supplied components?

Page 14: Basics of Software testing

created By: Aarif Habeeb

Most of the software testing literature equates testcase selection to software testing but that is just onedifficult part. Other difficult issues include:

Determining whether or not outputs are correct. Comparing resulting internal states to expected

states. Determining whether adequate testing has been

done. Determining what you can say about the software

when testing is completed. Measuring performance characteristics. Comparing testing strategies.

Software Testing Difficulties

Page 15: Basics of Software testing

created By: Aarif Habeeb

Testing in the Large System Testing End-to-End Testing Operations Readiness Testing Beta Testing Load Testing Stress Testing Performance Testing Reliability Testing Regression Testing

Stages of Testing

Page 16: Basics of Software testing

created By: Aarif Habeeb

Conclusion

Page 17: Basics of Software testing

created By: Aarif Habeeb

www.appsys.in www.google.com www.wiki.com www.softwaretesting.com

Reference

Page 18: Basics of Software testing

created By: Aarif Habeeb

Questions

Page 19: Basics of Software testing

created By: Aarif Habeeb

Appsys Informatics Pvt [email protected]@appsys.in+91-98291601200141-4020120www.appsys.in

Contact us

Page 20: Basics of Software testing

created By: Aarif Habeeb

Thank you