SlideShare a Scribd company logo
1 of 60
An Introduction to Software Testing
&
Test Management.
Prepared By,
ANURAJ S.L
(LEAD QA Engineer)
Let’s Start with a simple Game
SOFTWARE IS A SKIN THAT SURROUNDS OUR CIVILIZATION
Some Typical Project Blues…
Project Kick Off Bug fixing Just started First Bug Fixed Regression Testing Fixed Regression Too
Requirement Changes What to do ? When will Testing Stop ? Next Increment please Quality, God let me sleep !
Tester vs Developer
 What is Quality?
 What is Software Testing?
 Why testing is necessary?
 Who does the testing?
 What has to be tested?
 When is testing done?
 How often to test?
 What are Testing Standards?
Introduction & Fundamentals
 Quality is “fitness for use” - (Joseph Juran)
 Quality is “conformance to requirements” - (Philip B. Crosby)
 Quality of a product or service is its ability to satisfy the needs and expectations of the customer.
What is Quality?
Quality - the most important factor affecting an organization’s long-term performance.
Quality - the way to achieve improved productivity and competitiveness in any organization.
Quality - saves. It does not cost.
Quality - is the solution to the problem, not a problem.
Quality Principles
TESTING DEFINITIONS
Testing is the process of exercising or evaluating a system or system component by manual
or automated means to verify that it satisfies specified requirements - (IEEE 83a)
Process: Sequence of steps performed for a given purpose. (IEEE)
Software Process: A set of activities, methods, practices, and transformations that
people use to develop and maintain software and associated products.(SEI-CMM)
WHAT IS SOFTWARE TESTING ?
• Testing is like making love... it never lasts as long as you wanted it to.
• Testing is like making love... once it's over you're the only one interested in discussing how it went.
• Testing is like making love... well, I'm sure you get the idea.
Testing is a matter of taking what's been delivered and investigating, for example:
• whether the feature contains everything that the spec said it should.
• whether the feature contains anything that the spec didn't say it should.
• whether the feature violates any of the implicit rules.
• whether the feature is what the user would want.
WHAT IS SOFTWARE TESTING ?
WHY DOES TESTING MATTER?
NIST REPORT, “THE ECONOMIC IMPACTS OF INADEQUATE INFRASTRUCTURE FOR SOFTWARE
TESTING” (2002)
Inadequate software testing costs the US alone between $22 and $59 billion annually
Better approaches could cut this amount in half
MAJOR FAILURES: ARIANE 5 EXPLOSION, MARS POLAR LANDER, INTEL’S PENTIUM FDIV BUG
INSUFFICIENT TESTING OF SAFETY-CRITICAL SOFTWARE CAN COST LIVES: THERAC-25 RADIATION
MACHINE: 3 DEAD
 HUGE LOSSES DUE TO WEB APPLICATION FAILURES
 FINANCIAL SERVICES : $6.5 MILLION PER HOUR (JUST IN USA!)
 CREDIT CARD SALES APPLICATIONS : $2.4 MILLION PER HOUR (IN USA)
 IN DEC 2006, AMAZON.COM’S BOGO OFFER TURNED INTO A DOUBLE DISCOUNT
 SYMANTEC SAYS THAT MOST SECURITY VULNERABILITIES ARE DUE TO FAULTY SOFTWARE
WE WANT OUR PROGRAMS TO BE RELIABLE
Testing is how, in most cases, we find out if they are.
Ariane 5:
exception-handling
bug : forced self
destruct on maiden
flight (64-bit to 16-bit
conversion: about
370 million $ lost)
BASIC QUESTIONS ON TESTING
Why to test?
 Testing becomes absolutely essential to make sure the software works properly and does
the work that it is meant to perform.
What to test?
 Any working product which forms part of the software application has to be tested.
Both data and programs must be tested.
How often to test?
 When a program (source code) is modified or newly developed, it has to be tested.
Who tests?
 Programmer, Tester and Customer
OBJECTIVES OF TESTING
 Provide confidence in the system
 Identify areas of weakness
 Establish the degree of quality
 Establish the extent that the requirements have been met, i.e. what the users asked for is what
they got not what someone else though they wanted
 To provide an understanding of the overall system
 To prove it is both usable and operable
 To check if the system is “ Fit for purpose”.
 To check if the system does what it is expected to do.
OBJECTIVES OF TESTER
 Find bugs as early as possible and make sure they get fixed.
 To understand the application well.
 Study the functionality in detail to find where the bugs are likely to occur.
 Study the code to ensure that each and every line of code is tested.
 Create test cases in such a way that testing is done to uncover the hidden bugs and also ensure
that the software is usable and reliable
WHO TESTS THE SOFTWARE?
Developer
Understands the system
and, is driven by "delivery" and, is driven by quality
Independent tester
Must learn about the system,
TERMS: VERIFICATION AND VALIDATION
Actually Software testing is one element of a broader topic that is often referred to as
===> Verification and Validation (V&V)
Verification --> refers to the set of activities that ensure that software correctly implements a
specific function.
Validation -> refers to a different set of activities that ensure that the software that has been built is
traceable to customer requirements.
In Short:
Verification: “Are we building the product right?”
Validation: “Are we building the right product?”
ERROR, BUG, FAULT & FAILURE
Error : it is a human action that produces the incorrect result that produces 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.
SOFTWARE TESTING LIFECYCLE – PHASES
Project Initiation
System Study
Summary Reports
Analysis
Regression Test
Report Defects
Execute Test Cases
( manual /automated )
Design Test Cases
Test Plan
Testing Life Cycle
 Testing Cycle starts with the study of requirements.
 Understanding of the requirements is very essential for testing the product.
Requirements study
As per IEEE 829 test plan structure is as follows.
 * Test plan identifier
 * Introduction
 * Test items
 * Features to be tested
 * Features not to be tested
 * Approach
 * Item pass/fail criteria
 * Suspension criteria and resumption requirements
 * Test deliverables
 * Testing tasks
 * Environmental needs
 * Responsibilities
 * Staffing and training needs
 * Schedule
 * Risks and contingencies
 * Approvals
Reasons for writing a test plan:
• It guides our thinking
• Forces us to confront the challenges that await us
• Focus us on important topics
• Serve as vehicles for communicating with other members of the project team, testers,
peers, managers and other stakeholders
• Becomes a record of previous discussions and agreements between the testers and the rest
of the project team
Test Case Design and Development
• Component Identification
• Test Specification Design
• Test Specification Review
Test Execution
• Code Review
• Test execution and evaluation
• Performance and simulation
Test Closure
• Test summary report
• Project De-brief
• Project Documentation
Test Progress Monitoring and Documenting
Test documenting & monitoring serve various purposes during the project:
• Give feedback on how the testing work is going, allowing opportunities to guide and improve the
testing and the project
• Provide visibility about the test results
• Measure the status of the testing, test coverage and test items against the exit criteria to
determine whether the test work is done
• Gather data for use in estimating future test efforts
Test progress monitoring techniques vary considerably depending on:
• The preferences of the testers and stakeholders
• The needs and goals of the project
• Regulatory requirements, time and money constraints and other factors
Test progress monitoring is about gathering detailed test data
The Universal Test Procedure
“Try it and see if it works.”
 Learn about it
 Model it
 Speculate about it
 Configure it
 Operate it
 Know what
to look for
 See what’s
there
Understand the
requirements
Identify problems
Distinguish bad
problems from not-
so-bad problems
Models EvaluationCoverage
TESTING METHODOLOGIES
 Black box testing
• No knowledge of internal program, design or code required.
• Tests are based on requirements and functionality
 White box testing
• Knowledge of the internal program design and code required.
• Tests are based on coverage of code statements, branches, paths, conditions.
DIFFERENT LEVELS OF TESTING
Testing Levels
• Unit testing
• Integration testing
• System testing
Unit testing
Tests each module individually.
 Follows a white box testing (Logic of the program).
 Done by Programmers (not by testers).
Unit testing
Objectives
 To test the function of a program or unit of code such as a program or module.
 To test internal logic
 To verify internal design
 To test path & conditions coverage
 To test exception conditions & error handling
When  After modules are coded
Input
 Internal Application Design
 Master Test Plan
 Unit Test Plan
Output  Unit Test Report
Who  Developer
Methods  White Box testing techniques
Tools
 Debug
 Re-structure
 Code Analyzers
 Path/statement coverage tools
Education  Testing Methodology
 Effective use of tools
 Testing of combined parts of an application to determine their functional
correctness.
 ‘Parts’ can be
 code modules
 individual applications
 client/server applications on a network.
Integration Testing
Integration testing
Objectives  To technically verify proper interfacing between modules, and
within sub-systems
When  After modules are unit tested
Input
 Internal & External Application Design
 Master Test Plan
 Integration Test Plan
Output  Integration Test report
Who  Developers
Methods  White and Black Box techniques
 Problem / Configuration Management
Tools
 Debug
 Re-structure
 Code Analyzers
Education  Testing Methodology
 Effective use of tools
System Testing
Objectives
 To ensure that the system functions together with all the components of its environment as a total system
 To ensure that the system releases can be deployed in the current environment
 To verify that the system components perform control functions
 To perform inter-system test
 To demonstrate that the system performs both functionally and operationally as specified
 To perform appropriate types of tests relating to Transaction Flow, Installation, Reliability, Regression etc.
When  After Integration Testing
Input
 Detailed Requirements & External Application Design
 Master Test Plan
 System Test Plan
Output  System Test Report
Who  Development Team and Users
Methods  Problem / Configuration Management
Tools  Recommended set of tools
Education  Testing Methodology
 Effective use of tools
Types Of System Testing
 Alpha Testing - It is carried out by the test team within the developing organization .
 Beta Testing - It is performed by a selected group of friendly customers.
 Acceptance Testing - It is performed by the customer to determine whether to accept or reject the
delivery of the system.
 Performance Testing - It is carried out to check whether the system meets the nonfunctional
requirements identified in the SRS document.
Different Types Of Testing
Functional testing
 Black box type testing geared to functional requirements of an application.
 Done by testers.
System testing
 Black box type testing that is based on overall requirements specifications; covering all
combined parts of the system.
End-to-end testing
 Similar to system testing; involves testing of a complete application environment in a situation
that mimics real-world use.
Sanity testing
 Initial effort to determine if a new software version is performing well enough
to accept it for a major testing effort.
Regression testing
 Re-testing after fixes or modifications of the software or its environment.
Acceptance testing
 Final testing based on specifications of the end-user or customer
Load testing
 Testing an application under heavy loads.
 Eg. Testing of a web site under a range of loads to determine, when the system
response time degraded or fails.
Stress Testing
 Testing under unusually heavy loads, heavy repetition of certain actions or
inputs, input of large numerical values, large complex queries to a database etc.
 Term often used interchangeably with ‘load’ and ‘performance’ testing.
Performance testing
 Testing how well an application complies to performance requirements.
Install/uninstall testing
Testing of full, partial or upgrade install/uninstall process.
Recovery testing
Testing how well a system recovers from crashes, HW failures or other problems.
Compatibility testing
 Testing how well software performs in a particular HW/SW/OS/NW environment.
Exploratory testing / ad-hoc testing
 Informal SW test that is not based on formal test plans or test cases; testers
will be learning the SW in totality as they test it.
Comparison testing
 Comparing SW strengths and weakness to competing products.
Entry Criteria
Various steps to be performed before the start of a test i.e. Pre-requisites.
E.g.
 Timely environment set up
 Starting the web server/app server
 Successful implementation of the latest build etc.
Exit Criteria
Contains tasks like
 Bringing down the system / server
 Restoring system to pre-test environment
 Database refresh etc.
TESTING STANDARDS
External Standards
Familiarity with and adoption of industry test standards from organizations.
Internal Standards
Development and enforcement of the test standards that testers must meet.
What is IEEE/ISO Standards ?
They are organizations which set the International Standards.
ISO/IEC/IEEE 29119 Software Testing is an internationally agreed set of standards for
software testing that can be used within any software development life cycle or
organization.
List Of Documents ?
Here is a list of some important documents provided by IEEE, which should be used and maintained regularly:
•Software requirement specification document
•Test design document
•Test plan document
•Test case document
•Test procedure document
•Test strategy
•Bug reports document
•Test data document
•document of weekly status report
•Document of user acceptance report
•Report of risk assessment
•Test analysis
•Test summary reports
Other standards…..
ISO – International Organization for Standards
Six Sigma – Zero Defect Orientation
SPICE – Software Process Improvement and Capability Determination
TESTS MAKE CHANGE SMOOTH
small
change
small
change
small
change
Has anything
broken?
Has anything
broken?
Has anything
broken?
AGILE DEV PROCESS
Sample Test Strategy
 Each Sprint
 Participate in sprint planning
 Estimate tasks(QA input)
 Write test scenarios using stories(QA)
 High level test scenarios before coding begins- guide dev
 Unit/ Integration tests(Dev)
 Automatic test on code level run every night or after new code is added. Bugs found are fixed immediately
 Integration/Feature tests(QA)
 Performed when a feature is finished implemented. Errors found are logged in main project in bug system and prioritized.
After all prioritized bugs are fixed, the feature is ready for System Test at the end of the project.
 System/Regression tests(QA)
 Performed when all the feature is finished implemented and moved on to the UAT server. Errors found are logged in
main project in bug system and prioritized.
 Reviews (stories, req, test)
 Increase collaboration and communications
Test Strategy-outlined
Bugs
• New features are
updated in the backlog.
Specification
• Development starts
accordingly.
Development
•Each feature once done
is deployed here
Dev / Int Environment
Test Feature 2
Log Bugs if any
Test Feature 1
Log Bugs if any
Test Feature 3
Log Bugs if any
Bugs will be fixed in dev
environment and it will be re-
tested.
•All the features and bug
fixes are deployed here.
UAT
Environment
•System / Automated
Regression / Load
Testing could be
performed.
System
Testing •Release notes will
be sent if exit
criteria is met.
Release
The Smoke Suite will be
scheduled to run every
night to ensure system
stability.
Working as a Test Leader
 Involve in the planning, monitoring, and control of the testing activities and tasks
 Devise the test objectives, organizational test policies, test strategies and test plans
 Estimate the testing activities and negotiate with management to acquire the necessary resources
 Recognize when test automation is appropriate
 Plan the effort, select the tools, and ensure training of the team
 Consult with other groups - e.g., programmers - to help them with their testing
 Lead, guide and monitor the analysis, design, implementation and execution of the test cases, test procedures and test suites
 Make sure the test environment is put into place before test execution and managed during test execution
 Schedule the tests for execution and monitor, measure, control and report on the test progress, the product quality status
and the test results, adapting the test plan
 Do adjustment in the testing activities as when required
 In last they write summary reports on test status
Working as a Test Leader
 They analyze and review requirements specifications and contribute to test plans
 Involve in identifying test conditions and creating test designs, test cases, test procedure specifications and test data
 Help in automating the tests
 Set up the test environments or assist system administration and network management staff in doing so
 Execute and log the tests, evaluate the results and document problems found
 Monitor the testing and the test environment, often using tools
 Gather performance metrics
 Review each other's work, including test specifications, defect reports and test results
Software Testing Principles
•Principle #1: Complete testing is impossible.
•Principle #2: Software testing is not simple.
•Reasons:
•Quality testing requires testers to understand a system/product completely
•Quality testing needs adequate test set, and efficient testing methods
•A very tight schedule and lack of test tools.
•Principle #3: Testing is risk-based.
•Principle #4: Testing must be well planned and documented.
•Principle #5: Quality software testing depends on:
•Good understanding of software products and related domain application
•Cost-effective testing methodology, coverage, test methods, and tools.
•Good engineers with creativity, and solid software testing experience
Software Testing Myths
- We can test a program completely. In other words, we test a program exhaustively.
- We can find all program errors as long as test engineers do a good job.
- We can test a program by trying all possible inputs and states of a program.
- A good test suite must include a great number of test cases.
- Good test cases always are complicated ones.
- Software test automation can replace test engineers to perform good software testing.
- Software testing is simple and easy. Anyone can do it. No training is needed.
- Documentation of Software Testing Process is waste of time and not necessary.
Testing Levels Based on Test Process Maturity
 Level 0 : There’s no difference between testing and debugging
 Level 1 : The purpose of testing is to show correctness
 Level 2 : The purpose of testing is to show that the software doesn’t work
 Level 3 : The purpose of testing is not to prove anything specific, but to reduce the risk of
using the software
 Level 4 : Testing is a mental discipline that helps all IT professionals develop higher quality
software
Level 0 Thinking
 Testing is the same as debugging
 Does not distinguish between incorrect behavior and mistakes in the program
 Does not help develop software that is reliable or safe
Level 1 Thinking
 Purpose is to show correctness
 Correctness is impossible to achieve
 What do we know if no failures?
– Good software or bad tests?
 Test engineers have no:
– Strict goal
– Real stopping rule
– Formal test technique
– Test managers are powerless
Level 2 Thinking
 Purpose is to show failures
 Looking for failures is a negative activity
 Puts testers and developers into an adversarial relationship
 What if there are no failures?
This describes most software companies.
How can we move to a team approach ??
Level 3 Thinking
 Testing can only show the presence of failures
 Whenever we use software, we incur some risk
 Risk may be small and consequences unimportant
 Risk may be great and the consequences catastrophic
 Testers and developers work together to reduce risk
This describes a few “enlightened” software companies
Level 4 Thinking
“A mental discipline that increases quality”
 Testing is only one way to increase quality
 Test engineers can become technical leaders of the project
 Primary responsibility to measure and improve software quality
 Their expertise should help the developers
This is the way “traditional” engineering works
Are we able to achieve these points
 Do we get enough time for Test Case Preparation? (Y/N)
 Do we have a space for test estimation? (Y/N)
 Can we work in a stable environment? (Y/N)
 Do we have a space for doing the Sanity testing? (Y/N)
 Do we have a space for performing Smoke testing? (Y/N)
QUESTIONS ???

More Related Content

What's hot

How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaEdureka!
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testingpingkapil
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaEdureka!
 
Software testing
Software testingSoftware testing
Software testingmkn3009
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceEr. Nancy
 
powerpoint template for testing training
powerpoint template for testing trainingpowerpoint template for testing training
powerpoint template for testing trainingJohn Roddy
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introductionOana Feidi
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and PracticesAnand Bagmar
 

What's hot (20)

How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testing
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
Stlc ppt
Stlc pptStlc ppt
Stlc ppt
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Testing
TestingTesting
Testing
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
 
Software testing
Software testingSoftware testing
Software testing
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
powerpoint template for testing training
powerpoint template for testing trainingpowerpoint template for testing training
powerpoint template for testing training
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introduction
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
 

Viewers also liked

Software Testing - Test management - Mazenet Solution
Software Testing - Test management - Mazenet SolutionSoftware Testing - Test management - Mazenet Solution
Software Testing - Test management - Mazenet SolutionMazenetsolution
 
Testing of non functional requirements in agile
Testing of non functional requirements in agileTesting of non functional requirements in agile
Testing of non functional requirements in agileSubrahmaniam S.R.V
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGsuhasreddy1
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTsuhasreddy1
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life CycleUdayakumar Sree
 
Test management
Test managementTest management
Test managementOana Feidi
 

Viewers also liked (7)

Software Testing - Test management - Mazenet Solution
Software Testing - Test management - Mazenet SolutionSoftware Testing - Test management - Mazenet Solution
Software Testing - Test management - Mazenet Solution
 
Testing of non functional requirements in agile
Testing of non functional requirements in agileTesting of non functional requirements in agile
Testing of non functional requirements in agile
 
White box testing
White box testingWhite box testing
White box testing
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPT
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Test management
Test managementTest management
Test management
 

Similar to An introduction to Software Testing and Test Management

Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testingsankalpkumarsahoo174
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTINGRaju Raaj
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTINGacemindia
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx14941
 
QA Best Practices at Atlogys - Tech Talk (Atlogys Academy)
QA Best Practices at Atlogys - Tech Talk (Atlogys Academy)QA Best Practices at Atlogys - Tech Talk (Atlogys Academy)
QA Best Practices at Atlogys - Tech Talk (Atlogys Academy)Atlogys Technical Consulting
 
softwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfsoftwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfBabaShaikh3
 
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
 
Software testing
Software testingSoftware testing
Software testingRavi Dasari
 
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
 

Similar to An introduction to Software Testing and Test Management (20)

Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
 
QA Best Practices at Atlogys - Tech Talk (Atlogys Academy)
QA Best Practices at Atlogys - Tech Talk (Atlogys Academy)QA Best Practices at Atlogys - Tech Talk (Atlogys Academy)
QA Best Practices at Atlogys - Tech Talk (Atlogys Academy)
 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
 
L software testing
L   software testingL   software testing
L software testing
 
Types of testing
Types of testingTypes of testing
Types of testing
 
softwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfsoftwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdf
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
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...
 
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
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

An introduction to Software Testing and Test Management

  • 1. An Introduction to Software Testing & Test Management. Prepared By, ANURAJ S.L (LEAD QA Engineer)
  • 2. Let’s Start with a simple Game
  • 3.
  • 4. SOFTWARE IS A SKIN THAT SURROUNDS OUR CIVILIZATION
  • 5. Some Typical Project Blues… Project Kick Off Bug fixing Just started First Bug Fixed Regression Testing Fixed Regression Too Requirement Changes What to do ? When will Testing Stop ? Next Increment please Quality, God let me sleep !
  • 7.  What is Quality?  What is Software Testing?  Why testing is necessary?  Who does the testing?  What has to be tested?  When is testing done?  How often to test?  What are Testing Standards? Introduction & Fundamentals
  • 8.  Quality is “fitness for use” - (Joseph Juran)  Quality is “conformance to requirements” - (Philip B. Crosby)  Quality of a product or service is its ability to satisfy the needs and expectations of the customer. What is Quality? Quality - the most important factor affecting an organization’s long-term performance. Quality - the way to achieve improved productivity and competitiveness in any organization. Quality - saves. It does not cost. Quality - is the solution to the problem, not a problem. Quality Principles
  • 9. TESTING DEFINITIONS Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies specified requirements - (IEEE 83a) Process: Sequence of steps performed for a given purpose. (IEEE) Software Process: A set of activities, methods, practices, and transformations that people use to develop and maintain software and associated products.(SEI-CMM)
  • 10. WHAT IS SOFTWARE TESTING ? • Testing is like making love... it never lasts as long as you wanted it to. • Testing is like making love... once it's over you're the only one interested in discussing how it went. • Testing is like making love... well, I'm sure you get the idea. Testing is a matter of taking what's been delivered and investigating, for example: • whether the feature contains everything that the spec said it should. • whether the feature contains anything that the spec didn't say it should. • whether the feature violates any of the implicit rules. • whether the feature is what the user would want.
  • 11. WHAT IS SOFTWARE TESTING ?
  • 12. WHY DOES TESTING MATTER? NIST REPORT, “THE ECONOMIC IMPACTS OF INADEQUATE INFRASTRUCTURE FOR SOFTWARE TESTING” (2002) Inadequate software testing costs the US alone between $22 and $59 billion annually Better approaches could cut this amount in half MAJOR FAILURES: ARIANE 5 EXPLOSION, MARS POLAR LANDER, INTEL’S PENTIUM FDIV BUG INSUFFICIENT TESTING OF SAFETY-CRITICAL SOFTWARE CAN COST LIVES: THERAC-25 RADIATION MACHINE: 3 DEAD  HUGE LOSSES DUE TO WEB APPLICATION FAILURES  FINANCIAL SERVICES : $6.5 MILLION PER HOUR (JUST IN USA!)  CREDIT CARD SALES APPLICATIONS : $2.4 MILLION PER HOUR (IN USA)  IN DEC 2006, AMAZON.COM’S BOGO OFFER TURNED INTO A DOUBLE DISCOUNT  SYMANTEC SAYS THAT MOST SECURITY VULNERABILITIES ARE DUE TO FAULTY SOFTWARE WE WANT OUR PROGRAMS TO BE RELIABLE Testing is how, in most cases, we find out if they are. Ariane 5: exception-handling bug : forced self destruct on maiden flight (64-bit to 16-bit conversion: about 370 million $ lost)
  • 13. BASIC QUESTIONS ON TESTING Why to test?  Testing becomes absolutely essential to make sure the software works properly and does the work that it is meant to perform. What to test?  Any working product which forms part of the software application has to be tested. Both data and programs must be tested. How often to test?  When a program (source code) is modified or newly developed, it has to be tested. Who tests?  Programmer, Tester and Customer
  • 14. OBJECTIVES OF TESTING  Provide confidence in the system  Identify areas of weakness  Establish the degree of quality  Establish the extent that the requirements have been met, i.e. what the users asked for is what they got not what someone else though they wanted  To provide an understanding of the overall system  To prove it is both usable and operable  To check if the system is “ Fit for purpose”.  To check if the system does what it is expected to do.
  • 15. OBJECTIVES OF TESTER  Find bugs as early as possible and make sure they get fixed.  To understand the application well.  Study the functionality in detail to find where the bugs are likely to occur.  Study the code to ensure that each and every line of code is tested.  Create test cases in such a way that testing is done to uncover the hidden bugs and also ensure that the software is usable and reliable
  • 16. WHO TESTS THE SOFTWARE? Developer Understands the system and, is driven by "delivery" and, is driven by quality Independent tester Must learn about the system,
  • 17. TERMS: VERIFICATION AND VALIDATION Actually Software testing is one element of a broader topic that is often referred to as ===> Verification and Validation (V&V) Verification --> refers to the set of activities that ensure that software correctly implements a specific function. Validation -> refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements. In Short: Verification: “Are we building the product right?” Validation: “Are we building the right product?”
  • 18. ERROR, BUG, FAULT & FAILURE Error : it is a human action that produces the incorrect result that produces 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.
  • 19. SOFTWARE TESTING LIFECYCLE – PHASES Project Initiation System Study Summary Reports Analysis Regression Test Report Defects Execute Test Cases ( manual /automated ) Design Test Cases Test Plan Testing Life Cycle
  • 20.  Testing Cycle starts with the study of requirements.  Understanding of the requirements is very essential for testing the product. Requirements study As per IEEE 829 test plan structure is as follows.  * Test plan identifier  * Introduction  * Test items  * Features to be tested  * Features not to be tested  * Approach  * Item pass/fail criteria  * Suspension criteria and resumption requirements  * Test deliverables  * Testing tasks  * Environmental needs  * Responsibilities  * Staffing and training needs  * Schedule  * Risks and contingencies  * Approvals
  • 21. Reasons for writing a test plan: • It guides our thinking • Forces us to confront the challenges that await us • Focus us on important topics • Serve as vehicles for communicating with other members of the project team, testers, peers, managers and other stakeholders • Becomes a record of previous discussions and agreements between the testers and the rest of the project team
  • 22. Test Case Design and Development • Component Identification • Test Specification Design • Test Specification Review Test Execution • Code Review • Test execution and evaluation • Performance and simulation Test Closure • Test summary report • Project De-brief • Project Documentation
  • 23. Test Progress Monitoring and Documenting Test documenting & monitoring serve various purposes during the project: • Give feedback on how the testing work is going, allowing opportunities to guide and improve the testing and the project • Provide visibility about the test results • Measure the status of the testing, test coverage and test items against the exit criteria to determine whether the test work is done • Gather data for use in estimating future test efforts Test progress monitoring techniques vary considerably depending on: • The preferences of the testers and stakeholders • The needs and goals of the project • Regulatory requirements, time and money constraints and other factors Test progress monitoring is about gathering detailed test data
  • 24. The Universal Test Procedure “Try it and see if it works.”  Learn about it  Model it  Speculate about it  Configure it  Operate it  Know what to look for  See what’s there Understand the requirements Identify problems Distinguish bad problems from not- so-bad problems Models EvaluationCoverage
  • 26.  Black box testing • No knowledge of internal program, design or code required. • Tests are based on requirements and functionality  White box testing • Knowledge of the internal program design and code required. • Tests are based on coverage of code statements, branches, paths, conditions.
  • 28. Testing Levels • Unit testing • Integration testing • System testing
  • 29. Unit testing Tests each module individually.  Follows a white box testing (Logic of the program).  Done by Programmers (not by testers).
  • 30. Unit testing Objectives  To test the function of a program or unit of code such as a program or module.  To test internal logic  To verify internal design  To test path & conditions coverage  To test exception conditions & error handling When  After modules are coded Input  Internal Application Design  Master Test Plan  Unit Test Plan Output  Unit Test Report Who  Developer Methods  White Box testing techniques Tools  Debug  Re-structure  Code Analyzers  Path/statement coverage tools Education  Testing Methodology  Effective use of tools
  • 31.  Testing of combined parts of an application to determine their functional correctness.  ‘Parts’ can be  code modules  individual applications  client/server applications on a network. Integration Testing
  • 32. Integration testing Objectives  To technically verify proper interfacing between modules, and within sub-systems When  After modules are unit tested Input  Internal & External Application Design  Master Test Plan  Integration Test Plan Output  Integration Test report Who  Developers Methods  White and Black Box techniques  Problem / Configuration Management Tools  Debug  Re-structure  Code Analyzers Education  Testing Methodology  Effective use of tools
  • 33. System Testing Objectives  To ensure that the system functions together with all the components of its environment as a total system  To ensure that the system releases can be deployed in the current environment  To verify that the system components perform control functions  To perform inter-system test  To demonstrate that the system performs both functionally and operationally as specified  To perform appropriate types of tests relating to Transaction Flow, Installation, Reliability, Regression etc. When  After Integration Testing Input  Detailed Requirements & External Application Design  Master Test Plan  System Test Plan Output  System Test Report Who  Development Team and Users Methods  Problem / Configuration Management Tools  Recommended set of tools Education  Testing Methodology  Effective use of tools
  • 34. Types Of System Testing  Alpha Testing - It is carried out by the test team within the developing organization .  Beta Testing - It is performed by a selected group of friendly customers.  Acceptance Testing - It is performed by the customer to determine whether to accept or reject the delivery of the system.  Performance Testing - It is carried out to check whether the system meets the nonfunctional requirements identified in the SRS document.
  • 36. Functional testing  Black box type testing geared to functional requirements of an application.  Done by testers. System testing  Black box type testing that is based on overall requirements specifications; covering all combined parts of the system. End-to-end testing  Similar to system testing; involves testing of a complete application environment in a situation that mimics real-world use.
  • 37. Sanity testing  Initial effort to determine if a new software version is performing well enough to accept it for a major testing effort. Regression testing  Re-testing after fixes or modifications of the software or its environment. Acceptance testing  Final testing based on specifications of the end-user or customer Load testing  Testing an application under heavy loads.  Eg. Testing of a web site under a range of loads to determine, when the system response time degraded or fails.
  • 38. Stress Testing  Testing under unusually heavy loads, heavy repetition of certain actions or inputs, input of large numerical values, large complex queries to a database etc.  Term often used interchangeably with ‘load’ and ‘performance’ testing. Performance testing  Testing how well an application complies to performance requirements. Install/uninstall testing Testing of full, partial or upgrade install/uninstall process. Recovery testing Testing how well a system recovers from crashes, HW failures or other problems.
  • 39. Compatibility testing  Testing how well software performs in a particular HW/SW/OS/NW environment. Exploratory testing / ad-hoc testing  Informal SW test that is not based on formal test plans or test cases; testers will be learning the SW in totality as they test it. Comparison testing  Comparing SW strengths and weakness to competing products.
  • 40. Entry Criteria Various steps to be performed before the start of a test i.e. Pre-requisites. E.g.  Timely environment set up  Starting the web server/app server  Successful implementation of the latest build etc. Exit Criteria Contains tasks like  Bringing down the system / server  Restoring system to pre-test environment  Database refresh etc.
  • 41. TESTING STANDARDS External Standards Familiarity with and adoption of industry test standards from organizations. Internal Standards Development and enforcement of the test standards that testers must meet.
  • 42. What is IEEE/ISO Standards ? They are organizations which set the International Standards. ISO/IEC/IEEE 29119 Software Testing is an internationally agreed set of standards for software testing that can be used within any software development life cycle or organization.
  • 43. List Of Documents ? Here is a list of some important documents provided by IEEE, which should be used and maintained regularly: •Software requirement specification document •Test design document •Test plan document •Test case document •Test procedure document •Test strategy •Bug reports document •Test data document •document of weekly status report •Document of user acceptance report •Report of risk assessment •Test analysis •Test summary reports
  • 44. Other standards….. ISO – International Organization for Standards Six Sigma – Zero Defect Orientation SPICE – Software Process Improvement and Capability Determination
  • 45. TESTS MAKE CHANGE SMOOTH small change small change small change Has anything broken? Has anything broken? Has anything broken?
  • 47. Sample Test Strategy  Each Sprint  Participate in sprint planning  Estimate tasks(QA input)  Write test scenarios using stories(QA)  High level test scenarios before coding begins- guide dev  Unit/ Integration tests(Dev)  Automatic test on code level run every night or after new code is added. Bugs found are fixed immediately  Integration/Feature tests(QA)  Performed when a feature is finished implemented. Errors found are logged in main project in bug system and prioritized. After all prioritized bugs are fixed, the feature is ready for System Test at the end of the project.  System/Regression tests(QA)  Performed when all the feature is finished implemented and moved on to the UAT server. Errors found are logged in main project in bug system and prioritized.  Reviews (stories, req, test)  Increase collaboration and communications
  • 48. Test Strategy-outlined Bugs • New features are updated in the backlog. Specification • Development starts accordingly. Development •Each feature once done is deployed here Dev / Int Environment Test Feature 2 Log Bugs if any Test Feature 1 Log Bugs if any Test Feature 3 Log Bugs if any Bugs will be fixed in dev environment and it will be re- tested. •All the features and bug fixes are deployed here. UAT Environment •System / Automated Regression / Load Testing could be performed. System Testing •Release notes will be sent if exit criteria is met. Release The Smoke Suite will be scheduled to run every night to ensure system stability.
  • 49. Working as a Test Leader  Involve in the planning, monitoring, and control of the testing activities and tasks  Devise the test objectives, organizational test policies, test strategies and test plans  Estimate the testing activities and negotiate with management to acquire the necessary resources  Recognize when test automation is appropriate  Plan the effort, select the tools, and ensure training of the team  Consult with other groups - e.g., programmers - to help them with their testing  Lead, guide and monitor the analysis, design, implementation and execution of the test cases, test procedures and test suites  Make sure the test environment is put into place before test execution and managed during test execution  Schedule the tests for execution and monitor, measure, control and report on the test progress, the product quality status and the test results, adapting the test plan  Do adjustment in the testing activities as when required  In last they write summary reports on test status
  • 50. Working as a Test Leader  They analyze and review requirements specifications and contribute to test plans  Involve in identifying test conditions and creating test designs, test cases, test procedure specifications and test data  Help in automating the tests  Set up the test environments or assist system administration and network management staff in doing so  Execute and log the tests, evaluate the results and document problems found  Monitor the testing and the test environment, often using tools  Gather performance metrics  Review each other's work, including test specifications, defect reports and test results
  • 51. Software Testing Principles •Principle #1: Complete testing is impossible. •Principle #2: Software testing is not simple. •Reasons: •Quality testing requires testers to understand a system/product completely •Quality testing needs adequate test set, and efficient testing methods •A very tight schedule and lack of test tools. •Principle #3: Testing is risk-based. •Principle #4: Testing must be well planned and documented. •Principle #5: Quality software testing depends on: •Good understanding of software products and related domain application •Cost-effective testing methodology, coverage, test methods, and tools. •Good engineers with creativity, and solid software testing experience
  • 52. Software Testing Myths - We can test a program completely. In other words, we test a program exhaustively. - We can find all program errors as long as test engineers do a good job. - We can test a program by trying all possible inputs and states of a program. - A good test suite must include a great number of test cases. - Good test cases always are complicated ones. - Software test automation can replace test engineers to perform good software testing. - Software testing is simple and easy. Anyone can do it. No training is needed. - Documentation of Software Testing Process is waste of time and not necessary.
  • 53. Testing Levels Based on Test Process Maturity  Level 0 : There’s no difference between testing and debugging  Level 1 : The purpose of testing is to show correctness  Level 2 : The purpose of testing is to show that the software doesn’t work  Level 3 : The purpose of testing is not to prove anything specific, but to reduce the risk of using the software  Level 4 : Testing is a mental discipline that helps all IT professionals develop higher quality software
  • 54. Level 0 Thinking  Testing is the same as debugging  Does not distinguish between incorrect behavior and mistakes in the program  Does not help develop software that is reliable or safe
  • 55. Level 1 Thinking  Purpose is to show correctness  Correctness is impossible to achieve  What do we know if no failures? – Good software or bad tests?  Test engineers have no: – Strict goal – Real stopping rule – Formal test technique – Test managers are powerless
  • 56. Level 2 Thinking  Purpose is to show failures  Looking for failures is a negative activity  Puts testers and developers into an adversarial relationship  What if there are no failures? This describes most software companies. How can we move to a team approach ??
  • 57. Level 3 Thinking  Testing can only show the presence of failures  Whenever we use software, we incur some risk  Risk may be small and consequences unimportant  Risk may be great and the consequences catastrophic  Testers and developers work together to reduce risk This describes a few “enlightened” software companies
  • 58. Level 4 Thinking “A mental discipline that increases quality”  Testing is only one way to increase quality  Test engineers can become technical leaders of the project  Primary responsibility to measure and improve software quality  Their expertise should help the developers This is the way “traditional” engineering works
  • 59. Are we able to achieve these points  Do we get enough time for Test Case Preparation? (Y/N)  Do we have a space for test estimation? (Y/N)  Can we work in a stable environment? (Y/N)  Do we have a space for doing the Sanity testing? (Y/N)  Do we have a space for performing Smoke testing? (Y/N)