SlideShare a Scribd company logo
Software Testing
Name: Madam Currie
Course: Swen5431
Semester: Summer 2K
Objective
The objective of this presentation is to
show the
 How to define Software Testing
Principles
 What are the types of Software Tests
 What is Test Planning
 Test Execution and Reporting
 Real-Time Testing
How to define Software
Testing Principles
 Testing
The execution of a program to find its faults
 Verification
The process of proving the programs
correctness.
 Validation
The process of finding errors by executing the
program in a real environment
 Debugging
Diagnosing the error and correct it
Software Testing Principles
 To remove as many defects as possible
before test since the quality improvement
potential of testing is limited
What are the Types of
Software Tests
 Unit Testing (White Box)
 Integration Testing
 Function Testing (Black Box)
 Regression Testing
 System Test
 Acceptance and Installation Tests
Unit Testing (White Box)
 Individual components are tested.
 It is a path test.
 To focus on a relatively small segment of
code and aim to exercise a high percentage
of the internal path
 Disadvantage: the tester may be biased by
previous experience. And the test value
may not cover all possible values.
Integration Testing
 Top-down Integration Test
 Bottom-up Integration Test
Top-down Integration Test
 The control program is tested first. Modules
are integrated one at a time. Emphasize on
interface testing
 Advantages: No test drivers needed
Interface errors are discovered early
Modular features aid debugging
 Disadvantages: Test stubs are needed
Errors in critical modules at low levels are found
late.
A
B
T1
T2
T3
A
B
C
T4
T3
T2
T1
Top-down Testing
Bottom-up Integration Test
 Allow early testing aimed at proving feasibility
Emphasize on module functionality and
performance
 Advantages: No test stubs are needed
Errors in critical modules are found early
 Disadvantages: Test drivers are needed
Interface errors are discovered late
Test
Drivers
Level N
Level N-1 Level N-1
Level N
Level N
Test
Drivers
Test
Drivers
Test
Drivers
Test
Drivers
Bottom-up testing
Function Testing (Black Box)
1. Designed to exercise the to its external
specifications
2. Testers not biased by knowledge of the
program’s design.
3. Disadvantages:
4. The need for explicitly stated
requirements
5. Only cover a small portion of the possible
test conditions.
Regression Testing
1. Test the effects of the newly introduced
changes on all the previously integrated code.
2. The common strategy is to accumulate a
comprehensive regression bucket but also to
define a subset.
3. The full bucket is run only occasionally, but
the subset is run against every spin.
4. Disadvantages:
5. To decide how much of a subset to use and
which tests to select.
What is Test Planning
1. Define the functions, roles and methods for all
test phases.
2. Test planning usually start during the
requirements phase.
3. Major test plan elements are:
4. Objectives for each test phase
5. Schedules and responsibilities for each test
activity
6. Availability of tools, facilities and test libraries.
7. Set the criteria for test completion
Test Execution & Reporting
 Testing should be treated like an
experiment.
 Testing require that all anomalous behavior
be noted and investigated.
 Big companies keep a special library with all
copies of test reports, incident forms, and
test plans
Real-Time Testing
1. Real-Time testing is necessary because the
deployment system is usually more complicate
than development system
2. Rules apply for testing real time system
3. Evaluate possible deadlocks, thrashing to special
timing conditions
4. Use tests to simulate hardware faults.
5. Use hardware simulation to stress the software
design.
6. Design ways to simulate modules missing in the
development system.
References
 DeMillo, Software Testing and Evaluation
Benjamin/Cummings Publishing Company,
Inc California, 1987.
 Sommerville, Software Engineering
Addison-Wesley Publishing Company, 1996
 Humphrey, Managing the Software Process,
Addison-Wesley Publishing Company, 1990.

More Related Content

PPT
CurrieTesting.ppt
PPT
test_567.ppt
PPT
CurrieTesting.ppt
PPT
CurrieTesting.ppt
PPT
6 Weeks Industrial Training in Testing
PPTX
software testing.pptx
PPT
Manual testing - Introduction to Manual Software testing
PPTX
Software testing
CurrieTesting.ppt
test_567.ppt
CurrieTesting.ppt
CurrieTesting.ppt
6 Weeks Industrial Training in Testing
software testing.pptx
Manual testing - Introduction to Manual Software testing
Software testing

Similar to CurrieTesting. in engineering field relevant (20)

PPT
testing strategies and tactics
PPT
Software Testing
PPTX
Presentation1.pptx
PPTX
Software Testing
PPT
Testing strategies
PPT
AutoTest.ppt
PPTX
Software testing.ppt
PDF
softwaretesting-140721025833-phpapp02.pdf
PPTX
softwaretesting-140721025833-phpapp02.pptx
DOC
Testing
PPTX
Software Testing
PPT
Software Engineering (Testing Overview)
PPTX
Software Testing
PPTX
Software testing
PDF
SE2_Lec 20_Software Testing
PPTX
Software testing
PPT
Software Testing Presentation in Cegonsoft Pvt Ltd...
DOCX
Unit 4 Software engineering deatiled notes.docx
PDF
Software testing ppt
testing strategies and tactics
Software Testing
Presentation1.pptx
Software Testing
Testing strategies
AutoTest.ppt
Software testing.ppt
softwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pptx
Testing
Software Testing
Software Engineering (Testing Overview)
Software Testing
Software testing
SE2_Lec 20_Software Testing
Software testing
Software Testing Presentation in Cegonsoft Pvt Ltd...
Unit 4 Software engineering deatiled notes.docx
Software testing ppt
Ad

More from faiziikanwal47 (18)

PDF
01A_Niyyat-Ka-Maani-Awr-Ahmiyya6666t.pdf
PDF
Cloud Computing Models.uututuutututtuutut
PPTX
1602984149-1-introduction.pptx4hjdqehjeg
PPTX
1602984229-2-req-engg-process.pptxj89009
PPT
lecture9-190719030941 globalized availab
PPTX
Ch5 System modeling globally availabless
PDF
Information Security 20- Risk Assessment.pdf
PDF
Information Security 16- Information Flow.pdf
PDF
Information Security 10- Network Security.pdf
PDF
Information Security 07- Audit.pdnjn;pp[pf
PDF
Information Security 06- Hashing and Digital Signatures.pdf
PDF
Information Security 05- Encryption.pdfn
PDF
information security Lecture by cyber security
PDF
market side business mind side to get enough
PDF
information security by cryptography sid
PDF
Information Security (Protection Model _ Access Control ).pdf
PDF
Information Security 08- Intrusion Detection and Response (1).pdf
PPT
12Outlier.for software introductionalism
01A_Niyyat-Ka-Maani-Awr-Ahmiyya6666t.pdf
Cloud Computing Models.uututuutututtuutut
1602984149-1-introduction.pptx4hjdqehjeg
1602984229-2-req-engg-process.pptxj89009
lecture9-190719030941 globalized availab
Ch5 System modeling globally availabless
Information Security 20- Risk Assessment.pdf
Information Security 16- Information Flow.pdf
Information Security 10- Network Security.pdf
Information Security 07- Audit.pdnjn;pp[pf
Information Security 06- Hashing and Digital Signatures.pdf
Information Security 05- Encryption.pdfn
information security Lecture by cyber security
market side business mind side to get enough
information security by cryptography sid
Information Security (Protection Model _ Access Control ).pdf
Information Security 08- Intrusion Detection and Response (1).pdf
12Outlier.for software introductionalism
Ad

Recently uploaded (20)

PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PPTX
Supervised vs unsupervised machine learning algorithms
PPTX
Database Infoormation System (DBIS).pptx
PDF
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
PPTX
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
PDF
Mega Projects Data Mega Projects Data
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
Business Acumen Training GuidePresentation.pptx
PPTX
Computer network topology notes for revision
PDF
.pdf is not working space design for the following data for the following dat...
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPT
Reliability_Chapter_ presentation 1221.5784
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PPTX
climate analysis of Dhaka ,Banglades.pptx
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
Supervised vs unsupervised machine learning algorithms
Database Infoormation System (DBIS).pptx
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
Mega Projects Data Mega Projects Data
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
Business Acumen Training GuidePresentation.pptx
Computer network topology notes for revision
.pdf is not working space design for the following data for the following dat...
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
Business Ppt On Nestle.pptx huunnnhhgfvu
Reliability_Chapter_ presentation 1221.5784
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
oil_refinery_comprehensive_20250804084928 (1).pptx
climate analysis of Dhaka ,Banglades.pptx

CurrieTesting. in engineering field relevant

  • 1. Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K
  • 2. Objective The objective of this presentation is to show the  How to define Software Testing Principles  What are the types of Software Tests  What is Test Planning  Test Execution and Reporting  Real-Time Testing
  • 3. How to define Software Testing Principles  Testing The execution of a program to find its faults  Verification The process of proving the programs correctness.  Validation The process of finding errors by executing the program in a real environment  Debugging Diagnosing the error and correct it
  • 4. Software Testing Principles  To remove as many defects as possible before test since the quality improvement potential of testing is limited
  • 5. What are the Types of Software Tests  Unit Testing (White Box)  Integration Testing  Function Testing (Black Box)  Regression Testing  System Test  Acceptance and Installation Tests
  • 6. Unit Testing (White Box)  Individual components are tested.  It is a path test.  To focus on a relatively small segment of code and aim to exercise a high percentage of the internal path  Disadvantage: the tester may be biased by previous experience. And the test value may not cover all possible values.
  • 7. Integration Testing  Top-down Integration Test  Bottom-up Integration Test
  • 8. Top-down Integration Test  The control program is tested first. Modules are integrated one at a time. Emphasize on interface testing  Advantages: No test drivers needed Interface errors are discovered early Modular features aid debugging  Disadvantages: Test stubs are needed Errors in critical modules at low levels are found late.
  • 10. Bottom-up Integration Test  Allow early testing aimed at proving feasibility Emphasize on module functionality and performance  Advantages: No test stubs are needed Errors in critical modules are found early  Disadvantages: Test drivers are needed Interface errors are discovered late
  • 11. Test Drivers Level N Level N-1 Level N-1 Level N Level N Test Drivers Test Drivers Test Drivers Test Drivers Bottom-up testing
  • 12. Function Testing (Black Box) 1. Designed to exercise the to its external specifications 2. Testers not biased by knowledge of the program’s design. 3. Disadvantages: 4. The need for explicitly stated requirements 5. Only cover a small portion of the possible test conditions.
  • 13. Regression Testing 1. Test the effects of the newly introduced changes on all the previously integrated code. 2. The common strategy is to accumulate a comprehensive regression bucket but also to define a subset. 3. The full bucket is run only occasionally, but the subset is run against every spin. 4. Disadvantages: 5. To decide how much of a subset to use and which tests to select.
  • 14. What is Test Planning 1. Define the functions, roles and methods for all test phases. 2. Test planning usually start during the requirements phase. 3. Major test plan elements are: 4. Objectives for each test phase 5. Schedules and responsibilities for each test activity 6. Availability of tools, facilities and test libraries. 7. Set the criteria for test completion
  • 15. Test Execution & Reporting  Testing should be treated like an experiment.  Testing require that all anomalous behavior be noted and investigated.  Big companies keep a special library with all copies of test reports, incident forms, and test plans
  • 16. Real-Time Testing 1. Real-Time testing is necessary because the deployment system is usually more complicate than development system 2. Rules apply for testing real time system 3. Evaluate possible deadlocks, thrashing to special timing conditions 4. Use tests to simulate hardware faults. 5. Use hardware simulation to stress the software design. 6. Design ways to simulate modules missing in the development system.
  • 17. References  DeMillo, Software Testing and Evaluation Benjamin/Cummings Publishing Company, Inc California, 1987.  Sommerville, Software Engineering Addison-Wesley Publishing Company, 1996  Humphrey, Managing the Software Process, Addison-Wesley Publishing Company, 1990.

Editor's Notes

  • #3: Software testing is defined as the execution of a program to find its faults. While more time typically is spent on testing than in any other phase of software development, there is considerable confusion about its purpose. Many software professionals, for example, believe that tests are run to show that the program works rather than to learn about its faults. Myers has provided some useful testing definitions: Testing The process of executing a program (or part of a program) with the intention of finding errors. Verification An attempt to find errors by executing a program in a test or simulated environment (it is now preferable to view verification as the process of proving the program’s correctness) Validation An attempt to find errors by executing a program in a real environment. Debugging Diagnosing the precise nature of a known error and then correcting it (debugging is a correction and not a testing activity) Verification and validation are sometimes confused. They are, in fact, different activities. The difference between them is succinctly summarized by Boehm: ‘Validation: Are we building the right product?’ ‘Verification: Are we building the product right?’
  • #4: A common view of testing is that all untested code has a roughly equal probability of containing defects. DeMarco asserts that the incidence of defects in untested codes varies widely and that no amount of testing can remove more than 50 percent of them. However, there is data that shows that properly run unit tests are potentially capable of detecting as many as 70 percent of the defects in a program. The objective should therefore be to remove as many as defects as possible before test since the quality improvement potential of testing is limited. An examination of even relatively simple programs demonstrates that exhaustive testing is generally impossible. If a program were to analyze a string of only ten alphabetic characters, there would be 2610 possible combinations. Testing one condition every microsecond would take four and a half million years. Thus test design reduces to a small subset of conditions that will reveal the characteristics of the program.
  • #6: When unit tests are done on a white box basis, they are essentially path test. The idea is to focus on a relatively small segment of code and aim to exercise a high percentage of the internal paths. The simplest approach is to ensure that every statement is exercised at least once. A more stringent criterion is to require coverage of every path within a program. One disadvantage of white box testing is that the tester may be biased by previous experience. The tests are often designed by the programmers who produced the code since they may be the only ones who understand it. Unfortunately, those who created the programs’ faults are least likely to recognize them. Even though all the paths and variable of the program have gone through by the testing program, it could not guarantee all possible values of the variables have been tested. While its disadvantages are significant, white box testing generally has the highest error yield of all testing techniques.
  • #7: This phase involves testing of modules which have been integrated in sub-system. A module is a collection of dependent components such as object class, and abstract data type of some looser collection of procedures and functions. On very large system it is often wise to do integration testing in several steps. Such systems generally have several relatively large components that can be built and integrated separately before combination into a full system. Integration Testing is divided into Top-down Integration Test and Bottom-up Integration Test.
  • #8: Top-down Integration Test starts with the most abstract components and works downwards. It tests the high levels of a system before testing its detailed components. The program is represented as a single abstract component with sub-components represented by stubs. Top-down Integration Test is essentially a prototyping philosophy. The initial tests establish a basic system skeleton from the top and each new module adds capability. The problem is that functions of the lower-level modules that are not initially present must by simulated by program stubs. While producing such stubs may at first seem easy, it would be more difficult as more stub add on it. It may be difficult or impossible to test certain logical conditions such as error handling.
  • #9: Test T1, T2, T3 are first run on a system composed of module A and module B. Module C is integrated and test T1 and T2 are repeated to ensure that there have not been unexpected interactions with A and B. Test T4 is also run on the system.
  • #11: Bottom-up testing is the converse of top-down testing. It involves testing the modules at the lower levels in the hierarchy, and then working up the hierarchy of modules until the final module is tested.
  • #12: Since exhaustive black box testing is generally impossible, these test should be viewed as statistical sampling; when errors are found, a closer examination is required. Functional testing stars by examining the functions the program is to perform and devising a sequence of inputs to test them.
  • #13: The progressive phase introduces and tests new functions, uncovering problems in the newly added or modified modules and in their interfaces with the previously integrated modules. The regressive phase concerns the effect of the newly introduced changes on all the previously integrated code. Problems arise when errors made in incorporating new functions affect previously tested functions. The basic regression testing approach is to incorporate selected test cases into a regression test bucket that is run periodically in an attempt to detect regression problems. Usually the full bucket is run only occasionally, but the subset is run against every spin. The spin subset should include all the test cases for any recently integrated functions and a selected sample from the full regression bucket.
  • #14: Generally speaking, it is too late to begin test planning when testing actually begins. A test planning can uncover at least as many problems as the actual tests themselves. Test planning starts with an overall development plan that defines the functions, roles and methods for all test phases. Some items needed for a good test plan must come from the requirement phase and they must be tracked throughout development. So, it would be better to conduct an early requirements inspection or walkthrough and to hold a re-review after every major changes.
  • #15: Everything test should be treated like an experiment toe be carefully controlled and recorded so that it can be reproduced. The experimental approach also requires meticulous care in defining and recording the test environment., the procedures,and the test cases. Many organizations have found it valuable to keep a special test library with all copies of such material, together with test reports, incident forms, test analyses, and test plans.
  • #16: Real-time testing can be particularly difficult because the development work is done on a host system and then compiled for execution on a target system.Typically a reasonable set of test and debug facilities is available for the host environment but the target system is generally much more sparsely equipped.