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

Introduction To Software Testing

The document discusses software testing, including why it is necessary, common causes of software defects, and skills needed for testing. Testing is done to find defects, verify requirements, and ensure quality. Defects can occur from errors in requirements, complexity, or changing needs. Rigorous testing reduces risks and increases quality.

Uploaded by

Conrad
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Introduction To Software Testing

The document discusses software testing, including why it is necessary, common causes of software defects, and skills needed for testing. Testing is done to find defects, verify requirements, and ensure quality. Defects can occur from errors in requirements, complexity, or changing needs. Rigorous testing reduces risks and increases quality.

Uploaded by

Conrad
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Introduction To

Software Testing
Testing What’s That?
This is an easily answered question and something that we do
in every day life without thought. But before we go into this, lets
have a nice HOT cup of TEA!
Tea Making Process
Not what you thought eh? Let’s take a look at the Tea making
process and some of the requirements, checks and tests that
we do every day without a second thought.

The process of making tea for a number of visitors can be


broken down into a number of sub-processes.
These are:

 Gathering Information on Requirements – sugar, milk etc.

 Preparation – making sure the appropriate components and


hardware are available - cup, kettle, water etc.

 Distribution – ensuring that each drink ends up with the right


person
Testing within the Tea making
process
If you want to avoid this …..

…. Then it is important to ensure that appropriate checks and


tests are done before and during the process of making and
delivering the tea
Testing Tea making process
So what preparation checks do we want to do?

• Ensure that there are no cracks in the cup

• Ensure that the handle on the cup is not loose

• Ensure that the water has boiled


Testing Tea making process
• Check that the milk has not gone sour in order to avoid
Curdling

Take five minuets to write down other things that you might
want to check during the tea making process
Testing What’s That?
So, following the correct process and performing the
appropriate tests or checks leads to an enjoyable experience ..
A Lovely CUP OF TEA.

So, the reason we tested in this instance was:


• For safety
• To verify that we had met our visitors requirements
• To ensure that the Tea we made was fit for purpose

Right! enough of that, let us have a look at testing in the


Software environment
Fundamentals of testing
The inevitable existence of defects (errors) in software makes
testing necessary. Defect detection and removal can be seen
as the cornerstone of testing, but the overall objectives include:

• Risk measurement
• Risk reduction
• Confidence building

Testers need to know how defects occur because as testers we


must detect these defects. Only by understanding our quarry,
can we prepare effective ways (strategies) to detect them.
Costly Software Failures

Most people have had an experience with software that did not
work as expected. Software that does not work correctly can
lead to many problems, including:

• Loss of money
• Time or business reputation
• Injury or even death
Historical Costly Software
Failures
NIST report, “The Economic Impacts of inadequate Infrastructure for
Software Testing” (2002)
 Inadequate software testing costs the US alone between $22 and
$59 billion annually
 Better approaches could cut this amount in half

• Symantec says that most security vulnerabilities are due to faulty


software

• NASA’s Mars lander: September 1999, crashed due to a units


integration fault

• Ariane 5 explosion, Mars Polar Lander Pentium FDIV bug


Why testing is necessary
Software systems are an increasing part of life, from business
applications (e.g. Insurance, banking) to consumer products
(e.g. cars). Most people have an experience with software that
did not work as expected.
We conduct testing to:
Learn what a system does or how it behaves
• Assess the quality of a system
• Ensure that a system performs as required
• Demonstrate to the user that a system conforms to
requirements
• Demonstrate to the user that the system matches what they
ordered
Causes of software defects

We test to find a as many defects as we can, to ensure that we


deliver a high quality product with a minimum of defects.
The term “Bug” generally refers to a problem in the software. It
does not have a specific meaning and sometimes we use it
subconsciously to deflect the blame or deflect away from the
real source.
A human being can make an error (mistake), which produces a
defect (defect, bug) in the code in software or a system, or in a
document.
Causes of software defects –
Example 1

The year will probably


Analyst always begin with 19
makes an
error.

Your account is
……. 36,535 days past due.
Payment Char (2); Please pay now to
…….
avoid another late fee
£38,731

The Analyst error becomes a fault The fault may cause a


in software failure at runtime

As depicted above, the analyst makes an error of assuming,


that the year will always begin with 19. This in turn leads to an
error of defining the date as a char(2) field. Hence there occurs
a failure while computing the difference.
Causes of software defects
Computer system may fail due to one or many of the following
reasons:
• Communication or miscommunication – about what an
application does (application requirements)
• Software Complexity – Multi-tiered applications, client-server
and distributed application relational databases and sheer size
of applications have contributed to exponential growth
• Programming errors
• Changing Requirements
• Time Pressures
• Egos
• Poorly documented code
• Environmental conditions
Testing and Quality

Rigorous testing of systems and documentation can help to


reduce the risk of problems occurring in an operational
environment and contribute to the quality of software systems.
Software testing may also be required to meet contractual or
legal requirements, or industry-specific standards.
Testing is done to:
• Verify that it satisfies specified requirements
• Identify differences between expected and actual results
• Determine that it meets required results
• Measure software quality
Testing and Quality

Testing can give confidence in the quality of the software if it


finds few or no defects. A properly designed test that passes
reduces the overall level of risk in a system. When testing does
find defects, the quality of the software system increases when
those defects are fixed.
Tester Skills and Attributes
So what makes a good test organisation? Well, Lets
see:

The brains of the finest to outsmart their design and ferret


out the bugs

The enthusiasm of a wagging tail ... To keep spirits high


even when software crashes and the deadline is close

The Sharpe eyes of an eagle ... To find GUI problems that


will annoy users to the point of distraction.
Tester Skills and Attributes
The Nose of a bloodhound ... To boldly go into even the
smelliest of software to make it safe for humanity

The bravery of a lion .... To face hostile eyes and still


present the awful truth

The skin of a rhino .. To shake off barbs and comments

The empathy of a Labrador .... To feel the pain of the


customer who has to use the software every day
Testing and You
Change Delivery IT and Resourcing [CDT/IT] operate
governance framework of end to end quality assurance and are
currently reviewing and improving processes and procedures in
order to maintain proven success. CDT/IT operate as gate
keepers for production environments to ensure that fit for
purpose components are delivered at each stage.

Your experience gained within the organisation will help in


delivering this competency by leveraging the skills you have
and the knowledge you have gained within your business unit.
Testing and You
So, How can I help?

Testing covers many area’s from End User Test (UAT) to


detailed product knowledge test. We also cover the testing of
processes and Documentation.
You will have developed key skills in these area’s and have
developed a good understanding of business process within
your company. We see these skills as vital part of testing
activity.
Of course you will develop new skills and ongoing
mentoring, training and support to further develop your test
skills.

You might also like