13 Software Testing - Fundamentals, Module 3-12-09 2024
13 Software Testing - Fundamentals, Module 3-12-09 2024
Module No. 3
Software Testing – Introduction
Software Testing
• Computer programs are designed and developed by human beings and
hence are prone to errors.
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,
2. Works as expected.
• A good test case is one that has a probability of finding an as-yet-undiscovered error.
• 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
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
• 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.
• 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
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.