0% found this document useful (0 votes)
25 views32 pages

Unit 1

Uploaded by

parshwa02 gandhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views32 pages

Unit 1

Uploaded by

parshwa02 gandhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

UNIT1:SOFTWARE TESTING & INTRODUCTION

TO QUALITY
INTRODUCTION, BASIC TESTING VOCABULARY
QUALITY ASSURANCE VERSUS QUALITY CONTROL
NATURE OF ERRORS
BUG LIFE CYCLE
TESTING LIFE CYCLE
TESTING PRINCIPLES
TESTING FUNDAMENTALS
DEBUGGING PROCESS
Software Quality
• Software quality is defined as a field of study and practice that describes the
desirable attributes of software products. There are two main approaches to
software quality: defect management and quality attributes.
• SOFTWARE QUALITY is the degree of conformance to explicit or implicit
requirements and expectations.
• Explicit: clearly defined and documented
• Implicit: not clearly defined and documented but indirectly suggested
• Requirements: business/product/software requirements
• Expectations: mainly end-user expectations
• The degree to which a system, component, or process meets specified requirements.
• The degree to which a system, component, or process meets customer or user needs
or expectations.
Importance of Software Quality
• Quality is competitive issue.
• Quality is must for survival.
• Quality gives entry into international
Market.
• Quality is cost effective.
SOFTWARE QUALITY FACTORS:
Software Testing
• Software testing is a process of verifying and validating that a software
application or program meets the business and technical requirements that
guided its design and development and works as expected and also identifies
important errors or flaws categorized as per the severity level in the
application that must be fixed Software testing is also used to test the
software for other software quality factors like reliability, usability, integrity,
security, capability, efficiency, portability, maintainability, compatibility etc.
• Testing approach differs for different software’s, level of testing and purpose
of testing. Software testing should be performed efficiently and effectively,
within the budgetary and scheduling limits. Due to large number of testing
limitations like Exhaustive (total) testing is impossible, compromise between
thoroughness, time and budget, it is impossible to be sure that we have
removed each and every bug in the program.
SKILLS REQUIRED IN TESTER
• General
-Presentation skills, Effective listening
-Persistent
-Software development, operation, maintenance and continuous education
-Good domain understanding
• Test Skills
-Testing Concepts
-Levels of testing
-Techniques of Verification and Validation
-Selection and use of testing tools
-Standards application for testing
• Test Planning
-Risk assessment and management
-Developing test plan
-Acceptance criteria of product by Customer
• Executing the test Plan
-Developing optimum test cases and test scripts
-Identifying presence of defeats
-Updating test plans
• Test analysis Report
-Understanding metrics related to testing
-Complexity of code, analysis of data,
preparing test reports.
ROLE OF TESTING:
• It is good to begin testing from the first stage, to avoid complexity by fixing the
errors at the last stage.
We do software testing for many reasons:
1)To check the reliability of software.
2)To be ensured that the software does not contain any bug which can become a reason
for failure?
3)To check the software was made according to its specification
4)To check that the software meets its requirements
5)To check that users are capable of using the software
6)To check software works with other software and hardware it needs to work with.
7)To improve quality of software by removing maximum possible errors or defects
from it.
• Benefits of software Testing:
1)High quality software products.
2)Customer satisfaction
3)Lower maintenance cost.
4)Accurate and reliable result.
Goal of Testing is a find bugs as early as possible and make sure they get fixed.
• Test characteristics:
1)A good test is the one that has high portability of finding errors.
2)A good test is the one that finds out yet undiscovered errors.
3)A good test is the one that is not redundant.
4)A good test should neither be too simple nor too complex and it must be able to
uncover different classes of errors.
NATURE OF ERRORS
Software Errors And Bugs
• Software bugs are of many types. A bug is a bug no matter what. But
sometimes, it is important to understand the nature, its implications and the
cause to process it better.
• “An error is a deviation from accuracy or correctness” and “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 “.
• So, the following can be inferred:
• Error is a variance of the actual result from the expected result.
• Errors are a category of software bugs.
• Errors can be introduced as result of incomplete or inaccurate requirements or
due to human data entry problems.
• An error is a difference between the measured value and the specified value.
• Following are some type of errors.
1)Syntax error: Improper code.
2)Logical Error: Mistake in the logic compiles and runs the program but
produces incorrect output.
3)Run Time Error: This error is generated during the execution of the
program such as array bound error,
divide by zero error floating point error etc.
COST OF FIXING BUGS AT VARIOUS SDLC
PHASES.
BUG LIFE CYCLE
• Defect life cycle, also known as Bug Life cycle is the journey of a defect
cycle, which a defect goes through during its lifetime. It varies from
organization to organization and also from project to project as it is governed
by the software testing process and also depends upon the tools used.
• This starts as soon as any new defect is found by a tester and comes to an end
when a tester closes that defect assuring that it won’t get reproduced again.
• A software bug occurs when one or more of the following 5 test statements are
True…..
• 1) The software doesn’t do something that the software requirement
specification (SRS) says it should do.
• 2)The software does something that the SRS says it should not do.
• 3)The software does something that the SRS does not mention.
• 4)The software does not do something that the SRS does not mention but
should do.
• (The purpose of this rule is to catch things that were forgotten in the
specification.)
• 5)The software is difficult to understand, difficult to use or slow.
SOFTWARE TESTING LIFE CYCLE
• Software Testing Life Cycle refers to a testing process which has specific steps to be
executed in a definite sequence to ensure that the quality goals have been met. In
STLC process, each activity is carried out in a planned and systematic way. Each
phase has different goals and deliverables. Different organizations have different
phases in STLC.
• Software Testing Life Cycle (STLC) is defined as a sequence of activities conducted
to perform Software Testing.
• Contrary to popular belief, Software Testing is not a just a single activity. It consists
of a series of activities carried out methodologically to help certify your software
product.
• Requirement Analysis
Test Planning
TESTING LIFE CYCLE:
Test Analysis

Test Design

Test Construction &


Verification

Test execution

Result Analysis

Bug tracking

Test reporting &


Rework

Final Testing

Test Closure
BUG TRACKING
1)Defect id
2)Test case id
3)Description
4)Summary
5)Defect submitted by
6)Date of submission
7)Build no
8)Version no
9)Assigned to
10)Priority
11)Status
TESTING PRINCIPLE’S
• 1) Testing should focus on finding defects before customers find them.
• 2) Testing is applied all through the SDLC process and not just at the end of
the SDLC activity.
• 3) Understand the reason behind test-”What to test” and “How to test”
• 4) Test the Tests (Testing Tool)
• 5) Test develop immunity and have to be revised constantly.
• 6) Testing encompasses on defect prevention because Prevention is better
than cure.
• 7)Defect Prevention and defect detection should supplement each other and
not be considered as mutually exclusive.
• 8) Fulfillment of customer Expectation
EXAMPLE: 1
• An interesting act between car owner and car buyer
(On Phone).
Car owner: Hello Mr. Amol,you can come today and take the car. Customer Amol Arrives to
car owners house and sees the car that he is going to buy in a very bad condition……..
Customer: What’s this? Is this the car ,you want to sell.
Oh no! How dirty it looks. There are so many crashes and the color has also fainted.
Car owner: Chill…Pill..Mr. Amol. The car is complete…you just need to paint it.
Customer:Ok…First let me take a test drive…(Both sit in the car…)
Car owner: Mr.Amol this car has the best possible transmission and brake,and accelerates from
0 to 80 kmph in under 20 seconds!
Customer:Well.It may be true. But unfortunately it accelerates even faster when I press the
brakes.
Moral:The car owner was trying to sell his second hand car without repairing the defects in it.
When customer came to know about these defects,he refused to buy the car.
EXAMPLE: 3
• An interesting act in an Ashram between Saint and his Disciples.
Saint: Ok.Disciples , I will sit here and meditate for a while. So, please, see to it that there is no
disturbance.
Disciple: Ok sir…A cat comes there and disturbs the Saint. So, Disciples tie the cat to a pillar…
Disciple: Ooops! This cat is creating a lot of noise. Lets tie it to a pillar. After fie years…
Disciples are running here and
there ,searching for a cat…
Disciple: Oh shit! I’m unable to find any cat. What to do.
A Guest in the Ashram asks the Disciple: Sir What are you searching for?
Disciple: We need a cat. Only when we get a cat, then we can tie it to a pillar and only after that,
our saint will start meditating.
Moral: The daily routine of catching a cat and tying it to a pillar becomes a tradition. And the
further generations, without any actually understanding that why the cat was tied; they
everyday searched for a cat by hook or crook and ties it to a pillar even if it didn't come there
to disturb. It Is just ridiculous to catch a cat without understanding why it is caught.
EXAMPLE: 4
• An interesting act in between ENT (Ear Nose Tongue) doctor and his patient.
Doctor: I want to test the range within which you can hear. I will ask you from various
distances to tell me your name, and you should tell e your name.
Patient: Ok sir. I understood…(Doctor 30 feet far)
Doctor: What is your name?
Doctor: I cannot listen to her answer. I think she cannot hear me. (Doctor goes at 20
feet…)
Doctor: What is your name?
Doctor: I cannot listen to her answer. I think she still cannot hear me.(Doctor from 10
feet…)
Doctor: What is your name?
Patient: For the third time, I am repeating my answer, my name is Richa.
Moral: The ENT doctor himself had a defect in his ear. So, how can he succeed in testing
TESTING FUNDAMENTAL’S
• The five stages of the fundamental test process are depicted in the following
figure:
Correct & Repeat test
design Correct & repeat the test
cases

Test Evaluating
Test Planning Test analysis Test closure
Implementatio exit criteria &
& Control & Design activities
n & Execution Reporting

Correct and repeat test design

Correct and repeat test


component plan
DEBUGGING
• In software development, debugging involves locating and
correcting code errors in a computer program. Debugging is part of the
software testing process and is an integral part of the entire software
development lifecycle.
• The debugging process starts as soon as code is written and continues in
successive stages as code is combined with other units of programming to
form a software product.
• In a large program that has thousands and thousands of lines of code, the
debugging process can be made easier by using strategies such as unit
tests, code reviews and pair programming.
• Once an error has been identified, it is necessary to actually find the error in
the code. At this point, it can be useful to look at the code's logging and use a
stand-alone debugger tool or the debugging component of an integrated
development environment (IDE).
• Invariably, the bugs in the functions that get most use are found and fixed
first.
• In some cases, the module that presents the problem is obvious, while the
line of code itself is not. In that case, unit tests -- such as JUnit and xUnit,
which allow the programmer to run a specific function with specific inputs --
can be helpful in debugging.
• Debugging process/Phases:
1)Defect Identification
2)Defect confirmation
3)Defect analysis
4)Defect resolution
• Debugging Approaches:
1)Brute force method
2)Back track method
3)Cause elimination
• Debugging will always have one of the two outcomes.
1) The cause will be found and Corrected
2) The cause will not be found
Guidelines
• 1) Debugging is the process of solving a problem.
• 2)While performing debugging, no experimentation should be done.
• 3)When there is an error in one segment of a program, there is high
possibility that some other errors also exit in the program.
• 4) It should be ensured that the changed code added in the program to fix
reported errors is correct and is not affecting the rest of program.

You might also like