SlideShare a Scribd company logo
Testing, QA, and QC

Introduction to Testing, QA, and QC

1

Discovering the unexpected is more important than confirming the known.
What is Testing?

 Testing is the process of identifying defects, where a defect is any
variance between actual and expected results.
 Testing should intentionally attempt to make things go wrong to
determine if things happen when they shouldn't or things don't happen
when they should. It is oriented to 'detection'.

2

Discovering the unexpected is more important than confirming the known.
What is Software Testing?
 Software testing is a process used to identify the correctness,
completeness, and quality of developed computer software. It includes
a set of activities conducted with the intent of finding errors in software
so that it could be corrected before the product is released to the end
users.
 In simple words, software testing is an activity to check whether the
actual results match the expected results and to ensure that the software
system is defect free.

3

Discovering the unexpected is more important than confirming the known.
Why Software Testing?
To get adequate trust and confidence on the product.
To meet the Organizational Goals like meeting requirements, satisfied
customers, improved market share, zero defects, etc
Since the software can perform 100000 correct operations per second, it
has the same ability to perform 100000 wrong operations per second, if
not tested properly.
Testing is important because software bugs could be expensive or even
dangerous (See examples in the next slides.).

4

Discovering the unexpected is more important than confirming the known.
What is Quality Assurance (QA)?
Quality means consistently meeting user requirements in terms of cost,
delivery, schedule and service.
Quality Assurance involves the entire software development process.
Process is monitoring and improving the process, making sure that any
agreed-upon standards and procedures are followed, and ensuring that
problems are found and dealt with.
QA ensures that all parties concerned with the project adhere to the
process and procedures, standards and templates, and test readiness
reviews.
QA focus early in life cycle.
It is oriented to ‘prevention’.
5

Discovering the unexpected is more important than confirming the known.
What is Quality Control (QC)?
QC is a process by which entities review the quality of all factors
involved in production. This process places an emphases on 3 aspects
Elements such as job management, defined and well managed
processes, performance and integrity criteria etc.

Competence such as knowledge, skills, experience, and qualifications
etc.
Soft elements such as confidence, organization culture, motivation,
team spirit, and quality relationships etc.
QC ensures that the products or services that are provided to meet
specific requirements and characteristics, such as being dependable,
satisfactory, and safe.

6

Discovering the unexpected is more important than confirming the known.
QA versus QC
QA

QC

A planned and systematic set of activities
necessary to provide adequate confidence that
requirements are properly established and
products or services conform to specified
requirements.

The process by which product quality is
compared with applicable standards; and
the action taken when nonconformance is
detected.

An activity that establishes and evaluates the
processes to produce the products.

An activity which verifies if the product
meets pre-defined standards.

Helps establish process.

Helps implement the process.

Identifies weaknesses in processes and improves
them. Identifies defects for the primary purpose of
correcting defects.

Identifies defects for the primary purpose
of correcting defects.

QA is the responsibility of the entire team.

QC is the responsibility of the tester.

Prevents the introduction of issues or defects.

Detects, reports and corrects defects.

QA improves the process that is applied to multiple
products that will ever be produced by a process.

QC improves the development of a
specific product or service.

QA personnel should not perform quality control
unless doing it to validate quality control is
working.

QC personnel may perform quality
assurance tasks if and when required.

7

Discovering the unexpected is more important than confirming the known.
Some Software Failures

In UK in June of 2012 RBS/Natwest banking payment system crashed for
several days. This failure left millions of people unable to perform
transactions like Money has not been flowing into accounts after being
deposited, payrolls have been delayed, credit ratings downgraded, utility bills
not being met.
It’s the worst computer system outage the UK financial system has ever seen.
In Asia in July of 2011 reported that software bugs in a national
computerized testing and grading system resulted in incorrect test results for
tens of thousands of high school students. The national education ministry had
to reissue grade reports to nearly 2 million students nationwide.
A smart phone online banking application was reported in July 2010 to have
a security bug affecting more than 100,000 customers. Users were able to
upgrade to a newer software version that fixed the problem.

8

Discovering the unexpected is more important than confirming the known.
Some Software Failures
It was reported in August 2009 that a large suburban school district
introduced a new computer system that was 'plagued with bugs' and
resulted in many students starting the school year without schedules or
with incorrect schedules, and many problems with grades. Upset students
and parents started a social networking site for sharing complaints.
Software system problems at a large health insurance company in
August 2008 were the cause of a privacy breach of personal health
information for several hundred thousand customers, according to news
reports. It was claimed that the problem was due to software that 'was not
comprehensively tested'.

9

Discovering the unexpected is more important than confirming the known.
Some Software Failures
Tens of thousands of medical devices were recalled in March of 2007
to correct a software bug. According to news reports, the software
would not reliably indicate when available power to the device was too
low.
Etc.
All these problems and failures due to lack or ineffectiveness of
testing effort.

10

Discovering the unexpected is more important than confirming the known.
Successful Software Testing


It depends on how efficiently the Testing Process is integrated into
the Software Development Process.

11

Discovering the unexpected is more important than confirming the known.
Why does software have bugs?


Miscommunication or no communication - as to specifics of what an
application should or shouldn't do (the application's requirements).



Software complexity - the complexity of current software
applications can be difficult to comprehend for anyone without
experience in modern-day software development. Multi-tier
distributed systems, applications utilizing multiple local and remote
web services applications, data communications, enormous relational
databases, security complexities, and sheer size of applications have
all contributed to the exponential growth in software/system
complexity.



Programming Errors

12

Discovering the unexpected is more important than confirming the known.
Why does software have bugs?


Changing requirements (whether documented or undocumented) - the enduser may not understand the effects of changes, or may understand and
request them anyway - redesign, rescheduling of engineers, effects on other
projects, work already completed that may have to be redone or thrown out,
hardware requirements that may be affected, etc. If there are many minor
changes or any major changes, known and unknown dependencies among
parts of the project are likely to interact and cause problems, and the
complexity of coordinating changes may result in errors. Enthusiasm of
engineering staff may be affected. In some fast-changing business
environments, continuously modified requirements may be a fact of life. In
this case, management must understand the resulting risks, and QA and test
engineers must adapt and plan for continuous extensive testing to keep the
inevitable bugs from running out of control



Time pressures - scheduling of software projects is difficult at best, often
requiring a lot of guesswork. When deadlines loom and the crunch comes,
mistakes will be made.
13

Discovering the unexpected is more important than confirming the known.
Why does software have bugs?


Egos - people prefer to say things like:

•

No problem

•

It’s a piece of cake

•

I can whip that out in a few hours

•

It should be easy to update that old code

instead of:
•

That adds a lot of complexity and we could end up making a lot of mistakes

•

We have no idea if we can do that; we'll wing it'

•

I can't estimate how long it will take, until I take a close look at it

•

We can't figure out what that old spaghetti code did in the first
place' If there are too many unrealistic 'no problem's', the result
is bugs.
14

Discovering the unexpected is more important than confirming the known.
Why does software have bugs?


Poorly documented code - it's tough to maintain and modify code that is
badly written or poorly documented; the result is bugs. In many
organizations management provides no incentive for programmers to
document their code or write clear, understandable, maintainable code. In
fact, it's usually the opposite: they get points mostly for quickly turning out
code, and there's job security if nobody else can understand it ('if it was
hard to write, it should be hard to read').



Software development tools - visual tools, class libraries, compilers,
scripting tools, etc. often introduce their own bugs or are poorly
documented, resulting in added bugs.

Etc.

15

Discovering the unexpected is more important than confirming the known.
Approaches to Software Testing
There are different approaches to software testing.
• White Box and Black Box Testing
• Dynamic and Static testing

• Manual and Automated Testing
• Verification and validation Techniques
White Box Testing: This testing that takes into account the internal mechanism
of a system or component.
Example: Unit Testing
Black Box Testing: This testing that tests the functionality of an application as
opposed to its internal structures or workings.
Example: Functional Testing
Static Testing: In this testing software code will be examined without being
executed
Example: Code Inspections, Reviews, Walk-through etc.
Discovering the unexpected is more important than confirming the known.

16
Reviews and Walkthrough
 Walk-through: It will be conducted informal, usually conducted by the
members of the group which will include the author. It’s main purpose is
understanding. Usually, little or no preparation is required.
Example: Improving Programming Logic, Design approach, Test case steps,
Test scenarios etc.
 Reviews: It is similar to Walk-through, conducted formal by a group of
persons (author need not be one among them) look for errors, mistaken
assumptions, lack of clarity and deviation from standard practice. It’s main
purpose is decision making.
Example: Review of Business Requirements, Test Plans, Process Improve
documents, Project Plans etc. and make go or no go decisions.
 Inspection: A formal individual and group checking using standards as per
defined rules and procedures. It’s main purpose is find defects.
Example: Inspect Organization policies, User manuals & procedures etc.
17

Discovering the unexpected is more important than confirming the known.
Approaches to Software Testing
Dynamic Testing: In this testing software code will be executed and tested without
necessarily being examined.
Example: Black Box testing
Manual Testing:
Manual testing is the process of manually testing software for defects. It requires
Testers manually execute test cases without using any automation tools.

Automation Testing:

Automation Testing means using an automation tool to execute your test case
suite. The automation software can also enter test data into the System Under
Test , compare expected and actual results and generate detailed test reports.

18

Discovering the unexpected is more important than confirming the known.
Approaches to Software Testing
Verification: It is a process of determining whether output of one phase of
development conforms to its previous phase.
It is a set of activities carried out to check whether we are ‘building the system
right’.

Verification is concerned with phase containment of errors
Example: Set of white box testing activities.
Validation: It is a process of determining whether a fully developed system
conforms to its Software Requirement Specification (SRS) document.
It is a set activities carried out to check whether we are ‘building the right system’.
Validation is concerned about the final product to be error free.
Example: Set of black box testing activities.

19

Discovering the unexpected is more important than confirming the known.

More Related Content

What's hot

Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Taufik hidayat
 
Agile Practices Proven in Highly Regulated Environments by Craig Langenfeld
Agile Practices Proven in Highly Regulated Environments by Craig LangenfeldAgile Practices Proven in Highly Regulated Environments by Craig Langenfeld
Agile Practices Proven in Highly Regulated Environments by Craig Langenfeld
Agile Software Community of India
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Risun Hidayat
 
Scrum and Compliance (2013)
Scrum and Compliance (2013)Scrum and Compliance (2013)
Scrum and Compliance (2013)
Laszlo Szalvay
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Rudy Setiawan
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Husnul Habib
 
Fundamentals of testing aldi
Fundamentals of testing aldiFundamentals of testing aldi
Fundamentals of testing aldi
aldi aulia
 
Fundamentals of Testing
Fundamentals of TestingFundamentals of Testing
Fundamentals of Testing
mentary fransiska
 
Sleep Better at Night - Release Confidence Metrics
Sleep Better at Night - Release Confidence MetricsSleep Better at Night - Release Confidence Metrics
Sleep Better at Night - Release Confidence Metrics
thatqaguy
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
jothisekaran
 
Thought frameworks brochure
Thought frameworks brochureThought frameworks brochure
Thought frameworks brochure
Swetha Muthu
 
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMA RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
ijseajournal
 
SolarWinds Application Performance End User Survey (Australia)
SolarWinds Application Performance End User Survey (Australia)SolarWinds Application Performance End User Survey (Australia)
SolarWinds Application Performance End User Survey (Australia)
SolarWinds
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experienced
zynofustechnology
 
SolarWinds Application Performance End User Survey (Denmark)
SolarWinds Application Performance End User Survey (Denmark)SolarWinds Application Performance End User Survey (Denmark)
SolarWinds Application Performance End User Survey (Denmark)
SolarWinds
 
Solar winds appstack public sector
Solar winds appstack public sectorSolar winds appstack public sector
Solar winds appstack public sectorSolarWinds
 
Fundamentals of testing jef (1)
Fundamentals of testing jef (1)Fundamentals of testing jef (1)
Fundamentals of testing jef (1)
jefri_antoni
 
IT Security - TestArmy
IT Security - TestArmy IT Security - TestArmy
IT Security - TestArmy
TestArmy
 

What's hot (19)

Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Agile Practices Proven in Highly Regulated Environments by Craig Langenfeld
Agile Practices Proven in Highly Regulated Environments by Craig LangenfeldAgile Practices Proven in Highly Regulated Environments by Craig Langenfeld
Agile Practices Proven in Highly Regulated Environments by Craig Langenfeld
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Scrum and Compliance (2013)
Scrum and Compliance (2013)Scrum and Compliance (2013)
Scrum and Compliance (2013)
 
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 aldi
Fundamentals of testing aldiFundamentals of testing aldi
Fundamentals of testing aldi
 
Fundamentals of Testing
Fundamentals of TestingFundamentals of Testing
Fundamentals of Testing
 
Sleep Better at Night - Release Confidence Metrics
Sleep Better at Night - Release Confidence MetricsSleep Better at Night - Release Confidence Metrics
Sleep Better at Night - Release Confidence Metrics
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Thought frameworks brochure
Thought frameworks brochureThought frameworks brochure
Thought frameworks brochure
 
Thought_Frameworks_Brochure
Thought_Frameworks_BrochureThought_Frameworks_Brochure
Thought_Frameworks_Brochure
 
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEMA RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
A RELIABLE AND AN EFFICIENT WEB TESTING SYSTEM
 
SolarWinds Application Performance End User Survey (Australia)
SolarWinds Application Performance End User Survey (Australia)SolarWinds Application Performance End User Survey (Australia)
SolarWinds Application Performance End User Survey (Australia)
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experienced
 
SolarWinds Application Performance End User Survey (Denmark)
SolarWinds Application Performance End User Survey (Denmark)SolarWinds Application Performance End User Survey (Denmark)
SolarWinds Application Performance End User Survey (Denmark)
 
Solar winds appstack public sector
Solar winds appstack public sectorSolar winds appstack public sector
Solar winds appstack public sector
 
Fundamentals of testing jef (1)
Fundamentals of testing jef (1)Fundamentals of testing jef (1)
Fundamentals of testing jef (1)
 
IT Security - TestArmy
IT Security - TestArmy IT Security - TestArmy
IT Security - TestArmy
 

Similar to 3. introduction to software testing

Fundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & ImplementationsFundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & Implementations
yogi syafrialdi
 
Bab 1
Bab 1Bab 1
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Evi Yandri
 
Lesson 8...Question Part 2
Lesson 8...Question Part 2Lesson 8...Question Part 2
Lesson 8...Question Part 2
bhushan Nehete
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
argawanda
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
argawanda
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Rudy Setiawan
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
novranrafindo
 
Fundamentals of testing (1)
Fundamentals of testing (1)Fundamentals of testing (1)
Fundamentals of testing (1)Aziz Chikhly
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
hasbi sidiq
 
Career Choice for Graduates
Career Choice for GraduatesCareer Choice for Graduates
Career Choice for Graduates
CleanSoft Academy
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
As Fazli
 
Fundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary CandraFundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary Candra
And11ka
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
Journal For Research
 
ISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptx
rajkamalv
 
Mobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdfMobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdf
Puran Mehra
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Emi Rizki Ayunanda
 
Software testing lecture notes
Software testing  lecture notesSoftware testing  lecture notes
Software testing lecture notes
TEJVEER SINGH
 
Fundamentals of testing (what is testing necessary)
Fundamentals of testing (what is testing necessary)Fundamentals of testing (what is testing necessary)
Fundamentals of testing (what is testing necessary)
helfa safitri
 
fundamentals of testing (Fundamental of testing why)
fundamentals of testing (Fundamental of testing why)fundamentals of testing (Fundamental of testing why)
fundamentals of testing (Fundamental of testing why)
diana fitri, S.Kom
 

Similar to 3. introduction to software testing (20)

Fundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & ImplementationsFundamentals of testing - Testing & Implementations
Fundamentals of testing - Testing & Implementations
 
Bab 1
Bab 1Bab 1
Bab 1
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Lesson 8...Question Part 2
Lesson 8...Question Part 2Lesson 8...Question Part 2
Lesson 8...Question Part 2
 
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
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing (1)
Fundamentals of testing (1)Fundamentals of testing (1)
Fundamentals of testing (1)
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Career Choice for Graduates
Career Choice for GraduatesCareer Choice for Graduates
Career Choice for Graduates
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary CandraFundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary Candra
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
 
ISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptx
 
Mobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdfMobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdf
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Software testing lecture notes
Software testing  lecture notesSoftware testing  lecture notes
Software testing lecture notes
 
Fundamentals of testing (what is testing necessary)
Fundamentals of testing (what is testing necessary)Fundamentals of testing (what is testing necessary)
Fundamentals of testing (what is testing necessary)
 
fundamentals of testing (Fundamental of testing why)
fundamentals of testing (Fundamental of testing why)fundamentals of testing (Fundamental of testing why)
fundamentals of testing (Fundamental of testing why)
 

Recently uploaded

TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 

Recently uploaded (20)

TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 

3. introduction to software testing

  • 1. Testing, QA, and QC Introduction to Testing, QA, and QC 1 Discovering the unexpected is more important than confirming the known.
  • 2. What is Testing?  Testing is the process of identifying defects, where a defect is any variance between actual and expected results.  Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn't or things don't happen when they should. It is oriented to 'detection'. 2 Discovering the unexpected is more important than confirming the known.
  • 3. What is Software Testing?  Software testing is a process used to identify the correctness, completeness, and quality of developed computer software. It includes a set of activities conducted with the intent of finding errors in software so that it could be corrected before the product is released to the end users.  In simple words, software testing is an activity to check whether the actual results match the expected results and to ensure that the software system is defect free. 3 Discovering the unexpected is more important than confirming the known.
  • 4. Why Software Testing? To get adequate trust and confidence on the product. To meet the Organizational Goals like meeting requirements, satisfied customers, improved market share, zero defects, etc Since the software can perform 100000 correct operations per second, it has the same ability to perform 100000 wrong operations per second, if not tested properly. Testing is important because software bugs could be expensive or even dangerous (See examples in the next slides.). 4 Discovering the unexpected is more important than confirming the known.
  • 5. What is Quality Assurance (QA)? Quality means consistently meeting user requirements in terms of cost, delivery, schedule and service. Quality Assurance involves the entire software development process. Process is monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. QA ensures that all parties concerned with the project adhere to the process and procedures, standards and templates, and test readiness reviews. QA focus early in life cycle. It is oriented to ‘prevention’. 5 Discovering the unexpected is more important than confirming the known.
  • 6. What is Quality Control (QC)? QC is a process by which entities review the quality of all factors involved in production. This process places an emphases on 3 aspects Elements such as job management, defined and well managed processes, performance and integrity criteria etc. Competence such as knowledge, skills, experience, and qualifications etc. Soft elements such as confidence, organization culture, motivation, team spirit, and quality relationships etc. QC ensures that the products or services that are provided to meet specific requirements and characteristics, such as being dependable, satisfactory, and safe. 6 Discovering the unexpected is more important than confirming the known.
  • 7. QA versus QC QA QC A planned and systematic set of activities necessary to provide adequate confidence that requirements are properly established and products or services conform to specified requirements. The process by which product quality is compared with applicable standards; and the action taken when nonconformance is detected. An activity that establishes and evaluates the processes to produce the products. An activity which verifies if the product meets pre-defined standards. Helps establish process. Helps implement the process. Identifies weaknesses in processes and improves them. Identifies defects for the primary purpose of correcting defects. Identifies defects for the primary purpose of correcting defects. QA is the responsibility of the entire team. QC is the responsibility of the tester. Prevents the introduction of issues or defects. Detects, reports and corrects defects. QA improves the process that is applied to multiple products that will ever be produced by a process. QC improves the development of a specific product or service. QA personnel should not perform quality control unless doing it to validate quality control is working. QC personnel may perform quality assurance tasks if and when required. 7 Discovering the unexpected is more important than confirming the known.
  • 8. Some Software Failures In UK in June of 2012 RBS/Natwest banking payment system crashed for several days. This failure left millions of people unable to perform transactions like Money has not been flowing into accounts after being deposited, payrolls have been delayed, credit ratings downgraded, utility bills not being met. It’s the worst computer system outage the UK financial system has ever seen. In Asia in July of 2011 reported that software bugs in a national computerized testing and grading system resulted in incorrect test results for tens of thousands of high school students. The national education ministry had to reissue grade reports to nearly 2 million students nationwide. A smart phone online banking application was reported in July 2010 to have a security bug affecting more than 100,000 customers. Users were able to upgrade to a newer software version that fixed the problem. 8 Discovering the unexpected is more important than confirming the known.
  • 9. Some Software Failures It was reported in August 2009 that a large suburban school district introduced a new computer system that was 'plagued with bugs' and resulted in many students starting the school year without schedules or with incorrect schedules, and many problems with grades. Upset students and parents started a social networking site for sharing complaints. Software system problems at a large health insurance company in August 2008 were the cause of a privacy breach of personal health information for several hundred thousand customers, according to news reports. It was claimed that the problem was due to software that 'was not comprehensively tested'. 9 Discovering the unexpected is more important than confirming the known.
  • 10. Some Software Failures Tens of thousands of medical devices were recalled in March of 2007 to correct a software bug. According to news reports, the software would not reliably indicate when available power to the device was too low. Etc. All these problems and failures due to lack or ineffectiveness of testing effort. 10 Discovering the unexpected is more important than confirming the known.
  • 11. Successful Software Testing  It depends on how efficiently the Testing Process is integrated into the Software Development Process. 11 Discovering the unexpected is more important than confirming the known.
  • 12. Why does software have bugs?  Miscommunication or no communication - as to specifics of what an application should or shouldn't do (the application's requirements).  Software complexity - the complexity of current software applications can be difficult to comprehend for anyone without experience in modern-day software development. Multi-tier distributed systems, applications utilizing multiple local and remote web services applications, data communications, enormous relational databases, security complexities, and sheer size of applications have all contributed to the exponential growth in software/system complexity.  Programming Errors 12 Discovering the unexpected is more important than confirming the known.
  • 13. Why does software have bugs?  Changing requirements (whether documented or undocumented) - the enduser may not understand the effects of changes, or may understand and request them anyway - redesign, rescheduling of engineers, effects on other projects, work already completed that may have to be redone or thrown out, hardware requirements that may be affected, etc. If there are many minor changes or any major changes, known and unknown dependencies among parts of the project are likely to interact and cause problems, and the complexity of coordinating changes may result in errors. Enthusiasm of engineering staff may be affected. In some fast-changing business environments, continuously modified requirements may be a fact of life. In this case, management must understand the resulting risks, and QA and test engineers must adapt and plan for continuous extensive testing to keep the inevitable bugs from running out of control  Time pressures - scheduling of software projects is difficult at best, often requiring a lot of guesswork. When deadlines loom and the crunch comes, mistakes will be made. 13 Discovering the unexpected is more important than confirming the known.
  • 14. Why does software have bugs?  Egos - people prefer to say things like: • No problem • It’s a piece of cake • I can whip that out in a few hours • It should be easy to update that old code instead of: • That adds a lot of complexity and we could end up making a lot of mistakes • We have no idea if we can do that; we'll wing it' • I can't estimate how long it will take, until I take a close look at it • We can't figure out what that old spaghetti code did in the first place' If there are too many unrealistic 'no problem's', the result is bugs. 14 Discovering the unexpected is more important than confirming the known.
  • 15. Why does software have bugs?  Poorly documented code - it's tough to maintain and modify code that is badly written or poorly documented; the result is bugs. In many organizations management provides no incentive for programmers to document their code or write clear, understandable, maintainable code. In fact, it's usually the opposite: they get points mostly for quickly turning out code, and there's job security if nobody else can understand it ('if it was hard to write, it should be hard to read').  Software development tools - visual tools, class libraries, compilers, scripting tools, etc. often introduce their own bugs or are poorly documented, resulting in added bugs. Etc. 15 Discovering the unexpected is more important than confirming the known.
  • 16. Approaches to Software Testing There are different approaches to software testing. • White Box and Black Box Testing • Dynamic and Static testing • Manual and Automated Testing • Verification and validation Techniques White Box Testing: This testing that takes into account the internal mechanism of a system or component. Example: Unit Testing Black Box Testing: This testing that tests the functionality of an application as opposed to its internal structures or workings. Example: Functional Testing Static Testing: In this testing software code will be examined without being executed Example: Code Inspections, Reviews, Walk-through etc. Discovering the unexpected is more important than confirming the known. 16
  • 17. Reviews and Walkthrough  Walk-through: It will be conducted informal, usually conducted by the members of the group which will include the author. It’s main purpose is understanding. Usually, little or no preparation is required. Example: Improving Programming Logic, Design approach, Test case steps, Test scenarios etc.  Reviews: It is similar to Walk-through, conducted formal by a group of persons (author need not be one among them) look for errors, mistaken assumptions, lack of clarity and deviation from standard practice. It’s main purpose is decision making. Example: Review of Business Requirements, Test Plans, Process Improve documents, Project Plans etc. and make go or no go decisions.  Inspection: A formal individual and group checking using standards as per defined rules and procedures. It’s main purpose is find defects. Example: Inspect Organization policies, User manuals & procedures etc. 17 Discovering the unexpected is more important than confirming the known.
  • 18. Approaches to Software Testing Dynamic Testing: In this testing software code will be executed and tested without necessarily being examined. Example: Black Box testing Manual Testing: Manual testing is the process of manually testing software for defects. It requires Testers manually execute test cases without using any automation tools. Automation Testing: Automation Testing means using an automation tool to execute your test case suite. The automation software can also enter test data into the System Under Test , compare expected and actual results and generate detailed test reports. 18 Discovering the unexpected is more important than confirming the known.
  • 19. Approaches to Software Testing Verification: It is a process of determining whether output of one phase of development conforms to its previous phase. It is a set of activities carried out to check whether we are ‘building the system right’. Verification is concerned with phase containment of errors Example: Set of white box testing activities. Validation: It is a process of determining whether a fully developed system conforms to its Software Requirement Specification (SRS) document. It is a set activities carried out to check whether we are ‘building the right system’. Validation is concerned about the final product to be error free. Example: Set of black box testing activities. 19 Discovering the unexpected is more important than confirming the known.