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

13 Software Testing - Fundamentals, Module 3-12-09 2024

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

13 Software Testing - Fundamentals, Module 3-12-09 2024

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

Software Testing

Module No. 3
Software Testing – Introduction
Software Testing
• Computer programs are designed and developed by human beings and
hence are prone to errors.

• Unchecked, they can lead to a lot of problems, including social


implications.

• Testing the software becomes an essential part of the software


development lifecycle.

• Carrying out the testing activities for projects has to be practiced


with proper planning and must be implemented correctly.
Testing
• One of the practical methods commonly used to detect the
presence of errors (failures) in a computer program is to test
it for a set of inputs.
The output
is correct?

I1, I2, I3, Our program


…, Expected
In, … results
=?
Obtained
- No code - No code results
inspection analysis
- No model - No bug fixing
“Inputs checking
” - No debugging
Software Testing – Introduction
What is Testing?
Many people understand many definitions of testing :

• Testing is the process of demonstrating that errors are not


present.

• The purpose of testing is to show that a program performs its


intended functions correctly.

• Testing is the process of establishing confidence that a program


does
what it is supposed to do.
Some experts said these definitions are
incorrect.
Software Testing – Introduction
Myer’s Definition on Software Testing

• The process of executing a program or a system with the intent of finding


errors.

• Testing is an activity that requires skilled people.

• Sound testing process is essential for good testing.

• It is an era of software testing tools (Selenium, loadRunner).

• Need for a skilled test manager to look after testing.

Dijkstra:

“Testing can show the presence of bugs but never their absence.”
Software Testing – Introduction
 Definition 1:-Software testing can be stated as a process of validating
and
verifying that a software program or application or product,

1.Meets the business and technical requirementsthat guided its design


and development, and

2. Works as expected.

3. Can be implemented with the same characteristics.

 Definition 2:- It 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 they could be
corrected before the product is released to the end users.
What is a Test?
• Test is a formal activity. It involvesa
strategy and a systematic approach. The
different stages
of tests supplement each other. Tests are
always specified and recorded.
• Test is a planned activity. The workflow
and the expected results are specified.
Therefore
the duration of the activities can be
estimated. The point in time where tests are
• The test isisthe
executed formal proof of
defined
software quality
Most Common Software Problems
• Incorrect calculation

• Incorrect data edits & ineffective data edits

• Incorrect matching and merging of data

• Data searches that yield incorrect results

• Incorrect processing of data relationship

•Incorrect coding/implementation of business


rules

•Inadequate software performance


Most Common Software Problems Cont’d
• Confusing or misleading data
• Software usability by end users
• Inconsistent processing
• Unreliable results or performance
• Inadequate support of business needs
• Incorrect or inadequate interfaces with other systems
• Inadequate performance and security controls file
Incorrect handling
Need of Software Testing
• Executing a program with the intent of finding an error.

• To check if the system meets the requirementsand be executed successfully in

the Intended environment.

• To check if the system is “ Fit for purpose”.

• A good test case is one that has a probability of finding an as-yet-undiscovered error.

• A successful test is one that uncovers a yet undiscovered error.

• A good test is not redundant.

• A good test should be “best of breed”.

• A good test should neither be too simple nor too complex.


Quality Software Should be
• Bug Free • Can be web-enabled
• Delivered on time • Adaptable
• complete to

• Within budget • various


Can run notepads, PCs, and
OS
on as per
• Meet the requirement like
Mainframes customer
of the customer. Unix, Linux, etc
requirement
• Easy to maintain s.
and
upgrade whenever
• Documented
needed. Dr. Selva •KumaSr S
Theory and Reality
• Theory
• Need sufficient time
• Baselined & freezed requirement
• Automation testing
• Have trained tester: test process, business flow…

• Reality
• Time pressure to keep the delivery date
• Continuously updated requirements
• Don’t know when to stop: update & update requirement continuously(CRs)-> Tester
Updates TC and
re-tests
• Manual testing
• Lack of dedicated software test environment; share, steal
• Inexperienced testers without appropriate training
Why is testing important
• To find and correct defects

• To check whether the client/user needs are satisfied

• To avoid user detecting problems

• Also to provide a quality product

• Provide confidence in the system

• To provide sufficient information to allow an objective


decision on applicability to deploy
Why is Testing Important – Example 1

In April 2015, the Bloomberg terminal in London crashed due to a software glitch that
affected more than 300,000 traders in financial markets. It forced the government to
postpone a 3bn pound debt sale.
Why is Testing Important – Example 2

In May 2015, Airbus issued an alert for urgently checking its A400M aircraft when a report detected a
software bug that had caused a fatal crash earlier in Spain. Prior to this alert, a test flight in Seville
has caused the death of four air force crew members and two were left injured.
Why is Testing Important – Example 3

For over 2 years Nissan recalled over a million cars, thanks to a software glitch in the airbag
sensory detectors. Practically, the affected cars were unable to assess whether an adult
car’sseated
was passenger seat and consequently would not inflate the airbags in case of
in the
a crisis.
Why is Testing Important – Example 4

In July 2015, The New York Stock Exchange stopped trading due to an undisclosed ‘internal
technical issue’, where all open orders were cancelled and the traders were alerted and
informed that they would receive information later. While responding to the shutdown, NYSE
announced that there was no cyber breach within the system and it resumed operations after 4
Why does software have bugs

• Miscommunication or no
communication

• Time pressure(Time Scheduling)

• Changing requirements

• Software complexity

• Programming mistakes
What are the benefits of Software Testing
• Cost-Effective: It is one of the important advantages of software testing. Testing any
IT project on time helps you to save your money for the long term. In case the
bugs are caught in the earlier stage of software testing, it costs less to fix.

• Security: It is the most vulnerable and sensitive benefit of software testing. People
are looking for trusted products. It helps in removing risks and problems earlier.

• Product quality: It is an essential requirement of any software product. Testing


ensures a quality product is delivered to customers.

• Customer Satisfaction: The main aim of any product is to give satisfaction to its
customers. UI/UX (user interface (UI) and user experience (UX) )Testing ensures the best user
experience.
Skills required to become a Software
Tester
Passion
Verbal and Written Communication

Good Verbal and Written Communication


Analytical skills
Software
Tester
Attitude
Time Management & Organization Skills

Productivity
Error and Bug Difference
 In software engineering, an "error" refers to a human mistake made during coding or design, while a
"bug" is the resulting issue in the software that causes incorrect or unexpected behavior due to that
error.
 For example, if a developer mistakenly writes x = y + 1 instead of x = y - 1, this is an error in the code.
When the software runs and produces incorrect results, such as calculating values incorrectly, this is
identified as a bug.

You might also like