learn software testing in 6 lessons

19
Lesson-1 Introduction to Software Testing By Syed Usman Ahmed

Upload: syed-ahmed

Post on 25-Jan-2017

367 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Learn Software Testing in 6 Lessons

Lesson-1Introduction to Software

TestingBy

Syed Usman Ahmed

Page 2: Learn Software Testing in 6 Lessons

Modules in Lesson-1• Basic definitions and terminologies of software testing.• Principles of Software Testing• Basic types of testing.• White box testing.• Black box testing.

Page 3: Learn Software Testing in 6 Lessons

Basic definition - Software Testing

SOFTWARE TESTING• Software testing is a process of executing a program or

application with the intent of finding the software bugs.• It can also be stated as the process of validating and

verifying that a software program or application or product: Meets the business and technical requirements that guided it's design and development.

Page 4: Learn Software Testing in 6 Lessons

Basic Definition - Error and Fault (Defect)

ERROR• An error is a mistake, misconception, or misunderstanding

on the part of software developer.FAULT (DEFECT)

• A fault or defect is introduced into the software as the result of an error. It is an anomaly in the software that may cause it to behave incorrectly, and not according to its specification.

Page 5: Learn Software Testing in 6 Lessons

Failures

• A failure is the inability of a software system, or component to perform its required functions within specified performance requirements.

Question for viewerWhat is the difference between error and defect?

Page 6: Learn Software Testing in 6 Lessons

Test Cases

• A test case in a practical sense is a test-related item which contains the following information:• A set of test inputs: These are data items received from an

external source by the code under test. The external source can be hardware, software, or human.

• Execution conditions: These are conditions required for running the test, for example a certain state of a database, or a configuration of hardware device.

• Expected output: These are specified results to be produced by the code under test.

Page 7: Learn Software Testing in 6 Lessons

More definitions

• Test – A test is group of test cases, or a group of related test cases and test procedures.

• Test Oracle – It is a document, or a piece of software that allows testers to determine whether a test has been passed or failed.

• Test Bed – A test bed is an environment that contains all the hardware and software needed to test a software component or a software system.

Page 8: Learn Software Testing in 6 Lessons

Principles of Software Testing

• Principle 1: Testing is a process of exercising a software component using a selected set of test cases, with the intent of (i) revealing defects, and (ii) evaluating quality.

• Principle 2: A good test case is one that has probability of revealing a yet undetected defect(s).

• Principle 3: Test results should be inspected meticulously.• Principle 4: Test case must contain the expected output or

result.

Page 9: Learn Software Testing in 6 Lessons

Principles of Software Testing

• Principle 1: Testing is a process of exercising a software component using a selected set of test cases, with the intent of (i) revealing defects, and (ii) evaluating quality.

• Principle 2: A good test case is one that has probability of revealing a yet undetected defect(s).

• Principle 3: Test results should be inspected meticulously.• Principle 4: Test case must contain the expected output or

result.

Page 10: Learn Software Testing in 6 Lessons

Principles of Software Testing

• Principle 1: Testing is a process of exercising a software component using a selected set of test cases, with the intent of (i) revealing defects, and (ii) evaluating quality.

• Principle 2: A good test case is one that has probability of revealing a yet undetected defect(s).

• Principle 3: Test results should be inspected meticulously.

• Principle 4: Test case must contain the expected output or result.

Page 11: Learn Software Testing in 6 Lessons

Principles of Software Testing

• Principle 1: Testing is a process of exercising a software component using a selected set of test cases, with the intent of (i) revealing defects, and (ii) evaluating quality.

• Principle 2: A good test case is one that has probability of revealing a yet undetected defect(s).

• Principle 3: Test results should be inspected meticulously.• Principle 4: Test case must contain the expected output

or result.

Page 12: Learn Software Testing in 6 Lessons

Principles of Software Testing

• Principle 5: Test cases should be developed for both valid and invalid input conditions.

• Principle 6: Testing should carried out by a group that is independent of the development group.

• Principle 7: Tests must be repeatable and reusable.• Principle 8: Testing should be planned.

Page 13: Learn Software Testing in 6 Lessons

Principles of Software Testing

• Principle 5: Test cases should be developed for both valid and invalid input conditions.

• Principle 6: Testing should carried out by a group that is independent of the development group.

• Principle 7: Tests must be repeatable and reusable.• Principle 8: Testing should be planned.

Page 14: Learn Software Testing in 6 Lessons

Principles of Software Testing

• Principle 5: Test cases should be developed for both valid and invalid input conditions.

• Principle 6: Testing should carried out by a group that is independent of the development group.

• Principle 7: Tests must be repeatable and reusable.• Principle 8: Testing should be planned.

Page 15: Learn Software Testing in 6 Lessons

Principles of Software Testing

• Principle 5: Test cases should be developed for both valid and invalid input conditions.

• Principle 6: Testing should carried out by a group that is independent of the development group.

• Principle 7: Tests must be repeatable and reusable.• Principle 8: Testing should be planned.

Page 16: Learn Software Testing in 6 Lessons

Types of Software Testing

Software

testingBlack-Box

User-Inputs

Expected-

Outputs

White-Box

User Inputs

Expected

Output

Internal

Structure

Page 17: Learn Software Testing in 6 Lessons

Black-Box (BB) Testing

• Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings.

• This method of test can be applied to virtually every level of software testing: unit, integration, system and acceptance.

• Boundary Value Analysis (BVA) and Equivalence Partitioning (EP) are two basic types of Black Box testing.

Page 18: Learn Software Testing in 6 Lessons

White-Box Testing

• White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings.

• This method of test is generally applied at the beginning of the software development i.e. at the development of every unit.

• Software developer does the white box testing.

Page 19: Learn Software Testing in 6 Lessons

Thanks