learn software testing in 6 lessons

Post on 25-Jan-2017

369 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lesson-1Introduction to Software

TestingBy

Syed Usman Ahmed

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.

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.

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.

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?

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Types of Software Testing

Software

testingBlack-Box

User-Inputs

Expected-

Outputs

White-Box

User Inputs

Expected

Output

Internal

Structure

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.

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.

Thanks

top related