SlideShare a Scribd company logo
2
Most read
9
Most read
20
Most read
Software Testing
• The process of executing a program or
application with the intent of finding
software bugs (errors or other defects), and
verifying that the software product is fit for
use.
UNIT-1
INTRODUCTION
Testing as an Engineering Activity – Testing as a
Process – Testing axioms – Basic definitions –
Software Testing Principles – The Tester‟s Role
in a Software Development Organization –
Origins of Defects – Cost of defects – Defect
Classes – The Defect Repository and Test Design
– Defect Examples – Developer/Tester Support
of Developing a Defect Repository – Defect
Prevention strategies.
Unit-II
TEST CASE DESIGN
Test case Design Strategies – Using Black Box
Approach to Test Case Design – Random Testing –
Requirements based testing – Boundary Value
Analysis – Equivalence Class Partitioning – State-
based testing – Cause-effect graphing – Compatibility
testing – user documentation testing – domain testing
– Using White Box Approach to Test design – Test
Adequacy Criteria – static testing vs. structural testing
– code functional testing – Coverage and Control Flow
Graphs – Covering Code Logic – Paths – code
complexity testing – Additional White box testing
approaches- Evaluating Test Adequacy Criteria.
Unit-III
LEVELS OF TESTING
The need for Levels of Testing – Unit Test – Unit Test
Planning – Designing the Unit Tests – The Test Harness
– Running the Unit tests and Recording results –
Integration tests – Designing Integration Tests –
Integration Test Planning – Scenario testing – Defect
bash elimination System Testing – Acceptance testing –
Performance testing – Regression Testing –
Internationalization testing – Ad-hoc testing – Alpha,
Beta Tests – Testing OO systems – Usability and
Accessibility testing – Configuration testing –
Compatibility testing – Testing the documentation –
Website testing.
UNIT IV
TEST AMANAGEMENT
People and organizational issues in testing –
Organization structures for testing teams –
testing services – Test Planning – Test Plan
Components – Test Plan Attachments – Locating
Test Items – test management – test process –
Reporting Test Results – The role of three groups
in Test Planning and Policy Development –
Introducing the test specialist – Skills needed by a
test specialist – Building a Testing Group - The
Structure of Testing Group- The Technical Training
Program. .
UNIT-V
TEST AUTOMATION
Software test automation – skill needed for
automation – scope of automation – design
and architecture for automation –
requirements for a test tool – challenges in
automation – Test metrics and measurements
– project, progress and productivity metrics.
TEXT BOOKS:
1. Srinivasan Desikan and Gopalaswamy
Ramesh, “Software Testing – Principles and
Practices”, Pearson Education, 2006.
2. Ron Patton, “ Software Testing”, Second
Edition, Sams Publishing, Pearson Education,
2007.
REFERENCES:
1. Ilene Burnstein, “ Practical Software Testing”,
Springer International Edition, 2003.
2. Edward Kit,” Software Testing in the Real World –
Improving the Process”, Pearson Education, 1995.
3. Boris Beizer,” Software Testing Techniques” – 2nd
Edition, Van Nostrand Reinhold, New York, 1990.
4. Aditya P. Mathur, “Foundations of Software
Testing _ Fundamental Algorithms and
Techniques”, Dorling Kindersley (India) Pvt. Ltd.,
Pearson Education, 2008.
Software Testing Principles
Principle can be defined as
• A general or fundamental, law or assumption
• A rule or code of conduct
• The laws or facts of nature underlying the
working of an artificial device.
Principle 1
Testing is the process of exercising a software
component using a selected set of test cases, with the
intent of (i) revealing defects, and (ii) evaluating
quality.
• To prevent & eliminate defects
• Negative impact of s/w quality
• Execution-based activity
• s/w components- to represent any unit of s/w ranging
in size and complexity from an procedure or methods.
• Defects- negative impact on its functionality,
performance, reliability, security, and any other of its
quality attributes.
Principle 2
When the test objective is to detect defects, then a
good test case has a high probability of revealing
undetected defect(s).
• Provides a scientist approach to evaluate test case
design
• The effectiveness of the testing effort when the
objective is to detect defects.
• The hypothesis is related to the suspected occurrence
of specific types of defects.
• The goal for the test is to prove/disprove the
hypothesis, that is determine if the specific defect is
present/absent.
Principle 3
Test results should be inspected meticulously.
• Testers need to carefully inspect and interpret
test results.
• Several erroneous and costly scenarios
• Failure may be overlooked and test is pass status
when in reality the software has failed the test.
• Fail status- time & efforts may be spent on trying
to find the defects that not exist.
• A careful re-examination of the test results could
finally indicate that no failure has occurred.
Principle 4
A test case must contain the expected
output or result.
• Whether a defects has been revealed
• Pass/fail status for the test.
• The specification of test inputs and outputs
should be part of test design activities.
Principle 5
Test cases should be developed for both valid and
invalid input conditions.
• To provide with valid input
• Inputs may be incorrect
• Software users may have misunderstanding or lack of
information's about the nature of the inputs.
• To identify unexpected software behaviour.
• Invalid inputs also help developers and testers evaluate
the robustness of the s/w.
• It supports the need for independent test group.
Principle 6
The probability of the existence of additional
defects in a software component is proportional
to the number of defects already detected in that
component.
• A & B. A= 20, B=3.
• High degree of complexity and poorly designed.
• Developers and testers need to decide whether
to disregard the current version of the
component and work on redesign or plan to
expand additional testing resources.
Principle 7
Testing should be carried out by a group that
is independent of the development group.
• The requirement for an independent testing
group could be implemented as a completely
separate function in the organization.
• Software Quality Assurance Group.
• It is specialized part of the development group,
they need the capability to be objective.
Principle 8
Tests must be repeatable and reusable.
• To require recording of the exact condition of the
test, any special events that occurred, equipment
used and a careful accounting of the results.
• This information is valuable to the developers
when the code is returned for debugging so that
they can duplicate test conditions.
• It is also useful for tests that need to be repeated
after defect repair.
Principle 9
Testing should be planned.
• Test plans should be developed for each level of
testing and objectives for each should be
described in the association plan.
• Test planning activities should be carried out
throughout the software life cycle.
• It must be co-ordinated with project planning.
• The test manager & project manager must work
together to coordinate activities.
• Test risk must be evaluated.
Principle 10
Testing activities should be integrated into
the software life cycle.
• Test plan activities as supported by Principle
10.
• It should be integrated into the software life
cycle starting in the requirement analysis
phase.
Principle 11
Testing is a creative and challenging task.
1. Comprehensive knowledge of the s/w engineering
discipline.
2. Knowledge from both experience and education as to how
s/w is specified, designed and developed.
3. To manage many details.
4. Knowledge of fault types.
5. To reason like a scientist & hypotheses that relate to
presence of specific types of defects.
6. Educational, training and work related experience.
7. To create and document test cases. To design the test
cases the tester must select inputs often from a very wide
domain.
Principle 11
8. To design and record test procedure for running the
test.
9. To plan for testing & allocate the proper resources.
10. To execute the tests & is responsible for recoding
results.
11. To analyze the result status whether SF. It involves
understanding & tracking huge information.
12. To collect & analyze test related measurements.
13. To learn about tools & idea about advanced tools.
14. To work, cooperate and good relation with user.
15. Well educated & trained in specified area and update
their knowledge frequently.
Principles
Principle 1. Testing is the 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. When the test objective is to detect
defects, then a good test case has a high
probability of revealing undetected defect(s).
Principle 3. Test results should be inspected
meticulously.
Principle 4. A test case must contain the
expected output or result.
Principle 5. Test cases should be developed for
both valid and invalid input conditions.
Principle 6. The probability of the existence of
additional defects in a software component is
proportional to the number of defects already
detected in that component.
Principle 7. Testing should be carried out by a
group that is independent of the development
group.
Principle 8. Tests must be repeatable and
reusable.
Principle 9. Testing should be planned.
Principle 10. Testing activities should be
integrated into the software life cycle.
Principle 11. Testing is a creative and
challenging task.

More Related Content

PPTX
IT 8076 Software Testing Unit1
PPTX
formal verification
PPT
Software design, software engineering
PPTX
unit 5 Architectural design
PPTX
SOFTWARE TESTING
PPTX
Object Oriented Approach for Software Development
PPT
Advanced topics in software engineering
IT 8076 Software Testing Unit1
formal verification
Software design, software engineering
unit 5 Architectural design
SOFTWARE TESTING
Object Oriented Approach for Software Development
Advanced topics in software engineering

What's hot (20)

PPTX
Integration testing
PPTX
Unified process Model
PPTX
Unit testing
PPTX
Software metrics
PDF
Test Process Maturity Measurement and Related Measurements
PPTX
Software Evolution
PPTX
Software process Models
PPT
Unit 8
PPTX
Introduction to software testing
PPTX
Regression testing
PPTX
Software reliability growth model
PDF
Requirement engineering process
PPTX
Software Measurement and Metrics.pptx
PPT
Software Process Models
PPT
Flow oriented modeling
PDF
What are Software Testing Methodologies | Software Testing Techniques | Edureka
PPTX
Software quality assurance
PPTX
Software quality assurance
PPT
CS8494 SOFTWARE ENGINEERING Unit-2
PPT
Software Quality Assurance
Integration testing
Unified process Model
Unit testing
Software metrics
Test Process Maturity Measurement and Related Measurements
Software Evolution
Software process Models
Unit 8
Introduction to software testing
Regression testing
Software reliability growth model
Requirement engineering process
Software Measurement and Metrics.pptx
Software Process Models
Flow oriented modeling
What are Software Testing Methodologies | Software Testing Techniques | Edureka
Software quality assurance
Software quality assurance
CS8494 SOFTWARE ENGINEERING Unit-2
Software Quality Assurance
Ad

Similar to IT8076 - SOFTWARE TESTING (20)

PPTX
UNIT 1.pptx
PPTX
IT8076 – Software Testing Intro
DOCX
PPTX
Software testing introduction
PPTX
Introduction to software testing
PPTX
Learn Software Testing in 6 Lessons
PDF
Principles and Goals of Software Testing
PPT
Chap1 Istqb presentation Foundation level in QA
PPTX
SOFTWARE TESTING UNIT-4
PPTX
Software unit4
PPT
Software testing
PDF
What is software testing in software engineering?
PDF
What is Testing in Software Engineering?
PPTX
Software testing ppt
PDF
Check upload1
PPTX
Fundamentals of testing
PPTX
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
PPT
NGTEST_Presentation
PPT
NG_TEST_SR_Presentation
UNIT 1.pptx
IT8076 – Software Testing Intro
Software testing introduction
Introduction to software testing
Learn Software Testing in 6 Lessons
Principles and Goals of Software Testing
Chap1 Istqb presentation Foundation level in QA
SOFTWARE TESTING UNIT-4
Software unit4
Software testing
What is software testing in software engineering?
What is Testing in Software Engineering?
Software testing ppt
Check upload1
Fundamentals of testing
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
NGTEST_Presentation
NG_TEST_SR_Presentation
Ad

Recently uploaded (20)

PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PDF
Structs to JSON How Go Powers REST APIs.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Construction Project Organization Group 2.pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PPT
Project quality management in manufacturing
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Sustainable Sites - Green Building Construction
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Well-logging-methods_new................
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Structs to JSON How Go Powers REST APIs.pdf
UNIT 4 Total Quality Management .pptx
Arduino robotics embedded978-1-4302-3184-4.pdf
Construction Project Organization Group 2.pptx
Internet of Things (IOT) - A guide to understanding
Project quality management in manufacturing
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Foundation to blockchain - A guide to Blockchain Tech
Model Code of Practice - Construction Work - 21102022 .pdf
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
additive manufacturing of ss316l using mig welding
Sustainable Sites - Green Building Construction
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
OOP with Java - Java Introduction (Basics)
Well-logging-methods_new................
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf

IT8076 - SOFTWARE TESTING

  • 1. Software Testing • The process of executing a program or application with the intent of finding software bugs (errors or other defects), and verifying that the software product is fit for use.
  • 2. UNIT-1 INTRODUCTION Testing as an Engineering Activity – Testing as a Process – Testing axioms – Basic definitions – Software Testing Principles – The Tester‟s Role in a Software Development Organization – Origins of Defects – Cost of defects – Defect Classes – The Defect Repository and Test Design – Defect Examples – Developer/Tester Support of Developing a Defect Repository – Defect Prevention strategies.
  • 3. Unit-II TEST CASE DESIGN Test case Design Strategies – Using Black Box Approach to Test Case Design – Random Testing – Requirements based testing – Boundary Value Analysis – Equivalence Class Partitioning – State- based testing – Cause-effect graphing – Compatibility testing – user documentation testing – domain testing – Using White Box Approach to Test design – Test Adequacy Criteria – static testing vs. structural testing – code functional testing – Coverage and Control Flow Graphs – Covering Code Logic – Paths – code complexity testing – Additional White box testing approaches- Evaluating Test Adequacy Criteria.
  • 4. Unit-III LEVELS OF TESTING The need for Levels of Testing – Unit Test – Unit Test Planning – Designing the Unit Tests – The Test Harness – Running the Unit tests and Recording results – Integration tests – Designing Integration Tests – Integration Test Planning – Scenario testing – Defect bash elimination System Testing – Acceptance testing – Performance testing – Regression Testing – Internationalization testing – Ad-hoc testing – Alpha, Beta Tests – Testing OO systems – Usability and Accessibility testing – Configuration testing – Compatibility testing – Testing the documentation – Website testing.
  • 5. UNIT IV TEST AMANAGEMENT People and organizational issues in testing – Organization structures for testing teams – testing services – Test Planning – Test Plan Components – Test Plan Attachments – Locating Test Items – test management – test process – Reporting Test Results – The role of three groups in Test Planning and Policy Development – Introducing the test specialist – Skills needed by a test specialist – Building a Testing Group - The Structure of Testing Group- The Technical Training Program. .
  • 6. UNIT-V TEST AUTOMATION Software test automation – skill needed for automation – scope of automation – design and architecture for automation – requirements for a test tool – challenges in automation – Test metrics and measurements – project, progress and productivity metrics.
  • 7. TEXT BOOKS: 1. Srinivasan Desikan and Gopalaswamy Ramesh, “Software Testing – Principles and Practices”, Pearson Education, 2006. 2. Ron Patton, “ Software Testing”, Second Edition, Sams Publishing, Pearson Education, 2007.
  • 8. REFERENCES: 1. Ilene Burnstein, “ Practical Software Testing”, Springer International Edition, 2003. 2. Edward Kit,” Software Testing in the Real World – Improving the Process”, Pearson Education, 1995. 3. Boris Beizer,” Software Testing Techniques” – 2nd Edition, Van Nostrand Reinhold, New York, 1990. 4. Aditya P. Mathur, “Foundations of Software Testing _ Fundamental Algorithms and Techniques”, Dorling Kindersley (India) Pvt. Ltd., Pearson Education, 2008.
  • 9. Software Testing Principles Principle can be defined as • A general or fundamental, law or assumption • A rule or code of conduct • The laws or facts of nature underlying the working of an artificial device.
  • 10. Principle 1 Testing is the process of exercising a software component using a selected set of test cases, with the intent of (i) revealing defects, and (ii) evaluating quality. • To prevent & eliminate defects • Negative impact of s/w quality • Execution-based activity • s/w components- to represent any unit of s/w ranging in size and complexity from an procedure or methods. • Defects- negative impact on its functionality, performance, reliability, security, and any other of its quality attributes.
  • 11. Principle 2 When the test objective is to detect defects, then a good test case has a high probability of revealing undetected defect(s). • Provides a scientist approach to evaluate test case design • The effectiveness of the testing effort when the objective is to detect defects. • The hypothesis is related to the suspected occurrence of specific types of defects. • The goal for the test is to prove/disprove the hypothesis, that is determine if the specific defect is present/absent.
  • 12. Principle 3 Test results should be inspected meticulously. • Testers need to carefully inspect and interpret test results. • Several erroneous and costly scenarios • Failure may be overlooked and test is pass status when in reality the software has failed the test. • Fail status- time & efforts may be spent on trying to find the defects that not exist. • A careful re-examination of the test results could finally indicate that no failure has occurred.
  • 13. Principle 4 A test case must contain the expected output or result. • Whether a defects has been revealed • Pass/fail status for the test. • The specification of test inputs and outputs should be part of test design activities.
  • 14. Principle 5 Test cases should be developed for both valid and invalid input conditions. • To provide with valid input • Inputs may be incorrect • Software users may have misunderstanding or lack of information's about the nature of the inputs. • To identify unexpected software behaviour. • Invalid inputs also help developers and testers evaluate the robustness of the s/w. • It supports the need for independent test group.
  • 15. Principle 6 The probability of the existence of additional defects in a software component is proportional to the number of defects already detected in that component. • A & B. A= 20, B=3. • High degree of complexity and poorly designed. • Developers and testers need to decide whether to disregard the current version of the component and work on redesign or plan to expand additional testing resources.
  • 16. Principle 7 Testing should be carried out by a group that is independent of the development group. • The requirement for an independent testing group could be implemented as a completely separate function in the organization. • Software Quality Assurance Group. • It is specialized part of the development group, they need the capability to be objective.
  • 17. Principle 8 Tests must be repeatable and reusable. • To require recording of the exact condition of the test, any special events that occurred, equipment used and a careful accounting of the results. • This information is valuable to the developers when the code is returned for debugging so that they can duplicate test conditions. • It is also useful for tests that need to be repeated after defect repair.
  • 18. Principle 9 Testing should be planned. • Test plans should be developed for each level of testing and objectives for each should be described in the association plan. • Test planning activities should be carried out throughout the software life cycle. • It must be co-ordinated with project planning. • The test manager & project manager must work together to coordinate activities. • Test risk must be evaluated.
  • 19. Principle 10 Testing activities should be integrated into the software life cycle. • Test plan activities as supported by Principle 10. • It should be integrated into the software life cycle starting in the requirement analysis phase.
  • 20. Principle 11 Testing is a creative and challenging task. 1. Comprehensive knowledge of the s/w engineering discipline. 2. Knowledge from both experience and education as to how s/w is specified, designed and developed. 3. To manage many details. 4. Knowledge of fault types. 5. To reason like a scientist & hypotheses that relate to presence of specific types of defects. 6. Educational, training and work related experience. 7. To create and document test cases. To design the test cases the tester must select inputs often from a very wide domain.
  • 21. Principle 11 8. To design and record test procedure for running the test. 9. To plan for testing & allocate the proper resources. 10. To execute the tests & is responsible for recoding results. 11. To analyze the result status whether SF. It involves understanding & tracking huge information. 12. To collect & analyze test related measurements. 13. To learn about tools & idea about advanced tools. 14. To work, cooperate and good relation with user. 15. Well educated & trained in specified area and update their knowledge frequently.
  • 22. Principles Principle 1. Testing is the 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. When the test objective is to detect defects, then a good test case has a high probability of revealing undetected defect(s).
  • 23. Principle 3. Test results should be inspected meticulously. Principle 4. A test case must contain the expected output or result. Principle 5. Test cases should be developed for both valid and invalid input conditions. Principle 6. The probability of the existence of additional defects in a software component is proportional to the number of defects already detected in that component.
  • 24. Principle 7. Testing should be carried out by a group that is independent of the development group. Principle 8. Tests must be repeatable and reusable. Principle 9. Testing should be planned. Principle 10. Testing activities should be integrated into the software life cycle. Principle 11. Testing is a creative and challenging task.