0% found this document useful (0 votes)
14 views

1.1 Intro & Necessity of Testing

The document discusses software testing as a career and provides information about roles in software testing, the fundamentals and purpose of testing, and why testing is necessary to improve quality and reduce risks.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

1.1 Intro & Necessity of Testing

The document discusses software testing as a career and provides information about roles in software testing, the fundamentals and purpose of testing, and why testing is necessary to improve quality and reduce risks.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 38

SRI KRISHNA COLLEGE OF ENGINEERING AND TECHNOLOGY

Kuniamuthur, Coimbatore, Tamilnadu, India


An Autonomous Institution, Affiliated to Anna University,
Accredited by NAAC with “A” Grade & Accredited by NBA (CSE, ECE, IT, MECH ,EEE, CIVIL& MCT)

SOFTWARE TESTING

www.skcet.ac.in
“As ironic as it seems, the challenge of a
tester is to test as little as possible. Test
less but test smarter”

-Federico Toledo
Are you aiming to become an IT Professional?
But not interested in Coding?

??????
But still…..
Software Testing as a Career

Jayashree Natarajan,
Global Head
Tata Consultancy Services

Dan Belcher,
Co- founder,
Mabl
Wanted to be one among these?
● Test Engineer

● Quality Analyst.

● Testing Analyst.

● Automation Engineer.

● Test Architect.
Industrial Opportunities

……. and
many more
Fundamentals of Testing

Why testing is necessary - Harm caused by


defects in software - Root causes - Testing
and quality assurance - What testing is -
General testing principles - Fundamental test
process and the psychology of testing.
What is the
purpose of
testing?
Testing is a
process to
identify bugs in a
software code…
Software Development Cost
The Testing Process
Introduction to Software Testing?

● “Software testing is a process of executing a program or

application with the intent of finding the software bugs”.

● It can also be stated as “the process of validating and verifying that

a software program or application or product”.

● “Discipline concern with detecting and reporting the current

behavior of the software system is called software performance

testing”.
Software Testing
● “Testing is a process to detect defect in any product in order to
reduce various risks associated with the product and improve the
quality of it”.

● “Discipline concern with detecting and reporting the current behavior


of the application”.

16
Impacts of Software Defects
● In the 21st Century Computers and Software Systems are

pervasive

● Many loss of missions and lives were caused by failure of

software systems

● American Airlines lost 100 million $ in a year due to error in

“Software for excess booking”

● Starting from Apollo 13 space vehicle many space missions failed

only due to software defects


Causes
● A human being can commit an error (mistake), which causes a defect (fault,

bug) in the code, in software or a system, or in a document.

● If a defective code is executed, the system will fail to do what it should do (or

do something it shouldn’t), causing a failure.

● Defects occur because human beings are fallible and because there is time

pressure, complex code, complexity of infrastructure, changing technologies.

● Failures in the hardware can be caused by environmental conditions

(temperature, humidity, air pressure etc.) as well.


Why Testing?
● Rigorous and systematic testing of systems and documentation can help

to

◦ reduce the risk of problems occurring

during operation

◦ contribute to the quality and reliability of the software system, if

defects found are corrected before the system is released for

operational use.

● Software testing may also be required to meet contractual or legal

requirements, or industry-specific standards.


Factors On test:

● “The probability of the existence of more errors in a section of a program

is proportional to the number of errors already found in that program”

● “Do not plan a test effort under the tacit assumption that no errors will be

found”

● “A good test is one that has a high probability of detecting an as yet

undiscovered error”

● “A successful test is one that detects an as-yet undiscovered error.


Necessity of Testing
* Testing is necessary because human being make mistakes. Some of those mistakes

are unimportant, but some of them are expensive or dangerous. So we are in position

to take care that such mistakes are caught well in advance before deploying the

system/software in production environment.

* Who to check? Bad Assumptions and Blind Spots; Basically the flaws may not be

identified clearly by the persons who made it. Ideally, someone else to check our work

- another person is more likely to spot the flaws.


The Term “Testing”

Software Performance
Testing
In Everyday life:
'when we are testing
something we are
checking whether it is
OK'.

22
What if not tested?
THINK A BIT
● What is an error (mistake), bug(fault) and a
failure??
● Bug: A flaw in a component or system that can cause the component or

system to fail to perform its required function, e.g. an incorrect statement or

data definition.

Bug is a generic term for error, fault, failure.

● Error (Mistakes): A human action that produces an incorrect result.

● Fault (Defect): Manifestation of an error in software

◦ also known as a defect or bug

◦ if executed, a fault may cause a failure

● Failure: Deviation of the software from its expected delivery or service


Failure is an event; fault is a state of
the software, caused by an error
Error - Fault - Failure

A person makes
an error ...


that creates a
fault in the
software ...

… that can cause


a failure
in operation
Verification and Validation
Verification Validation
Are we building the product right? Are we building the right product?

Ensures that the software system meets Ensures that the functionalities meet the
all the functionality. intended behavior.

Verification takes place first and Validation occurs after verification and
includes the checking for mainly involves the checking of the
documentation, code, etc overall product.

Done by developers. Done by testers.

It has static activities, as it includes It has dynamic activities, as it includes


collecting reviews, walkthroughs, and executing the software against the
inspections to verify a software. requirements.
The Term “Debugging”

* “The process of finding, analyzing and removing

the causes of failures in software”.

2
Why is testing necessary?
● Software systems context
● Define errors/mistake, faults, failures and reliability
● Errors and how they occur,
● Cost of errors
● Exhaustive testing is impossible
● Testing and risk
● Testing and quality
● Testing and contractual, legal, regulatory
requirements
● How much testing is enough
* Software testing is very important because of the following
reasons:
1. Software testing is really required to point out the defects
and errors that were made during the development
phases.
2. It’s essential since it makes sure of the Customer’s
reliability and their satisfaction in the application.
3. It is very important to ensure the Quality of the product. 
Quality product delivered to the customers helps in
gaining their confidence.
Cntd
4. It’s important to ensure that the application should
not result into any failures because it can be very
expensive in the future or in the later stages of the
development.
5. It’s important because cost of an error can vary from
nothing at all to large amounts of money and even
loss of life .
Software Systems context
● Software systems are an increasing part of life, from business

applications to healthcare systems to consumer products etc…

● Software that does not work correctly can lead to many problems

including loss of money, time or business reputation, and could

even cause injury or death.


Errors and How they occur

• Can be introduced at any stage of SDLC

• We are all prone to making simple human errors

• Miscommunication, Poor requirements

• Working under pressures such as tight deadlines, budget

restrictions, conflicting priorities

• Complexity of technologies / infrastructure

• Poorly documented code

• Due to environmental conditions


Cost of Errors

●May vary from nothing at all to large amount of money loss and
even loss of life.

●A single failure can cost nothing or a lot. Software in safety-


critical systems can cause death or injury if it fails.

Ex:
● Online trading systems: $100,000 per minute revenue loss
Testing and Risk
● Testing is a risk reduction process

● “ The amount of testing performed depends on the risks


involved ( Failure / Loss)

● A risk is something that has not happened yet and it may


never happen; it is a potential problem

● A priority must be assigned to each test so that most


important tests are run first.

● The objective is to always “ minimize risk”


Testing increases software quality

“ Testing identifies faults and whose removal increases software quality


by increasing the software’s potential reliability “.

Testing is the measurement of software quality

“ We measure how closely we have achieved quality by testing the


relevant factors such as Correctness, Reliability, Usability,
Maintainability etc.”
Material Links
Video lectures

You might also like