Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.

Slides:



Advertisements
Similar presentations
Verification and Validation
Advertisements

Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Software Engineering-II Sir zubair sajid. What’s the difference? Verification – Are you building the product right? – Software must conform to its specification.
Formal Technical Reviews
Static Technique. Static Technique - Review  A way of testing software work products  Program code, requirement spec., design spec.  Test plan, test.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
1 Software Testing and Quality Assurance Lecture 2 Software Verification & Validation.
1 Static Testing: defect prevention SIM objectives Able to list various type of structured group examinations (manual checking) Able to statically.
Week 7: Requirements validation Structured walkthroughs Why have walkthroughs When to have walkthroughs Who participates What procedures are helpful Thoughtless.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
SE 555 Software Requirements & Specification Requirements Validation.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Verification and Validation
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Test Design Techniques
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Enterprise information systems in practise SW TESTING
Software Inspections and Walkthroughs By. Adnan khan.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
Software Reviews. Introduction/Motivation When creating written documents, it is a good idea to have someone else proof read your work. Oftentimes an.
S oftware Q uality A ssurance Part One Reviews and Inspections.
Chapter 14: Inspection  Basic Concept and Generic Process  Fagan Inspection  Other Inspection and Related Activities.
Software Inspections. Defect Removal Efficiency The number of defects found prior to releasing a product divided by The number of defects found prior.
Lecture 16 Formal Technical Reviews (FTRs) (also know as inspections) FOR0383 Software Quality Assurance 9/19/20151Dr Andy Brooks Don´t review in your.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS.
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
Formal Technical Reviews Matt Graham 18 November 2004 EECS 814 University of Kansas.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Project quality management. Introduction Project quality management includes the process required to ensure that the project satisfies the needs for which.
Pair Development Framework Monvorath (Molly) Phongpaibul.
Unit III Static Testing. static testing Testing of a component or system at requirements or implementation level without execution of any software, e.g.,
Inspection and Review The main objective of an Inspection or a Review is to detect defects. This activity and procedure was first formalized by Mike Fagan.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Advances In Software Inspection
Testing and Debugging. Testing Fundamentals  Test as you develop Easier to find bugs early rather than later Prototyping helps identify problems early.
Politehnica University of Timisoara Mobile Computing, Sensors Network and Embedded Systems Laboratory Embedded Systems Testing Static Techniques instructor:
Chapter 4-Static Testing Techniques Types of Reviews Review Process Static analysis using tools.
Software Project Management Lecture # 12. Outline Quality Management ( chapter 26 - Pressman )  SQA  Who does it?  SQA Activities  Software reviews.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Software Reviews Ashima Wadhwa.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
CSC 480 Software Engineering
Verification and Validation
Verification & Validation
Verification and Validation
Verification and Validation
Lecture 09:Software Testing
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Applied Software Project Management
QA Reviews Lecture # 6.
ISTQB / ISEB Foundation Exam Practice 4 Dynamic test techniques
Software Reviews.
Testing, Inspection, Walkthrough
Presentation transcript:

Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy

 Static Techniques – Main Concepts  Static Analysis by Tools  Reviews 2

Static Techniques Main Concepts

 What is static testing?  Static testing can be defined as testing a system without executing its code  Static testing can be two main types:  Manual examination – reviews  Automated analysis – static analysis 4

 Typical defects that are easier to find in reviews than in dynamic testing include:  Deviations from standards  Requirement defects  Design defects  Insufficient maintainability  Incorrect interface specifications 5

 Defects found early by reviews are cheaper to fix  Static techniques find causes (sources) of failures (defects) rather than the failures themselves  Static analysis supplements dynamic testing for a better and more efficient test coverage 6

 Static testing finds defects that are difficult to find by dynamic testing  E.g., detecting violation of certain programming standards  Use of forbidden error-prone program constructs  Potential performance issues  Potential security issues 7

Static Analysis by Tools

 The term static analysis refers to using tools for automated code analysis  Static analysis can locate defects that are hard to find with dynamic testing  Static analysis finds potential defects rather than failures 9

 An additional objective of static analysis is to derive measurements, or metrics  In order to measure and prove the quality  Typical measures are:  CPU and memory consumption  Number of calls to a method  How many times a variable has been accessed  Done by tools called profilers 10

 Static analysis tools can be used to analyze:  Program code  E.g. control flow and data flow  Generated output  E.g. DLL, HTML and XML 11 ░░

 Static analysis can be used in order to detect security problems  Error-prone program constructs used  Necessary checks are not done  Examples:  Lack of buffer overflow protection  Failing to check that input data may be out of bounds 12

 The document to be analyzed must follow a certain formal structure  In order to be checked by a tool  Formal documents can be  The technical requirements  The software architecture  The software design  UML, HTML or XML documents  E.g. class diagrams in UML 13

 All compilers carry out a static analysis of the program under test  Making sure that the correct syntax of the programming language is used  Further information can be generated  Undeclared variables  Unreachable code  Overflow or underflow of field boundaries  tatic_code_analysis tatic_code_analysis tatic_code_analysis 14

Human-Driven Examination of the Code

 What is a review (quality review)?  A type of static testing  Could be code review, design review, test plan review, documentation review, etc.  A process or meeting during which a software product is examined by someone  In most cases done by the team members  To ascertain discrepancies from planned results  To recommend improvements  Finds defects by directly examining documents 16

 All types of documents can be subjected to a review  Source code  Requirements specifications  Concepts  Test plans  Test documents  Etc. 17

 Reviews can have various objectives  Finding defects  Building confidence  That we can proceed with the item under review  Ensuring uniform understanding of the document  Building consensus around the statements in the document 18

 The level of formality of different types of reviews can vary  Informal  Includes no written instructions for reviewers  Systematic  Including team participation  Documented results of the review  Documented procedures for conducting the review 19

 By level of formality  Formal  Informal  By expertise of the reviewers  Technical  Non-technical 20

 Planning  Selecting the personal, allocating roles, defining entry and exit criteria  Kick-off  Kick-off  Distributing documents, explaining the objectives, checking entry criteria  Individual preparation  Individual preparation 21

 Review meeting  Rework  Rework  Fixing defects found, typically done by the author Fixing defects found, typically done by the author  Follow-up  Checking the defects have been addressed, gathering metrics and checking on exit criteria 22

23 ✍ ♝ ✒

 Manager  Decides on the execution of reviews  Allocates time in project schedules  Determines if the review objectives have been met 24 ♔

 Moderator  Leads the review of the document or set of documents  Planning the review  Running the meeting  Following-up after the meeting  The moderator may mediate between the various points of view  Often he is the person upon whom the success of the review rests 25 ♝

 Author  The writer or person with chief responsibility for the document(s) to be reviewed 26 ✍

 Reviewers (checkers, inspectors)  Individuals with a specific technical or business background  Identify and describe findings (e.g., defects) in the product under review  After the necessary preparation  Should be chosen to represent different perspectives and roles in the review process  Should take part in any review meetings 27

 Scribe (or recorder)  Documents all the issues, problems and open points that were identified during the meeting 28

Phases and Roles

 A review can be performed in a different form:  Informal review  Walkthrough  Technical review  Inspection  Peer review 30

 Informal review  No formal process  May take the form of pair programming or a technical lead reviewing designs and code  Results may be documented  Varies in usefulness  Depending on the reviewers  Main purpose: inexpensive way to get some benefit 31

 Walkthrough  Meeting led by author  May take different form:  Scenarios  Dry runs  Peer group participation  Sessions open-ended  Optional pre-meeting preparation of reviewers  Optional preparation of a review report including list of findings 32

 Walkthrough  Optional scribe  Not the author  May vary in practice  From quite informal to very formal  Main purposes:  Learning  Gaining understanding  Finding defects 33

 Technical Review  Documented, defined defect-detection process  Includes peers and technical experts  Optional management participation  May be performed as a peer review without management participation  Ideally led by trained moderator  Not the author  Pre-meeting preparation by reviewers 34

 Technical Review  Optional use of checklists  Preparation of a review report which includes  List of findings  Verdict whether the software product meets its requirements  Recommendations related to findings (where appropriate)  May vary in practice  From quite informal to very formal 35

 Technical Review  Main purposes:  Discussing  Making decisions  Evaluating alternatives  Finding defects  Solving technical problems  Checking conformance to specifications, plans, regulations, and standards 36

 Inspection  Led by trained moderator  Not the author  Usually conducted as a peer examination  Defined roles  Includes metrics gathering  Formal process  Based on rules and checklists 37

 Inspection  Specified entry and exit criteria for acceptance of the software product  Pre-meeting preparation  Inspection report including list of findings  Formal follow-up process  Optional process improvement components  Optional reader  Main purpose: finding defects 38

 Peer review  Reviews performed within a peer group  I.e. colleagues at the same organizational level  Can be used for:  Walkthroughs  Technical reviews  Inspections 39

40 Conclusions and Examples ✘ ✔ ✘ ✘ ✔ ✔ ✔ ✔ ✔ ✔ ✘ Ⓘ Ⓘ Ⓘ Ⓘ Ⓑ Ⓑ

Questions?