learn software testing in 6 lessons
Post on 25-Jan-2017
369 Views
Preview:
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