software testing. what is software testing? definition: 1.is an investigation conducted to provide...

12
Software Testing

Upload: norman-walters

Post on 30-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

Software Testing

Page 2: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

What is Software Testing?

Definition:1. is an investigation conducted to provide

stakeholders with information about the quality of the product or service under test.

2. provides an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation

Page 3: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

Software testing can also be stated as the process of validating and verifying a software program/application/product

1. meets the business and technical requirements that guided its design and development;

2. works as expected; and3. can be implemented with the same

characteristics

Page 4: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

What is the primary purpose of Software Testing?

• to detect software failures so that defects may be discovered and corrected.

• This is a non-trivial detection. • often includes examination of code as well as

the execution of that particular code in various environments and conditions as well as examining the aspects of code.

Page 5: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

Functional vs. non-functional testing

• Functional testing refers to activities that verify a specific action or function of the code.

• Non-functional testing refers to aspects of the software that may not be related to a specific function or user action.

Page 6: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

Defects and failures

• Not all software defects are caused by coding errors.• Software faults occur through the following processes. – A programmer makes an error (mistake) , which results in a

defect (fault, bug) in the software source code – If this defect is executed, in certain situations the system

will produce wrong results, causing a failure. Note: Not all defects will necessarily result in failures

A defect can turn into a failure when the environment is changed

Page 7: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

Compatibility

• A common cause of software failure (real or perceived) is a lack of compatibility with other application software, operating systems (or operating system versions, old or new), or target environments that differ greatly from the original (such as a terminal or GUI application intended to be run on the desktop now being required to become a web application, which must render in a web browser).

• For example, in the case of a lack of backward compatibility .

Page 8: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

Software verification and validation

Software testing is used in association with verification and validation: 1. Verification: Have we built the software right? (i.e., does it match the specification).2. Validation: Have we built the right software? (i.e., is this what the customer wants).

Page 9: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

The software testing team

Software testing can be done by software testers.

1. Manager2. test lead3. test designer4. Tester5. automation developer6. test administrator.

Page 10: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

Testing methods

The box approach1. White box testing is when the tester has access to the

internal data structures and algorithms including the code that implement these.

2. Black box testing treats the software as a "black box"—without any knowledge of internal implementation.

3. Grey box testing (American spelling: gray box testing) involves having knowledge of internal data structures and algorithms for purposes of designing the test cases, testing at the user, or black-box level.

Page 11: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

Testing Levels

1. Unit testing refers to tests that verify the functionality of a specific section of code, usually at the function level. In an object-oriented environment, this is usually at the class level, and the minimal unit tests include the constructors and destructors.

2. Integration testing is any type of software testing that seeks to verify the interfaces between components against a software design. Software components may be integrated in an iterative way or all together ("big bang"). Normally the former is considered a better practice since it allows interface issues to be localised more quickly and fixed.

3. System testing tests a completely integrated system to verify that it meets its requirements.

Page 12: Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of

End of LessonShort quiz regarding the lesson will follow