SlideShare a Scribd company logo
1 of 44
By: Chankey Pathak
chankey007@gmail.com
http://www.technostall.com
Agenda:-
• Introduction
• Importance of testing in SDLC
• Testing life cycle
• Test planning
• Types of testing
• Verification & Validation
• Quality Assurance & Control
• Bug reporting
Software testing is a process used to identify the
correctness, completeness and quality of developed
computer software.
It is the process of executing a program /
application under positive and negative conditions
by manual or automated means. It checks for the :-
 Specification
 Functionality
 Performance
Software Testing
Software Testing is important as it may cause
mission failure, impact on operational
performance and reliability if not done
properly.
Effective software testing delivers quality
software products satisfying user’s
requirements, needs and expectations.
Why Software Testing ?
What …????
…is an ”ERROR”??
….is a ”Bug”??
….is Fault, Failure ??
Bug, Fault & Failure
Error : An error is a human action that produces the incorrect result that
results in a fault.
Bug : The presence of error at the time of execution of the software.
Fault : State of software caused by an error.
Failure : Deviation of the software from its expected result. It is an event.
A person makes an Error
That creates a fault in software
That can cause a failure in operation
Who is a Software
Tester??..
Software Tester is the one who performs testing and
find bugs, if they exist in the tested application.
The Testing Team
 Program Manager-
• The planning and execution of the project to ensure the success
of a project minimizing risk throughout the lifetime of the project.
• Responsible for writing the product specification, managing the schedule
and making the critical decisions and trade-offs.
 QA Lead-
• Coach and mentor other team members to help improve QA effectiveness
• Work with other department representatives to collaborate on
joint projects and initiatives
• Implement industry best practices related to testing automation and to
streamline the QA Department.
Test AnalystLead-
• Responsible for planning, developing and executing automated test
systems, manual test plans and regressions test plans.
• Identifying the Target Test Items to be evaluated by the test effort
• Defining the appropriate tests required and any associated Test
Data
• Gathering and managing the Test Data
• Evaluating the outcome of each test cycle
Test Engineer-
• Writing and executing test cases and Reporting defects
• Test engineers are also responsible for determining the best way a
test can be performed in order to achieve 100% test coverage of all
components
When to Start Testing in
SDLC
• Requirement
• Analysis
• Design
• Coding
• Testing
• Implementation
• Maintenance
Testing starts from Requirement
Phase
Project Initiation
System Study
Summary Reports
Analysis
Regression Test
Report Defects
Execute Test Cases
( manual /automated )
Design Test Cases
Test Plan
Testing Life Cycle
Test Plan
A test plan is a systematic approach to testing a
system i.e. software. The plan typically contains a
detailed understanding of what the eventual testing
workflow will be.
Test Case
A test case is a specific procedure of
testing a particular requirement.
It will include:
• Identification of specific
requirement tested
• Test case success/failure criteria
• Specific steps to execute test
• Test Data
Unit Testing
1.1. Test each module individually.
2. Follows a white box testing (Logic of the program)
3. Done by Developers
Integration Testing
After completing the unit testing and
dependent modules development,
programmers connect the modules with
respect to HLD for Integration Testing
through below approaches.
System Testing
After completing Unit and Integration testing
through white box testing techniques development
team release an .exe build (all integrated module) to
perform black box testing.
• Usability Testing
• Functional Testing
• Performance Testing
• Security Testing
Usability Testing
During this test, testing team concentrates on the user friendliness of
build interface. It consists of following sub tests.
• User Interface Test: Ease of use (screens should be understandable
to operate by End User)
• Look & Feel :- attractive
• Speed in interface :- Less number of task to complete task
• Manual Support Test :- Context sensitiveness of user manual.
Functional
Testing• The process of checking the
behavior of the application.
• It is geared to functional
requirements of an application.
• To check the correctness of
outputs.
• Data validation and Integration
i.e. inputs are correct or not.
Performance Testing
• LOAD TESTING – Also Known as Scalability Testing. During this
test, test engineers execute application build under customer expected
configuration and load to estimate performance.
• STRESS TESTING – During this test, Test engineers estimates the
peak load. To find out the maximum number of users for execution of
out application user customer expected configuration to estimate peak
load.
PEAK LOAD > CUSTOMER LOAD (EXPECTED)
• DATA VOLUME TESING -- Testing team conducts this test to find
the maximum limit of data volume of your application.
Security Testing
Testing how well the system protects
against unauthorized internal or
external access, willful damage, etc,
may require sophisticated testing
techniques
Smoke testing is non-exhaustive
software testing, ascertaining that
the most crucial functions of a
program work, but not bothering
with finer details.
Smoke testing
Alpha Testing
1. The application is tested by the users who doesn’t know about
the application.
2. Done at developer’s site under controlled conditions
3. Under the supervision of the developers.
Acceptance Testing
A formal test conducted to determine whether or not a system
satisfies its acceptance criteria and to enable the customer to
determine whether or not to accept the system.
It is the final test action before deploying the software. The
goal of acceptance testing is to verify that the software is ready
and can be used by the end user to perform the functions for
which the software was built.
Beta Testing
1. This Testing is done before the final
release of the software to end-users.
2. Before the final release of the software
is released to users for testing where
there will be no controlled conditions
and the user here is free enough to do
what ever he wants to do on the system
to find errors.
Regression Testing
Testing with the intent of determining
if bug fixes have been successful and
have not created any new problems.
Also, this type of testing is done to
ensure that no degradation of baseline
functionality has occurred.
Monkey Testing
Testing the application randomly like hitting
keys irregularly and try to breakdown the
system there is no specific test cases and
scenarios for monkey testing.
Verification
 Verification is the process confirming
that -software meets its specification, done
through inspections and walkthroughs
Use – To identify defects in the product
early in the life cycle
Validation
 Validation is the process confirming
that it meets the user’s requirements. It
is the actual testing.
Verification : Is the Product Right
Validation : Is it the Right Product
Quality is defined as meeting the customer’s requirements and
according to the standards
The best measure of Quality is given by FURPS
Functionality
Usability
Reliability
Performance
Scalability
What is Quality ?
Quality is the important factor
affecting an organization’s long term
performance.
 Quality improves productivity and
competitiveness in any organization.
Why Quality ?
Quality Assurance
Quality Assurance is a planned and
systematic set of activities necessary to
provide adequate confidence that
products and services will conform to
specified requirements and meets user
needs.
•It is process oriented.
•Defect prevention based.
•Throughout the Life Cycle.
•It’s a management process.
Quality Control
Quality control is the process
by which product quality is
compared with the applicable
standards and the action
taken when non
conformance is detected.
• It is product oriented
• Defect detection based
QA vs. QC• Quality Assurance makes sure
that we are doing the right things,
the right Way.
• QA focuses on building in quality
and hence preventing defects.
• QA deals with process.
• QA is for entire life cycle.
• QA is preventive process.
• Quality Control makes sure the
results of what we’ve done are
what we expected .
• QC focuses on testing for quality
and hence detecting defects.
• QC deals with product.
• QC is for testing part in SDLC.
• QC is corrective process.
Bug Life Cycle
New
Assigned
Tester finds the bug
and report it to Test Lead
Test Lead confirms
that it is a valid BugBug
Resolved
Re-open Verified
Closed
Deferred
Cost
Amount of Testing
No.ofBugs
Cost incurred
Bugs ratio
Stop Testing
When to Stop Testing
Software Testing Fundamentals

More Related Content

What's hot

Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.pptKomal Garg
 
Types of software testing
Types of software testingTypes of software testing
Types of software testingPrachi Sasankar
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | EdurekaEdureka!
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4 Mohammad Faizan
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testingMd Mamunur Rashid
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Ankit Prajapati
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 
Software Testing Introduction
Software Testing IntroductionSoftware Testing Introduction
Software Testing IntroductionArunKumar5524
 

What's hot (20)

Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Test cases
Test casesTest cases
Test cases
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.ppt
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | Edureka
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
 
Black box and white box testing
Black box and white box testingBlack box and white box testing
Black box and white box testing
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Testing
TestingTesting
Testing
 
Software Testing Introduction
Software Testing IntroductionSoftware Testing Introduction
Software Testing Introduction
 

Similar to Software Testing Fundamentals

SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTINGRaju Raaj
 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementRasan Samarasinghe
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTINGacemindia
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSrikanth Krishnamoorthy
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 
Software Testing Training in Chandigarh
Software Testing Training in ChandigarhSoftware Testing Training in Chandigarh
Software Testing Training in ChandigarhKreativan Technologies
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...ChithraCegon
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAnuraj S.L
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxPriyaFulpagare1
 
Software Testing
Software TestingSoftware Testing
Software TestingSengu Msc
 

Similar to Software Testing Fundamentals (20)

Software Testing
Software TestingSoftware Testing
Software Testing
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality Management
 
Software testing
Software testingSoftware testing
Software testing
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing Training in Chandigarh
Software Testing Training in ChandigarhSoftware Testing Training in Chandigarh
Software Testing Training in Chandigarh
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
 
Manual testing
Manual testingManual testing
Manual testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
presentation.pptx
presentation.pptxpresentation.pptx
presentation.pptx
 

Software Testing Fundamentals

  • 2. Agenda:- • Introduction • Importance of testing in SDLC • Testing life cycle • Test planning • Types of testing • Verification & Validation • Quality Assurance & Control • Bug reporting
  • 3.
  • 4. Software testing is a process used to identify the correctness, completeness and quality of developed computer software. It is the process of executing a program / application under positive and negative conditions by manual or automated means. It checks for the :-  Specification  Functionality  Performance Software Testing
  • 5. Software Testing is important as it may cause mission failure, impact on operational performance and reliability if not done properly. Effective software testing delivers quality software products satisfying user’s requirements, needs and expectations. Why Software Testing ?
  • 6.
  • 7. What …???? …is an ”ERROR”?? ….is a ”Bug”?? ….is Fault, Failure ??
  • 8. Bug, Fault & Failure Error : An error is a human action that produces the incorrect result that results in a fault. Bug : The presence of error at the time of execution of the software. Fault : State of software caused by an error. Failure : Deviation of the software from its expected result. It is an event. A person makes an Error That creates a fault in software That can cause a failure in operation
  • 9. Who is a Software Tester??.. Software Tester is the one who performs testing and find bugs, if they exist in the tested application.
  • 10. The Testing Team  Program Manager- • The planning and execution of the project to ensure the success of a project minimizing risk throughout the lifetime of the project. • Responsible for writing the product specification, managing the schedule and making the critical decisions and trade-offs.  QA Lead- • Coach and mentor other team members to help improve QA effectiveness • Work with other department representatives to collaborate on joint projects and initiatives • Implement industry best practices related to testing automation and to streamline the QA Department.
  • 11. Test AnalystLead- • Responsible for planning, developing and executing automated test systems, manual test plans and regressions test plans. • Identifying the Target Test Items to be evaluated by the test effort • Defining the appropriate tests required and any associated Test Data • Gathering and managing the Test Data • Evaluating the outcome of each test cycle Test Engineer- • Writing and executing test cases and Reporting defects • Test engineers are also responsible for determining the best way a test can be performed in order to achieve 100% test coverage of all components
  • 12.
  • 13. When to Start Testing in SDLC • Requirement • Analysis • Design • Coding • Testing • Implementation • Maintenance Testing starts from Requirement Phase
  • 14. Project Initiation System Study Summary Reports Analysis Regression Test Report Defects Execute Test Cases ( manual /automated ) Design Test Cases Test Plan Testing Life Cycle
  • 15.
  • 16. Test Plan A test plan is a systematic approach to testing a system i.e. software. The plan typically contains a detailed understanding of what the eventual testing workflow will be.
  • 17. Test Case A test case is a specific procedure of testing a particular requirement. It will include: • Identification of specific requirement tested • Test case success/failure criteria • Specific steps to execute test • Test Data
  • 18.
  • 19. Unit Testing 1.1. Test each module individually. 2. Follows a white box testing (Logic of the program) 3. Done by Developers
  • 20. Integration Testing After completing the unit testing and dependent modules development, programmers connect the modules with respect to HLD for Integration Testing through below approaches.
  • 21. System Testing After completing Unit and Integration testing through white box testing techniques development team release an .exe build (all integrated module) to perform black box testing. • Usability Testing • Functional Testing • Performance Testing • Security Testing
  • 22. Usability Testing During this test, testing team concentrates on the user friendliness of build interface. It consists of following sub tests. • User Interface Test: Ease of use (screens should be understandable to operate by End User) • Look & Feel :- attractive • Speed in interface :- Less number of task to complete task • Manual Support Test :- Context sensitiveness of user manual.
  • 23. Functional Testing• The process of checking the behavior of the application. • It is geared to functional requirements of an application. • To check the correctness of outputs. • Data validation and Integration i.e. inputs are correct or not.
  • 24. Performance Testing • LOAD TESTING – Also Known as Scalability Testing. During this test, test engineers execute application build under customer expected configuration and load to estimate performance. • STRESS TESTING – During this test, Test engineers estimates the peak load. To find out the maximum number of users for execution of out application user customer expected configuration to estimate peak load. PEAK LOAD > CUSTOMER LOAD (EXPECTED) • DATA VOLUME TESING -- Testing team conducts this test to find the maximum limit of data volume of your application.
  • 25. Security Testing Testing how well the system protects against unauthorized internal or external access, willful damage, etc, may require sophisticated testing techniques
  • 26. Smoke testing is non-exhaustive software testing, ascertaining that the most crucial functions of a program work, but not bothering with finer details. Smoke testing
  • 27. Alpha Testing 1. The application is tested by the users who doesn’t know about the application. 2. Done at developer’s site under controlled conditions 3. Under the supervision of the developers.
  • 28. Acceptance Testing A formal test conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. It is the final test action before deploying the software. The goal of acceptance testing is to verify that the software is ready and can be used by the end user to perform the functions for which the software was built.
  • 29. Beta Testing 1. This Testing is done before the final release of the software to end-users. 2. Before the final release of the software is released to users for testing where there will be no controlled conditions and the user here is free enough to do what ever he wants to do on the system to find errors.
  • 30. Regression Testing Testing with the intent of determining if bug fixes have been successful and have not created any new problems. Also, this type of testing is done to ensure that no degradation of baseline functionality has occurred.
  • 31. Monkey Testing Testing the application randomly like hitting keys irregularly and try to breakdown the system there is no specific test cases and scenarios for monkey testing.
  • 32.
  • 33. Verification  Verification is the process confirming that -software meets its specification, done through inspections and walkthroughs Use – To identify defects in the product early in the life cycle
  • 34. Validation  Validation is the process confirming that it meets the user’s requirements. It is the actual testing. Verification : Is the Product Right Validation : Is it the Right Product
  • 35.
  • 36. Quality is defined as meeting the customer’s requirements and according to the standards The best measure of Quality is given by FURPS Functionality Usability Reliability Performance Scalability What is Quality ?
  • 37. Quality is the important factor affecting an organization’s long term performance.  Quality improves productivity and competitiveness in any organization. Why Quality ?
  • 38. Quality Assurance Quality Assurance is a planned and systematic set of activities necessary to provide adequate confidence that products and services will conform to specified requirements and meets user needs. •It is process oriented. •Defect prevention based. •Throughout the Life Cycle. •It’s a management process.
  • 39. Quality Control Quality control is the process by which product quality is compared with the applicable standards and the action taken when non conformance is detected. • It is product oriented • Defect detection based
  • 40. QA vs. QC• Quality Assurance makes sure that we are doing the right things, the right Way. • QA focuses on building in quality and hence preventing defects. • QA deals with process. • QA is for entire life cycle. • QA is preventive process. • Quality Control makes sure the results of what we’ve done are what we expected . • QC focuses on testing for quality and hence detecting defects. • QC deals with product. • QC is for testing part in SDLC. • QC is corrective process.
  • 41. Bug Life Cycle New Assigned Tester finds the bug and report it to Test Lead Test Lead confirms that it is a valid BugBug Resolved Re-open Verified Closed Deferred
  • 42.
  • 43. Cost Amount of Testing No.ofBugs Cost incurred Bugs ratio Stop Testing When to Stop Testing

Editor's Notes

  1. Advantages of Usability Testing Usability test can be modified to cover many other types of testing such as functional testing, system integration testing, unit testing, smoke testing etc. (with keeping the main objective of usability testing in mind) in order to make it sure that testing is done in all the possible directions. Usability testing can be very economical if planned properly, yet highly effective and beneficial. If proper resources (experienced and creative testers) are used, usability test can help in fixing all the problems that user may face even before the system is finally released to the user. This may result in better performance and a standard system. Usability testing can help in uncovering potential bugs and potholes in the system which generally are not visible to developers and even escape the other type of testing. Usability testing is a very wide area of testing and it needs fairly high level of understanding of this field along with creative mind. People involved in the usability testing are required to possess skills like patience, ability to listen to the suggestions, openness to welcome any idea, and the most important of them all is that they should have good observation skills to spot and fix the problems on fly.
  2. Testing where user plays a role/user is required: User Acceptance Testing: In this type of testing, the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to. Alpha Testing: In this type of testing, the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers. Beta Testing: In this type of testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers.