Sei sulla pagina 1di 25

Software Testing!!!

BY
Safia Sultana
Software Testing

Lecture # 2

2 10/28/2019
Introduction
Intro to Testing
Why it is important
Bugs/Problems
Bugs Occurrence
Cost of Bugs
What Software Testers are for?
Summary
Intro to Testing
Definitions
 Testing is the process of evaluating a system or its

component(s) with the intent to find whether it


satisfies the specified requirements or not.

 testing is executing a system in order to identify any


gaps, errors, or missing requirements in contrary
to the actual requirements.

 Product runs in real world without any ERRORs,


BUGs.
Continue…..
According to ANSI/IEEE 1059
standard, Testing can be defined as
 A process of
 Analyzing a software item to detect the
differences between existing and required
conditions (that is defects/errors/bugs)

 And to evaluate the features of the software


item.
Why do we test?
Provide confidence in the system
Identify areas of weakness
Establish the degree of quality
Establish the extent that the requirements have
been met, i.e. what the users asked for is what
they got not what someone else though they
wanted
To provide an understanding of the overall
system
To prove it is both usable and operable
To provide sufficient information to allow an
objective decision on applicability to deploy
Another view
To use up spare budget
To provide a good excuse why the project is
late
To provide jobs for people who can’t code
To make the developers look good
To provide the project manager with some
contingency in the plan and can be cut if
push come to shove!
Who does Testing?
Depends on the process and the associated
stakeholders of the project(s)
 Large companies have a team with
responsibilities to evaluate the developed software
in context of the given requirements.
developers also conduct testing which is called
Unit Testing
 Software Tester

 Software Developer

 Project Lead/Manager

 End User
Why it is Important?

You are know the ANSWER!!!


(Give examples at least 1 by each
student)
When to Start Testing?
Testing can be started from the Requirements
Gathering phase and continued till the
deployment
Early start to testing
 Reduces the cost

 And time to rework and produce error-free


software
Depends on the development model
When to Start Testing?
Example:
 In the Waterfall model, formal testing is conducted in the

testing phase
 In the incremental model, testing is performed at the end
of every increment/iteration and the whole application
is tested at the end.
Testing is done in different forms at every phase of
SDLC:
 During the requirement gathering phase
 In the design phase with the intent to improve the design

 On completion of the code is also categorized as testing


When to Stop Testing?
Difficult to determine when to stop testing
Testing is a never-ending process and no one can
claim that a software is 100% tested.
aspects are to be considered for stopping the
testing process
 Testing Deadlines
 Completion of test case execution

 Completion of functional and code coverage to a certain

point
 Bug rate falls below a certain level and no high-priority
bugs are identified
 Management decision
How much?
How good does the product need to be?
 How do we measure it?

 How do we make a decision?

Are there any legal or compliance issues?


 What industry are you in?

What will it cost?


 Time and resource [human and machine]

Are we capable?
 We know what we need to do but can we do it?
How do we decide?
What matters to our users?
 What does the system do?
 Risk

 Requirements

 Money

Test Techniques - Coverage


 Static
 Dynamic
What sort?
Unit
Interface
Functionality
Performance
Usability
Security
Availability
Operability
Do we need tools to help?
Automated test tools are often seen as a silver bullet

Some tests cannot be successfully executed or analysed


without them

80% of test tools end up as shelfware through:


 Abandonment
 Neglect
 Banishment
Are we capable of testing?
Is an experienced tester better than
an experienced user at finding faults?
How can testers help themselves and
users?
 Working with the users to understand
their systems
 Providing testing skills transfer

 Attending testing industry conferences

 Attaining industry recognised software


testing qualifications
Bugs/Problems
A software bug is an error,
flaw, failure or fault in a computer
program or system that causes it to produce an
incorrect or unexpected result, or to behave in
unintended ways.
Bugs Occurrence
Software bug occurs when one or more of the following five
rules is true:
The software doesn't do something that the product
specification says it should do.
The software does something that the product specification
says it shouldn't do.
The software does something that the product specification
doesn't mention.
The software doesn't do something that the product
specification doesn't mention but should.
The software is difficult to understand, hard to use, slow, the
software tester's eyes will be viewed by the end user as just
plain not right.
Cost of Bugs
The higher you Go the higher the cost Gets.
What STs are for?
The goal of a software tester is to find bugs.

Early as Possible!!!

Find & Fix?


Qualities of Software Tester
 They are explorers.

 They are troubleshooters.

 They are creative.

 They are perfectionists.

 They exercise good judgment.

 They are tactful and diplomatic.

 They are persuasive.


Key Terms
Software testing importance
Real life failures of ST
Qualities of Software Tester
Summary
 Software testing is a critical job. With the size and complexity of today's
software, it's imperative that software testing be performed professionally
and effectively. Too much is at risk. We don't need more defective computer
chips, crashed systems, or stolen credit card numbers.

Potrebbero piacerti anche