SlideShare a Scribd company logo
CHAPTER 1
TESTING FUNDAMENTALS
EXPECTATIONS
At the end of this Chapter, students are expected to get a grasp of the following:
• Requirements to becoming a good Software Tester.
• Understand the Importance of Software Testing.
• Principles of Software Testing.
• The difference between Software Testing Lifecycle and Software Development
Lifecycle.
AREAS TO BE COVERED
• Skills Required to Become a Software Tester
• Software Testing as a Career Path
• Software Testing - Introduction (Real Life References)
• Why Software Testing? (Highlight major risks of a non-tested software. (Real
life references)
• Fundamental Principles of Testing
• SDLC VS STLC
SKILLS REQUIRED TO BECOME A SOFTWARE TESTER
We will discuss the Technical and Non-Technical required to become a Software
Tester
Non-Technical Skills
• Analytical Skills.
• Communication Skills.
• Time Management and Organization skills.
• Attitude towards Learning.
• Enthusiasm.
SKILLS REQUIRED TO BECOME A SOFTWARE TESTER
We will discuss the Technical and Non-Technical required to become a Software
Tester.
Technical Skills
• Hands on experience of a Testing tools(Test Management tools/Defect tracking
tools).
SKILLS REQUIRED TO BECOME A SOFTWARE TESTER
Academic background of a software tester could be in any fields
provided the software tester has been trained by the an experienced
and certified software tester on Software Development/ Test Life Cycle
and other testing methodologies.
The new software tester can go for International Software Testing
Qualification Board (ISTQB ) certification after he has trained properly
and he has gotten reasonable level of hand-on experience.
SOFTWARE TESTING CAREER PATH
Renumeration
Compensation of a software tester varies from company to company. Average salary range
of a software tester in the US is $45,993 - $74,935. Average salary range of a software tester
in India is Rs 247,315 - Rs 449,111.
Also, a software tester is also given health insurance, bonuses, gratuity and other perks.
Your career progression as a software tester (QA Analyst) in an organization that has
structured-career improvement path will look for the following but will vary from company
to company:
• QA Analyst (Fresher)
• Sr. QA Analyst (2-3 years' experience)
• QA Team Coordinator (5-6 years' experience)
• Test Manager (8-11 years' experience)
• Senior Test Manager (14+ experience)
SOFTWARE TESTING CAREER PATH
Common Myths
Software Testing as a Career pays Less Developers are more respected as compared to
Testers
Contrary to popular belief, Software Testers (better known as QA professionals) are
paid and treated at par with Software Developers in all "aspiring" companies. A career
in Software Testing should never be considered as "second rated."
Software Testing is Boring
Software Testing could actually "test" your nerves since you need to make sense of
Business Requirements and draft test cases based on your understanding. Software
testing is not boring. What is boring is doing the same set of tasks repeatedly. The key
is to try new things. For that matter, have you ever spoken to a software developer
with more than 3 years' experience? He will tell you how boring his job has become
off-lately.
INTRODUCTION TO SOFTWARE TESTING
Software testing is a process of ensuring that a product/software/program works in
accordance to the user’s requirement.
The act of testing a software helps to identify gaps between what software should
have been built and what software has been built.
Scenario
A fashion enthusiast asked his tailor to make a size 4 black cap with a rose design
embedded on it. When the cap was delivered to the enthusiast, he got a size 4
black cap with a pearl design embedded on it. The enthusiast put the cap on and
noticed it looked good, fits only that a pearl design was embedded on it.
The act of checking the cap against the items marked in bold(size 4,black colored
and rose design) which are the user requirements is called testing.
WHY SOFTWARE TESTING?
Testing is important because of the following below:
• Software bugs could be expensive to fix.
• Loss of money.
• Loss of clients’ interest in a solution provider.
• Death.
EFFECTS OF ABSENCE OF SOFTWARE TESTING
• In November 2013, Konga announced a black Friday sales, the website
experienced a traffic surge unprecedented in Nigerian online shopping
history hence causing the website to crash. They were not able to make
sales for a whole day.
• Nissan cars have to recall over 1 million cars from the market due to
software failure in the airbag sensory detectors. There has been reported
two accident due to this software failure.
• Starbucks was forced to close about 60 percent of stores in the U.S and
Canada due to software failure in its POS system. At one point store served
coffee for free as they unable to process the transaction.
• Some of the Amazon’s third party retailers saw their product price is
reduced to 1p due to a software glitch. They were left with heavy losses.
PRINCIPLES OF TESTING
It is important that correct test results are achieved while performing software testing
without deviating from the goal.
• Exhaustive Testing Is Impossible
Exhaustive testing is not possible. Instead, we need the optimal amount of testing
based on the risk assessment of the application. How can the risk be determined
To answer this let's do an exercise
• In your opinion, Which operation is most likely to cause your Operating system to
fail?
• I am sure most of you would have guessed, Opening 10 different application all at
the same time.
• So if you were testing this Operating system, you would realize that defects are likely
to be found in multi-tasking activity and need to be tested thoroughly which brings
us to our next principle Defect Clustering
PRINCIPLES OF TESTING CONTD
• Defect Clustering
It states that a small number of modules contain most of the defects detected. This is
the application of the Pareto Principle to software testing approximately 80% of the
problems are found in 20% of the modules.
By experience, you can identify such risky modules. But this approach has its own
problems
If the same tests are repeated over and over again , eventually the same test cases
will no longer find new bugs.
PRINCIPLES OF TESTING CONTD
• Pesticide Paradox
Repetitive use of the same pesticide mix to eradicate insects during farming will over
time lead to the insects developing resistance to the pesticide. The same applies to
software testing. If the same set of repetitive tests are conducted, the method will be
useless for discovering new defects.
To overcome this, the test cases need to be regularly reviewed & revised , adding new
& different test cases to help find more defects
Testers cannot simply depend on existing test techniques. He must look out
continually to improve the existing methods to make testing more effective
PRINCIPLES OF TESTING CONTD
• Testing shows presence of defects
Hence, testing principle states that - Testing talks about the presence of defects and
don’t talk about the absence of defects. i.e. Software Testing reduces the probability
of undiscovered defects remaining in the software but even if no defects are found, it
is not a proof of correctness.
But what if , you work extra hard , taking all precautions & make your software
product 99% bug-free. And the software does not meet the needs & requirements of
the clients.
This leads us to our next principle, which states that- Absence of Error
PRINCIPLES OF TESTING CONTD
• Absence of Error
It is possible that software which is 99% bug-free is still unusable. This can be the case
if the system is tested thoroughly for the wrong requirement. Software testing is not
mere finding defects, but also to check that software addresses the business needs.
Absence of Error is a Fallacy i.e. Finding and fixing defects does not help if the system
build is unusable and does not fulfill the user's needs & requirements.
• Early Testing
Early Testing should start as early as possible in the Software Development Life Cycle.
So that any defects in the requirements or design phase are captured in early stages.
It is much cheaper to fix a defect in early stages of testing. But how early one should
start testing? It is recommended that you start finding the bug the moment the
requirements are defined.
PRINCIPLES OF TESTING CONTD
• Testing is context dependent
Testing is context dependent which basically means that the way you test an e-
commerce site will be different from the way you test a commercial off the shelf
application. You might use a different approach, methodologies, techniques and types
of testing depending upon the application type. For instance testing, any POS system
at a retail store will be different than testing an ATM machine.
Myth: “Principles are just for reference. I will not use them in practice”
This is so very untrue. Test Principles will help you create an effective test strategy and draft error
catching test cases.
But learning testing principles is just like learning to drive for the first time.
Same is true for testing principles. Experienced testers have internalized these principles to a level that
they apply them even without thinking. Hence the myth that the principles are not use in practice is
simply not true.
Suppose, you are assigned a task, to develop a custom software for a client. Now,
irrespective of your technical background, try and make an educated guess about
the sequence of steps you will follow, to achieve the task.
PRINCIPLES OF TESTING CONTD
PRINCIPLES OF TESTING CONTD
PRINCIPLES OF TESTING CONTD
Also, the costs of fixing a defect increases across the development life cycle. The
earlier in life cycle a defect is detected, the cheaper it is to fix it. As the say, "A stitch
in time saves a nine.“
To address this concern, the V model of testing was developed where for every
phase, in the Development life cycle there is a corresponding Testing phase
Developer’s life Cycle Tester’s life cycle
Business Requirement Spec
System Requirement spec
High Level Design
Low Level Design
Coding
CODE
Acceptance Test
System Test
System Integration test
Component testing
Unit testing
V-Model Diagram
SDLC VS STLC.
The left side of the model is Software Development Life Cycle - SDLC
The right side of the model is Software Test Life Cycle - STLC
The entire figure looks like a V, hence the name V - model
Apart from V model, there are iterative development models, where development is
carried in phases, with each phase adding a functionality to the software. Each phase
comprises of its independent set of development and testing activities.
Good examples of Development lifecycles following iterative method are Rapid
Application Development, Agile Development.
SDLC VS STLC CONTD.
Here are the Key Terms again:
SDLC: is Software Development Life Cycle. It is the sequence of activities carried out
by Developers to design and develop high-quality software.
Though SDLC uses the term ‘Development’, it does not involve just coding tasks done
by developers but also incorporates the tasks contributed by testers and stakeholders.
STLC: is Software Testing Life Cycle, they are list of corresponding test activities carried
out by Software Testers to ensure quality of software developed.
CONCLUSION
• There are numerous development life cycle models. Development model
selected for a project depends on the aims and goals of that project.
• Testing is not a stand-alone activity, and it has to adapt the development model
chosen for the project.
• In any model, testing should performed at all levels i.e. right from requirements
until maintenance.
Q&A
??????????????????????????????????????????
FEEDBACK SECTION
• What is your Opinion about the choice of Software Testing as a Career Path?
• Do you have any other reference apart from Software Development where you
have needed to run a test in the past(Optional)
• Do you know of any other company that may have failed in the past because of
either improper testing or no testing of a product.
WEEK 1 ASSIGNMENT
Prepare a one-page write-up by comparing manual and automated
testing.
It must be submitted latest by 48 hours before the next class.

More Related Content

What's hot

Types of software testing
Types of software testingTypes of software testing
Types of software testing
Prachi Sasankar
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
Selin Gungor
 
What is eggPlant Functional?
What is eggPlant Functional?What is eggPlant Functional?
What is eggPlant Functional?
Testplant
 
Stlc ppt
Stlc pptStlc ppt
Stlc ppt
Bhavik Modi
 
Types of testing
Types of testingTypes of testing
Types of testing
Valarmathi Srinivasan
 
Static Testing
Static TestingStatic Testing
Static Testing
Dharita Chokshi
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
Garuda Trainings
 
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
 
Fitnesse Testing Framework
Fitnesse Testing Framework Fitnesse Testing Framework
Fitnesse Testing Framework Ajit Koti
 
Automation frameworks
Automation frameworksAutomation frameworks
Automation frameworks
Vishwanath KC
 
Sanity testing and smoke testing
Sanity testing and smoke testingSanity testing and smoke testing
Sanity testing and smoke testing
MUHAMMAD FARHAN ASLAM
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
Hiral Gosani
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
Software Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s GuideSoftware Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s Guide
Syed Hassan Raza
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh
 
Basics in software testing
Basics in software testingBasics in software testing
Basics in software testing
TOPS Technologies
 

What's hot (20)

Test Life Cycle
Test Life CycleTest Life Cycle
Test Life Cycle
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
What is eggPlant Functional?
What is eggPlant Functional?What is eggPlant Functional?
What is eggPlant Functional?
 
Stlc ppt
Stlc pptStlc ppt
Stlc ppt
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Manual testing
Manual testingManual testing
Manual testing
 
Static Testing
Static TestingStatic Testing
Static Testing
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
 
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...
 
Fitnesse Testing Framework
Fitnesse Testing Framework Fitnesse Testing Framework
Fitnesse Testing Framework
 
Automation frameworks
Automation frameworksAutomation frameworks
Automation frameworks
 
Automated testing web application
Automated testing web applicationAutomated testing web application
Automated testing web application
 
Sanity testing and smoke testing
Sanity testing and smoke testingSanity testing and smoke testing
Sanity testing and smoke testing
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Software Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s GuideSoftware Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s Guide
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Basics in software testing
Basics in software testingBasics in software testing
Basics in software testing
 

Similar to SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx

Presentation13
Presentation13Presentation13
Presentation13
Nikita Warma
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
ANDRI HAIRIYADI, S.Kom.
 
Bab 1
Bab 1Bab 1
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Muhammad Khairil
 
Principles-of-SoftwareTesting.pptx
Principles-of-SoftwareTesting.pptxPrinciples-of-SoftwareTesting.pptx
Principles-of-SoftwareTesting.pptx
Saba651353
 
What is software testing in software engineering?
What is software testing in software engineering?What is software testing in software engineering?
What is software testing in software engineering?
tommychauhan
 
What is Testing in Software Engineering?
What is Testing in Software Engineering?What is Testing in Software Engineering?
What is Testing in Software Engineering?
tommychauhan
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing Principles
Kanoah
 
Effective Testing fo Startups
Effective Testing fo StartupsEffective Testing fo Startups
Effective Testing fo Startups
Testnetic
 
Fundamentals of Testing (2013)
Fundamentals of Testing (2013)Fundamentals of Testing (2013)
Fundamentals of Testing (2013)
Jana Gierloff
 
Chapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingChapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of Testing
Zetryan Satria
 
2.fundamental of testing
2.fundamental of testing2.fundamental of testing
2.fundamental of testing
Bobi Henfajri Setiawan
 
FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1
fadhilla elita
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testing
aidil fitra
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Siti Rubayati
 
Fundamentals of testing what is testing (reference graham et.al (2006))
Fundamentals of testing   what is testing (reference graham et.al (2006))Fundamentals of testing   what is testing (reference graham et.al (2006))
Fundamentals of testing what is testing (reference graham et.al (2006))
Alfarizi ,S.Kom
 
01. foundamentals of testing
01. foundamentals of testing01. foundamentals of testing
01. foundamentals of testing
Tricia Karina
 
The Leaders Guide to Getting Started with Automated Testing
The Leaders Guide to Getting Started with Automated TestingThe Leaders Guide to Getting Started with Automated Testing
The Leaders Guide to Getting Started with Automated Testing
James Briers
 
5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners
Neotys
 
Software_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdfSoftware_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdf
AnupmaMunshi
 

Similar to SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx (20)

Presentation13
Presentation13Presentation13
Presentation13
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Bab 1
Bab 1Bab 1
Bab 1
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Principles-of-SoftwareTesting.pptx
Principles-of-SoftwareTesting.pptxPrinciples-of-SoftwareTesting.pptx
Principles-of-SoftwareTesting.pptx
 
What is software testing in software engineering?
What is software testing in software engineering?What is software testing in software engineering?
What is software testing in software engineering?
 
What is Testing in Software Engineering?
What is Testing in Software Engineering?What is Testing in Software Engineering?
What is Testing in Software Engineering?
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing Principles
 
Effective Testing fo Startups
Effective Testing fo StartupsEffective Testing fo Startups
Effective Testing fo Startups
 
Fundamentals of Testing (2013)
Fundamentals of Testing (2013)Fundamentals of Testing (2013)
Fundamentals of Testing (2013)
 
Chapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of TestingChapter 1 Fundamentals of Testing
Chapter 1 Fundamentals of Testing
 
2.fundamental of testing
2.fundamental of testing2.fundamental of testing
2.fundamental of testing
 
FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing what is testing (reference graham et.al (2006))
Fundamentals of testing   what is testing (reference graham et.al (2006))Fundamentals of testing   what is testing (reference graham et.al (2006))
Fundamentals of testing what is testing (reference graham et.al (2006))
 
01. foundamentals of testing
01. foundamentals of testing01. foundamentals of testing
01. foundamentals of testing
 
The Leaders Guide to Getting Started with Automated Testing
The Leaders Guide to Getting Started with Automated TestingThe Leaders Guide to Getting Started with Automated Testing
The Leaders Guide to Getting Started with Automated Testing
 
5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners
 
Software_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdfSoftware_testing Unit 1 bca V.pdf
Software_testing Unit 1 bca V.pdf
 

Recently uploaded

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 

Recently uploaded (20)

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 

SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx

  • 2. EXPECTATIONS At the end of this Chapter, students are expected to get a grasp of the following: • Requirements to becoming a good Software Tester. • Understand the Importance of Software Testing. • Principles of Software Testing. • The difference between Software Testing Lifecycle and Software Development Lifecycle.
  • 3. AREAS TO BE COVERED • Skills Required to Become a Software Tester • Software Testing as a Career Path • Software Testing - Introduction (Real Life References) • Why Software Testing? (Highlight major risks of a non-tested software. (Real life references) • Fundamental Principles of Testing • SDLC VS STLC
  • 4. SKILLS REQUIRED TO BECOME A SOFTWARE TESTER We will discuss the Technical and Non-Technical required to become a Software Tester Non-Technical Skills • Analytical Skills. • Communication Skills. • Time Management and Organization skills. • Attitude towards Learning. • Enthusiasm.
  • 5. SKILLS REQUIRED TO BECOME A SOFTWARE TESTER We will discuss the Technical and Non-Technical required to become a Software Tester. Technical Skills • Hands on experience of a Testing tools(Test Management tools/Defect tracking tools).
  • 6. SKILLS REQUIRED TO BECOME A SOFTWARE TESTER Academic background of a software tester could be in any fields provided the software tester has been trained by the an experienced and certified software tester on Software Development/ Test Life Cycle and other testing methodologies. The new software tester can go for International Software Testing Qualification Board (ISTQB ) certification after he has trained properly and he has gotten reasonable level of hand-on experience.
  • 7. SOFTWARE TESTING CAREER PATH Renumeration Compensation of a software tester varies from company to company. Average salary range of a software tester in the US is $45,993 - $74,935. Average salary range of a software tester in India is Rs 247,315 - Rs 449,111. Also, a software tester is also given health insurance, bonuses, gratuity and other perks. Your career progression as a software tester (QA Analyst) in an organization that has structured-career improvement path will look for the following but will vary from company to company: • QA Analyst (Fresher) • Sr. QA Analyst (2-3 years' experience) • QA Team Coordinator (5-6 years' experience) • Test Manager (8-11 years' experience) • Senior Test Manager (14+ experience)
  • 8. SOFTWARE TESTING CAREER PATH Common Myths Software Testing as a Career pays Less Developers are more respected as compared to Testers Contrary to popular belief, Software Testers (better known as QA professionals) are paid and treated at par with Software Developers in all "aspiring" companies. A career in Software Testing should never be considered as "second rated." Software Testing is Boring Software Testing could actually "test" your nerves since you need to make sense of Business Requirements and draft test cases based on your understanding. Software testing is not boring. What is boring is doing the same set of tasks repeatedly. The key is to try new things. For that matter, have you ever spoken to a software developer with more than 3 years' experience? He will tell you how boring his job has become off-lately.
  • 9. INTRODUCTION TO SOFTWARE TESTING Software testing is a process of ensuring that a product/software/program works in accordance to the user’s requirement. The act of testing a software helps to identify gaps between what software should have been built and what software has been built. Scenario A fashion enthusiast asked his tailor to make a size 4 black cap with a rose design embedded on it. When the cap was delivered to the enthusiast, he got a size 4 black cap with a pearl design embedded on it. The enthusiast put the cap on and noticed it looked good, fits only that a pearl design was embedded on it. The act of checking the cap against the items marked in bold(size 4,black colored and rose design) which are the user requirements is called testing.
  • 10. WHY SOFTWARE TESTING? Testing is important because of the following below: • Software bugs could be expensive to fix. • Loss of money. • Loss of clients’ interest in a solution provider. • Death.
  • 11. EFFECTS OF ABSENCE OF SOFTWARE TESTING • In November 2013, Konga announced a black Friday sales, the website experienced a traffic surge unprecedented in Nigerian online shopping history hence causing the website to crash. They were not able to make sales for a whole day. • Nissan cars have to recall over 1 million cars from the market due to software failure in the airbag sensory detectors. There has been reported two accident due to this software failure. • Starbucks was forced to close about 60 percent of stores in the U.S and Canada due to software failure in its POS system. At one point store served coffee for free as they unable to process the transaction. • Some of the Amazon’s third party retailers saw their product price is reduced to 1p due to a software glitch. They were left with heavy losses.
  • 12. PRINCIPLES OF TESTING It is important that correct test results are achieved while performing software testing without deviating from the goal. • Exhaustive Testing Is Impossible Exhaustive testing is not possible. Instead, we need the optimal amount of testing based on the risk assessment of the application. How can the risk be determined To answer this let's do an exercise • In your opinion, Which operation is most likely to cause your Operating system to fail? • I am sure most of you would have guessed, Opening 10 different application all at the same time. • So if you were testing this Operating system, you would realize that defects are likely to be found in multi-tasking activity and need to be tested thoroughly which brings us to our next principle Defect Clustering
  • 13. PRINCIPLES OF TESTING CONTD • Defect Clustering It states that a small number of modules contain most of the defects detected. This is the application of the Pareto Principle to software testing approximately 80% of the problems are found in 20% of the modules. By experience, you can identify such risky modules. But this approach has its own problems If the same tests are repeated over and over again , eventually the same test cases will no longer find new bugs.
  • 14. PRINCIPLES OF TESTING CONTD • Pesticide Paradox Repetitive use of the same pesticide mix to eradicate insects during farming will over time lead to the insects developing resistance to the pesticide. The same applies to software testing. If the same set of repetitive tests are conducted, the method will be useless for discovering new defects. To overcome this, the test cases need to be regularly reviewed & revised , adding new & different test cases to help find more defects Testers cannot simply depend on existing test techniques. He must look out continually to improve the existing methods to make testing more effective
  • 15. PRINCIPLES OF TESTING CONTD • Testing shows presence of defects Hence, testing principle states that - Testing talks about the presence of defects and don’t talk about the absence of defects. i.e. Software Testing reduces the probability of undiscovered defects remaining in the software but even if no defects are found, it is not a proof of correctness. But what if , you work extra hard , taking all precautions & make your software product 99% bug-free. And the software does not meet the needs & requirements of the clients. This leads us to our next principle, which states that- Absence of Error
  • 16. PRINCIPLES OF TESTING CONTD • Absence of Error It is possible that software which is 99% bug-free is still unusable. This can be the case if the system is tested thoroughly for the wrong requirement. Software testing is not mere finding defects, but also to check that software addresses the business needs. Absence of Error is a Fallacy i.e. Finding and fixing defects does not help if the system build is unusable and does not fulfill the user's needs & requirements. • Early Testing Early Testing should start as early as possible in the Software Development Life Cycle. So that any defects in the requirements or design phase are captured in early stages. It is much cheaper to fix a defect in early stages of testing. But how early one should start testing? It is recommended that you start finding the bug the moment the requirements are defined.
  • 17. PRINCIPLES OF TESTING CONTD • Testing is context dependent Testing is context dependent which basically means that the way you test an e- commerce site will be different from the way you test a commercial off the shelf application. You might use a different approach, methodologies, techniques and types of testing depending upon the application type. For instance testing, any POS system at a retail store will be different than testing an ATM machine. Myth: “Principles are just for reference. I will not use them in practice” This is so very untrue. Test Principles will help you create an effective test strategy and draft error catching test cases. But learning testing principles is just like learning to drive for the first time. Same is true for testing principles. Experienced testers have internalized these principles to a level that they apply them even without thinking. Hence the myth that the principles are not use in practice is simply not true.
  • 18. Suppose, you are assigned a task, to develop a custom software for a client. Now, irrespective of your technical background, try and make an educated guess about the sequence of steps you will follow, to achieve the task. PRINCIPLES OF TESTING CONTD
  • 20. PRINCIPLES OF TESTING CONTD Also, the costs of fixing a defect increases across the development life cycle. The earlier in life cycle a defect is detected, the cheaper it is to fix it. As the say, "A stitch in time saves a nine.“ To address this concern, the V model of testing was developed where for every phase, in the Development life cycle there is a corresponding Testing phase
  • 21. Developer’s life Cycle Tester’s life cycle Business Requirement Spec System Requirement spec High Level Design Low Level Design Coding CODE Acceptance Test System Test System Integration test Component testing Unit testing V-Model Diagram
  • 22. SDLC VS STLC. The left side of the model is Software Development Life Cycle - SDLC The right side of the model is Software Test Life Cycle - STLC The entire figure looks like a V, hence the name V - model Apart from V model, there are iterative development models, where development is carried in phases, with each phase adding a functionality to the software. Each phase comprises of its independent set of development and testing activities. Good examples of Development lifecycles following iterative method are Rapid Application Development, Agile Development.
  • 23. SDLC VS STLC CONTD. Here are the Key Terms again: SDLC: is Software Development Life Cycle. It is the sequence of activities carried out by Developers to design and develop high-quality software. Though SDLC uses the term ‘Development’, it does not involve just coding tasks done by developers but also incorporates the tasks contributed by testers and stakeholders. STLC: is Software Testing Life Cycle, they are list of corresponding test activities carried out by Software Testers to ensure quality of software developed.
  • 24. CONCLUSION • There are numerous development life cycle models. Development model selected for a project depends on the aims and goals of that project. • Testing is not a stand-alone activity, and it has to adapt the development model chosen for the project. • In any model, testing should performed at all levels i.e. right from requirements until maintenance.
  • 26. FEEDBACK SECTION • What is your Opinion about the choice of Software Testing as a Career Path? • Do you have any other reference apart from Software Development where you have needed to run a test in the past(Optional) • Do you know of any other company that may have failed in the past because of either improper testing or no testing of a product.
  • 27. WEEK 1 ASSIGNMENT Prepare a one-page write-up by comparing manual and automated testing. It must be submitted latest by 48 hours before the next class.