Вы находитесь на странице: 1из 27

MES3053 Software Testing and Quality

CHAPTER 2
Fundamental of Testing I
Objectives
How software bugs impact our lives.
What bugs are and why they occur
Why need testing
Who software testers are and what they
do

2
Topics covered
Infamous Software Error Case Studies
What is a Bug?
Why Do Bugs Occur?
What are The Objectives of Testing?
What is Test Process?
What exactly Does a Software Tester Do?
What Makes a Good Software Tester?

3
Infamous Software Error Case Studies
Lets assume in your application under test you want to create a new user
with user information, for that you need to logon into the application and
navigate to USERS menu > New User, then enter all the details in the User
form like, First Name, Last Name, Age, Address, Phone etc. Once you enter
all these information, you need to click on SAVE button in order to save
the user. Now you can see a success message saying, New User has been
created successfully.
But when you entered into your application by logging in and navigated to
USERS menu > New user, entered all the required information to create new
user and clicked on SAVE button. BANG! The application crashed and you
got one error page on screen. (Capture this error message window and save
as a Microsoft paint file)

Now this is the bug scenario


4
What is Bug?

Software didnt operate as


intended/planned.
As a software tester youll discover that most
failures are hardly ever this obvious.
Most are simple, subtle failures, with many
being so small that its not always clear
which ones are true failures, and which one
arent.

5
Term for Software Failures

Defect Failure
Fault Inconsistency
Problem Feature
Error Bug
Incident
Anomaly
Variance
6
Term for Software Failures

Its important as a software tester to understand


the personality behind the product development
team youre working with.
All software problem will be called bugs.

7
Software Bug: A Formal Definition
A software bug occurs when one or more of the
following five rules is true:
The software doesnt do something that the product
specification says it should do.
The software does something that the product specifications
says it shouldnt do.
The software does something that the product specification
doesnt mention.
The software doesnt do something that the product
specification doesnt mention but should.
The software is difficult to understand, hard to use, slow, or
in the software testers eyes will be viewed by the end
user as just not right.
8
Why Do Bugs Occur?

Other Code

Design

Specification

9
Type of Error and Defect

FOUNDATIONS OF SOFTWARE TESTING: ISTQB CERTIFICATION


Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black
Defect types

There are two key things in the defect of the


software testing. They are:
1) Severity
2) Priority
Severity Priority
Severity is associated with Priority is associated with scheduling.
standards/functionality.
Severity refers to the seriousness of the bug on Priority refers to how soon the bug should be
the functionality of the product. Higher effect fixed.
on the functionality will lead to assignment of
higher severity to the bug.
Generally, the Quality Assurance Engineer Priority to fix a bug is decided in consultation
decides the severity level. with the client/manager.
11
Defect types

Severity: It is the extent to which the defect


can affect the software. In other words it
defines the impact that a given defect has on
the system. For example: If an application or
web page crashes when a remote link is
clicked, in this case clicking the remote link by
an user is rare but the impact of application
crashing is severe. So the severity is high but
priority is low.
12
Defect types
Severity can be of following types:
Critical: The defect that results in the termination of the complete system or one or more
component of the system and causes extensive corruption of the data. The failed function is
unusable and there is no acceptable alternative method to achieve the required results then the
severity will be stated as critical.
Major: The defect that results in the termination of the complete system or one or more
component of the system and causes extensive corruption of the data. The failed function is
unusable but there exists an acceptable alternative method to achieve the required results then
the severity will be stated as major.
Moderate: The defect that does not result in the termination, but causes the system to produce
incorrect, incomplete or inconsistent results then the severity will be stated as moderate.
Minor: The defect that does not result in the termination and does not damage the usability of
the system and the desired results can be easily obtained by working around the defects then
the severity is stated as minor.
Cosmetic: The defect that is related to the enhancement of the system where the changes are
related to the look and field of the application then the severity is stated as cosmetic.

13
Defect types
Priority: Priority defines the order in which we
should resolve a defect. Should we fix it now, or can
it wait? This priority status is set by the tester to the
developer mentioning the time frame to fix the defect.
If high priority is mentioned then the developer has to
fix it at the earliest. The priority status is set based on
the customer requirements. For example: If the
company name is misspelled in the home page of the
website, then the priority is high and severity is low to
fix it.
14
Defect types
Priority can be of following types:
Low: The defect is an irritant which should be repaired, but
repair can be deferred until after more serious defect have been
fixed.
Medium: The defect should be resolved in the normal course
of development activities. It can wait until a new build or
version is created.
High: The defect must be resolved as soon as possible because
the defect is affecting the application or the product severely.
The system cannot be used until the repair has been done.

15
Defect types
Few very important scenarios related to the severity and priority:

High Priority & High Severity: An error which occurs on the basic
functionality of the application and will not allow the user to use the system.
(Eg. A site maintaining the student details, on saving record if it, doesnt
allow to save the record then this is high priority and high severity bug.)
High Priority & Low Severity: The spelling mistakes that happens on the
cover page or heading or title of an application.
High Severity & Low Priority: An error which occurs on the functionality
of the application (for which there is no workaround) and will not allow the
user to use the system but on click of link which is rarely used by the end
user.
Low Priority and Low Severity: Any cosmetic or spelling issues which is
within a paragraph or in the report (Not on cover page, heading, title).
16
Example for High Priority and
High Severity :-

Suppose there is ATM Machine hope everyone is aware of ATM ma


machine which is used for banking transactions. If ATM machine has bug
like when user withdraw money from same bank ATM for which he is
holding bank account, He is getting charged by 20 rs per transaction. Which
is invalid as bank policy says withdrawing money from owns bank ATM no
charge will be applied.

So this bug is high priority because Bank is charging 20 rs per transaction


for own ATM which is opposite to business logic.

and bug is high severity because this bug need to resolved immediately
because thousands of user withdraw money per hour so it cost high.

17
Example for High Priority and Low
Severity Bug
we take example of yahoo.com. Suppose while updating
yahoo.com by mistake they updated the wrong logo with spell
missing like yaho.com here 'o ' is missing . It should be
Yahoo.com. Now here bug is High Priority and Low
Severity Bug because

This bug is High Priority- Yahoo.com is company logo and


mistake in company logo need to resolve on high priority to
keep brand.

This bug is Low Severity- As its just spelling mistake then


impact on user is not much high.
18
Example for Low Priority and Low
Severity Bug
Suppose while updating the website they made a spell mistake
in a content. Its fine it wont impact much. User can still use the
website. Its not mean that no need to fix this bug. Bug need to
be fix but on Low Priority and Low Severity Bug.

This bug is in Low Priority because - Its fine it wont impact


much. User can still use the website and can be fix after some
time.
This bug is in Low Severity because - Its fine it wont impact
much. User can still use the website

19
Example of low priority and high
severity bug
Lest's think there is Banking application who gives interest of RM 2 for
every RM1000 in account on the last day of year. Means on last day of year
31.12.YYYY the bank will deposit RM2 interest for every RM1000 in
account. Now bank found a bug that instead of RM2 application giving
interest of RM4 for every RM1000 in account. Means due to bug interest is
going double.

This bug is high severity - Due to bug interest is going double and bank may
have thousands of accounts, So it will not be profitable for bank.

This bug is Low priority - Depositing interest is happen on last day of year
so if its beginning of year like January then there is lot of time to solve this
bug .

20
Testing Objectives

Typically general testing objectives:


Find bugs and provide programmers with the
information they need to fix the bugs.
Gain level of confidence about the level of system
quality.
Prevent defects (through early involvement in
reviews and advanced test design)
Provide information about most important aspects
of quality of the system-under-test.
What Exactly Does a software Tester Do
Testers goal is: The goal of a software tester is to find
bugs.
The goal of a software tester is to find bugs and final
them as early as possible.
You are the software tester , are the customers eye
The first one the see the software.
You seek for customer and must seek perfection
The goal of a software tester is to find bugs, find them
as early as possible, and make sure they get fixed.

22
What make a Good Software Tester?
List of traits that most software testers should have:
They are explorers
Software testers arent afraid to venture into unknown situations.
They love to get a new piece of software, install it on their PC, and
see what happens.
They are troubleshooters
Software testers are good at figuring out why something doesnt
work. They love puzzles.
They are relentless
Software testers keep trying. They may see a bug that quickly
vanishes or it difficult to re-create. Rather than dismiss it as a fluke,
they will try every way possible to find it.
They are Creative
Testing the obvious isnt sufficient for software testers. Their job is
to think up creative and even off-the-wall approaches to find bugs. 23
What make a Good Software Tester?
List of traits that most software testers should have:

They are tactful and diplomatic


Software testers are always the bearers of bad news. They have to tell
the programmers that their baby is ugly. Good software testers know
how to do so tactfully and professionally and know how to work with
programmers who arent always tactful and diplomatic.
They are persuasive
Bugs that testers find wont always be viewed as severe enough to be
fixed. Testers need to be good at making their points clear,
demonstrating why the bug does indeed need to be fixed, and following
through on making it happen.

24
Early Testing to prevent major bugs

Conducting testing as soon as possible in


development life cycle to find defects at early
stages is called early testing. Early testing is
helpful to reduce the cost of fixing defects.
Purpose of early testing
Show that the system:

Does what it should


Goal: show working.
Success: system works

Doesnt do what it shouldnt.


Goal: find faults
Success: system faults
Summary
Software testing is a critical job.
With the size and complexity of todays
software, its imperative that software testing
be performed professionally and effectively.
We dont need more defective computer chips,
crashed systems, or stolen credit card numbers.

27

Вам также может понравиться