You are on page 1of 27

SOFTWARE TESTING

LECTURE # 16

Ayesha kanwal
What is Bug

A bug is a general term describing any unexpected hardware or


software problem.
Bugs a.k.a. …

● Defect
● Fault ● Failure
● Problem ● Inconsistency
● Error ● Product Incidence
● Incident ● Feature :-)
● Anomaly
● Variance
Bug in Space Code

● Project Mercury’s FORTRAN code had the following fault:


DO I=1.10 instead of ... DO I=1,10

● The fault was discovered in an analysis of why the software


did not seem to generate results that were sufficiently
accurate.

● The erroneous 1.10 would cause the loop to be executed


exactly once!
Bank Generosity

● A Norwegian bank ATM consistently dispersed


10 times the amount required.

● Many people joyously joined the queues as the


word spread.
Bank Generosity (Cont’d)

● A software flaw caused a UK bank to duplicate


every transfer payment request for half an
hour. The bank lost 2 billion British pounds!

● The bank eventually recovered the funds but


lost half a million pounds in potential interest.
Your Experience

● Have you heard of other software bugs?


● In the media?
● From personal experience?
A software bug occurs when at least one of these rules
is true

● The software does not do something that the specification


says it should do.
● The software does something that the specification says it
should not do.
● The software does something that the specification does not
mention.
● The software does not do something that the product
specification does not mention but should.
● The software is difficult to understand, hard to use, slow …
Most bugs are not there because of mistakes in the
code …

● Specification (~= 55%)


● Design (~= 25%)
● Code (~= 15%)
● Other (~= 5%)
Bugs Removal
● So how do we make sure that our program or
software is working fine?
● By Testing it
● And if we are dealing with software then the
process is called as Software Testing
Software Testing

● Software testing is a key activity, both in software


development and in software maintenance.

● Its objectives are opposed to that of development:


instead of making the system work, it aims at breaking
it, thus revealing the presence of defects.

● This is the main reason why development and testing


teams should be separate.
Software Testing
Goal of a software tester

● … to find bugs
● … as early in the software development processes as
possible
● … and make sure they get fixed.

● Advice: Be careful not to get get caught in the dangerous


spiral of unattainable perfection.
Software Testing Life Cycle
Bug Life Cycle
Test Case

A test case is a document, which has a set of test data, preconditions, expected
results and postconditions, developed for a particular test scenario in order to verify
compliance against a specific requirement.
Test Case
Test Scenario and Test Case
Test Scenario and Test Case

Test Scenarios are one-liner statement

while

Test Cases is positive and negative inputs, navigation steps, Expected results, pre and post
condition, etc.

Test Scenarios are high-level actions.

While

Test Cases are low-level actions.


Test Scenario and Use Case

● Test Scenarios can be derived usually from


Use cases
How Testing is being Performed

 Manual Testing - Human Effort

 Automation Testing - By Tools


Quality of Testing

Testing is being performed on a product for


measuring quality of a product

How can we measure the quality of a testing process


or effectiveness of testing being performed?
Quality of Testing
Quality of Testing
Quality of Testing

● The smaller value of DRR and DLR is, the better quality of test
execution is
Hunt the Bugs

You might also like