SlideShare a Scribd company logo
Static Analysis of Software
&
Unit Testing
Mrs.G.Chandraprabha., M.Sc., M.Phil.,
Assistant Professor of IT,
V.V.Vanniaperumal College for Women,
Virudhunagar.
Static Analysis-Introduction
 Static analysis involves a set of methods
used to analyse software source code or
object code.
 Static analysis studies the source code
without executing it and reveals a wide
variety of information such as the structure
of the model used, data and control flow,
syntax accuracy, and more.
 The different software static testing
techniques are called the review, and the
static analysis.
Static Analysis-Introduction
 The types of reviews can be given by a
simple diagram
Steps involved in Static Analysis
 Step 1 − The software static testing begins
with planning of the test objectives, scope,
and test strategy. It includes the
identification of modules to be verified, the
test methods, and the tools to be used.
 Step 2 − In this step, the different artifacts
like the test cases, requirement and design
documents, source code etc are prepared.
 Step 3 − The static analysis is done to verify
the code and to check if it is as per the
standards, quality, secure, and compliances
with the help of multiple tools and not by
running the code.
Steps involved in Static Analysis
 Step 4 − The code review is done with the
help of a small team of experts to find faults
in the code, and identify errors in any
methods used
 Step 5 − The defects detected at the static
testing are reported and documented.
 Step 6 − The report on the software static
testing is generated to assess the software
quality.
Advantages of Static Analysis
The advantages of the software static testing
are listed below −
 The software static testing helps in the early
identification of defects which can be resolved
very fast, with less effort, and cost.
 The software static testing detects common errors
namely syntax error, null pointer exception etc.
 The software static testing makes the code more
structured and maintainable. Thus it enhances the
code quality.
Advantages of Static Analysis
 The software static testing provides a quick
feedback to the software during all its
development stages.
 The software static testing determines the
actual location of the defects.
Disadvantages of Static Analysis
The disadvantages of the software static testing
are listed below −
 The software static testing does not detect
bugs which appear only at the runtime, for
example memory leaks, performance
problems etc.
 The software static testing can be more
productive only if the reviewer is
experienced, and has the correct knowledge,
and skills.
Disadvantages of Static Analysis
 The software static testing takes time for
large and complicated projects.
 The software static testing is dependent on
human intervention as it is performed with
the help of the manual reviews and
inspections.
Tools to perform Static Analysis
 The different tools used for the software
static testing are listed below −
 Checkstyle
 Soot
 SourceMeter
 Lint
 SonarQube
Unit Testing-Introduction
 Unit testing of the software is conducted by
the developers.
 It is done at early stages of the software
development process when each of the
software units are not yet integrated.
 This is the first stage of functional testing of
the software.
 The unit test cases may be executed
manually or through automation.
Unit Testing-Introduction
 The correctness of each isolated unit
developed - function, method etc are
verified.
 The unit testing is done to identify defects at
the early stages of software development life
cycle (SDLC) to improve the software quality
and have a quicker fix for the defects.
 Each unit of software is tested independently
by the developers.
Unit Testing-Prerequisites
 In unit testing, individual software units
consisting of methods, functions, procedures
etc are tested to check if they are working
as expected.
 An individual unit is validated independently
by the developer himself while he is actually
working on it.
 A separate software component can be a
specific method, function, procedure, block
of code etc.
Unit Testing-Prerequisites
 Once the unit testing has been completed, it
moves to the integration testing phase.
 Thus, unit testing is helpful in understanding
software code, and fixing loopholes.
 The unit test cases consist of the below
steps −
 Design Test Cases
 Review Test Cases
 Baseline Test Cases
 Run Test Cases
Types of Unit Testing
 Black Box Testing-In black box testing
technique, testers are unaware of the
internal logic of software, and are only
concerned with data input to software and
its output.
 White Box Testing-In white box testing
technique, testers verify all the software
functionalities along with the internal code.
 Gray Box Testing-The gray box testing is a
combination of both black and white box
testing.
Advantages of Unit Testing
 Unit testing helps the developers to improve
the code and make each software
component work properly.
 It allows testing of independent clusters of
the software without depending on other
clusters.
 It allows early detection of defects in the
initial stages of SDLC, and to fix them
quickly.
 It helps the developers to build confidence
on the code they developed by enhancing its
quality.
Advantages of Unit Testing
 Unit testing helps to resolve the defects
faster without requiring to wait for the
development of all the modules of the
software.
 It assists the developers to refactor the code
safely without breaking the existing
functionalities.
 Unit testing saves a lot of time and
resources as fixing defects at the early
stages of SDLC is easier and faster than at
the later stages.
Disadvantages of Unit Testing
 It requires time to develop and maintain test
cases for unit testing and modify them as
the requirements change.
 It only identifies defects on individual units
of the software and not on the integration of
the units.
 It cannot detect errors in the user interface
of the software.
 Unit testing does not include non-functional
requirements of the software such as
scalability, security, reliability,
responsiveness, usability etc.
Disadvantages of Unit Testing
 The quality of the unit testing depends solely
on how well the unit test cases are written
by the developers.
 The developers face problems performing
unit testing on complex applications as it is
difficult to segregate their individual
components and verify them.
 Unit testing does not involve testing of all
the execution paths within the tested
module.
Thank You

More Related Content

PPT
Test Estimation Techniques
PPTX
Quality and Productivity Factors in Software Engineering
PPTX
Infographic Slide: What is Project Management?
PDF
2_Project Scope Management
PDF
Project scope management
PDF
SE_Lec 12_ Project Planning
PPT
Software Project Managment
PDF
Monthly Project Status Report Of Funds
Test Estimation Techniques
Quality and Productivity Factors in Software Engineering
Infographic Slide: What is Project Management?
2_Project Scope Management
Project scope management
SE_Lec 12_ Project Planning
Software Project Managment
Monthly Project Status Report Of Funds

What's hot (20)

PPTX
Process and Project Metrics-1
PPT
Software Quality Assurance(Sqa) automated software testing
PPT
Slides chapters 21-23
PDF
Software Project Management: Project Initiation
PDF
Software management framework
PPTX
Pmi presentation structuring project v2
PPTX
Total Quality Management
PDF
Software Engineering - Ch6
PPTX
Preparing for pmi ba exam
PPTX
List of Software Development Model and Methods
PPTX
Algorithmic Software Cost Modeling
PPTX
Motivation in software project development
PPTX
2. project initiation
PPT
Project Manangement Introduction
PPT
11. Project Communication Management
PPTX
PPTX
Economics In Software Engineering
PPTX
Usability Engineering Presentation Slides
PPTX
Software Risk Management
PPTX
Effective project management skills
Process and Project Metrics-1
Software Quality Assurance(Sqa) automated software testing
Slides chapters 21-23
Software Project Management: Project Initiation
Software management framework
Pmi presentation structuring project v2
Total Quality Management
Software Engineering - Ch6
Preparing for pmi ba exam
List of Software Development Model and Methods
Algorithmic Software Cost Modeling
Motivation in software project development
2. project initiation
Project Manangement Introduction
11. Project Communication Management
Economics In Software Engineering
Usability Engineering Presentation Slides
Software Risk Management
Effective project management skills
Ad

Similar to static analysis and unit testing in SE.pptx (20)

PPTX
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
PPTX
Week 14 Unit Testing.pptx
PPTX
Types of testing
PPTX
Software Testing
PDF
What is Unit Testing? - A Comprehensive Guide
PDF
Unit testing - what is its importance
PPTX
Software testing
PPTX
Static Verification Techniques S/W Q/A.pptx
PPTX
Blue Doodle Project Presentation (3).pptx
PPTX
Software testing
PDF
PDF
Software testing
PDF
Software testing(1)
PDF
Software testing pdf
PDF
Software testing pdf
PDF
Software testing
PDF
Software testing
PDF
software_testing pdf.pdf
PDF
Software testing pdf
PPS
Mca se chapter_07_software_validation
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
Week 14 Unit Testing.pptx
Types of testing
Software Testing
What is Unit Testing? - A Comprehensive Guide
Unit testing - what is its importance
Software testing
Static Verification Techniques S/W Q/A.pptx
Blue Doodle Project Presentation (3).pptx
Software testing
Software testing
Software testing(1)
Software testing pdf
Software testing pdf
Software testing
Software testing
software_testing pdf.pdf
Software testing pdf
Mca se chapter_07_software_validation
Ad

More from V.V.Vanniaperumal College for Women (20)

PPTX
inheritance in Java with sample program.pptx
PPTX
System testing in software engineering.pptx
PPTX
software cost estimation techniques ppt.pptx
PPTX
Software cost factors in software engineering.pptx
PPTX
Planning the development Process in SE.pptx
PPTX
Some Size factors in software engineering
PPTX
PPTX
PPTX
Data_Transfer&Manupulation Instructions.pptx
PPTX
PPTX
PPTX
Instruction Codes.pptx
PPTX
PPTX
Constructors in JAva.pptx
PPTX
PPTX
IS-Delibrate software attacks.pptx
PPT
IS-Nature of forces.ppt
PPTX
IS-cryptograpy algorithms.pptx
inheritance in Java with sample program.pptx
System testing in software engineering.pptx
software cost estimation techniques ppt.pptx
Software cost factors in software engineering.pptx
Planning the development Process in SE.pptx
Some Size factors in software engineering
Data_Transfer&Manupulation Instructions.pptx
Instruction Codes.pptx
Constructors in JAva.pptx
IS-Delibrate software attacks.pptx
IS-Nature of forces.ppt
IS-cryptograpy algorithms.pptx

Recently uploaded (20)

PDF
Insiders guide to clinical Medicine.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Basic Mud Logging Guide for educational purpose
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Classroom Observation Tools for Teachers
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
RMMM.pdf make it easy to upload and study
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Insiders guide to clinical Medicine.pdf
Supply Chain Operations Speaking Notes -ICLT Program
O7-L3 Supply Chain Operations - ICLT Program
PPH.pptx obstetrics and gynecology in nursing
Basic Mud Logging Guide for educational purpose
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Classroom Observation Tools for Teachers
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
RMMM.pdf make it easy to upload and study
102 student loan defaulters named and shamed – Is someone you know on the list?
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
STATICS OF THE RIGID BODIES Hibbelers.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
Microbial disease of the cardiovascular and lymphatic systems
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES

static analysis and unit testing in SE.pptx

  • 1. Static Analysis of Software & Unit Testing Mrs.G.Chandraprabha., M.Sc., M.Phil., Assistant Professor of IT, V.V.Vanniaperumal College for Women, Virudhunagar.
  • 2. Static Analysis-Introduction  Static analysis involves a set of methods used to analyse software source code or object code.  Static analysis studies the source code without executing it and reveals a wide variety of information such as the structure of the model used, data and control flow, syntax accuracy, and more.  The different software static testing techniques are called the review, and the static analysis.
  • 3. Static Analysis-Introduction  The types of reviews can be given by a simple diagram
  • 4. Steps involved in Static Analysis  Step 1 − The software static testing begins with planning of the test objectives, scope, and test strategy. It includes the identification of modules to be verified, the test methods, and the tools to be used.  Step 2 − In this step, the different artifacts like the test cases, requirement and design documents, source code etc are prepared.  Step 3 − The static analysis is done to verify the code and to check if it is as per the standards, quality, secure, and compliances with the help of multiple tools and not by running the code.
  • 5. Steps involved in Static Analysis  Step 4 − The code review is done with the help of a small team of experts to find faults in the code, and identify errors in any methods used  Step 5 − The defects detected at the static testing are reported and documented.  Step 6 − The report on the software static testing is generated to assess the software quality.
  • 6. Advantages of Static Analysis The advantages of the software static testing are listed below −  The software static testing helps in the early identification of defects which can be resolved very fast, with less effort, and cost.  The software static testing detects common errors namely syntax error, null pointer exception etc.  The software static testing makes the code more structured and maintainable. Thus it enhances the code quality.
  • 7. Advantages of Static Analysis  The software static testing provides a quick feedback to the software during all its development stages.  The software static testing determines the actual location of the defects.
  • 8. Disadvantages of Static Analysis The disadvantages of the software static testing are listed below −  The software static testing does not detect bugs which appear only at the runtime, for example memory leaks, performance problems etc.  The software static testing can be more productive only if the reviewer is experienced, and has the correct knowledge, and skills.
  • 9. Disadvantages of Static Analysis  The software static testing takes time for large and complicated projects.  The software static testing is dependent on human intervention as it is performed with the help of the manual reviews and inspections.
  • 10. Tools to perform Static Analysis  The different tools used for the software static testing are listed below −  Checkstyle  Soot  SourceMeter  Lint  SonarQube
  • 11. Unit Testing-Introduction  Unit testing of the software is conducted by the developers.  It is done at early stages of the software development process when each of the software units are not yet integrated.  This is the first stage of functional testing of the software.  The unit test cases may be executed manually or through automation.
  • 12. Unit Testing-Introduction  The correctness of each isolated unit developed - function, method etc are verified.  The unit testing is done to identify defects at the early stages of software development life cycle (SDLC) to improve the software quality and have a quicker fix for the defects.  Each unit of software is tested independently by the developers.
  • 13. Unit Testing-Prerequisites  In unit testing, individual software units consisting of methods, functions, procedures etc are tested to check if they are working as expected.  An individual unit is validated independently by the developer himself while he is actually working on it.  A separate software component can be a specific method, function, procedure, block of code etc.
  • 14. Unit Testing-Prerequisites  Once the unit testing has been completed, it moves to the integration testing phase.  Thus, unit testing is helpful in understanding software code, and fixing loopholes.  The unit test cases consist of the below steps −  Design Test Cases  Review Test Cases  Baseline Test Cases  Run Test Cases
  • 15. Types of Unit Testing  Black Box Testing-In black box testing technique, testers are unaware of the internal logic of software, and are only concerned with data input to software and its output.  White Box Testing-In white box testing technique, testers verify all the software functionalities along with the internal code.  Gray Box Testing-The gray box testing is a combination of both black and white box testing.
  • 16. Advantages of Unit Testing  Unit testing helps the developers to improve the code and make each software component work properly.  It allows testing of independent clusters of the software without depending on other clusters.  It allows early detection of defects in the initial stages of SDLC, and to fix them quickly.  It helps the developers to build confidence on the code they developed by enhancing its quality.
  • 17. Advantages of Unit Testing  Unit testing helps to resolve the defects faster without requiring to wait for the development of all the modules of the software.  It assists the developers to refactor the code safely without breaking the existing functionalities.  Unit testing saves a lot of time and resources as fixing defects at the early stages of SDLC is easier and faster than at the later stages.
  • 18. Disadvantages of Unit Testing  It requires time to develop and maintain test cases for unit testing and modify them as the requirements change.  It only identifies defects on individual units of the software and not on the integration of the units.  It cannot detect errors in the user interface of the software.  Unit testing does not include non-functional requirements of the software such as scalability, security, reliability, responsiveness, usability etc.
  • 19. Disadvantages of Unit Testing  The quality of the unit testing depends solely on how well the unit test cases are written by the developers.  The developers face problems performing unit testing on complex applications as it is difficult to segregate their individual components and verify them.  Unit testing does not involve testing of all the execution paths within the tested module.