SQA Lecture 1

Embed Size (px)

Citation preview

  • 8/10/2019 SQA Lecture 1

    1/55

    SOFTWARE QUALITY ENGINEERING

    LECTURE # 1

    INTRODUCTION

    Engr. Ali Javed5 th September, 2012

  • 8/10/2019 SQA Lecture 1

    2/55

    Instructor Information2

    Course Instructor: Engr. Ali JavedAssistant ProfessorDepartment of Software Engineering

    U.E.T TaxilaEmail:[email protected]: http://web.uettaxila.edu.pk/uet/UETsub/perSites/[email protected] No: +92-51-9047747Office hours:

    Monday, 09:00 - 11:00, Office # 7 S.E.D

    Lab Instructors: Engr. Anum & Engr. Kanwal

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    3/55

    Course Information3

    Course Name: Software Quality Engineering

    Course Code: SE-301

    CMS Link:http://web.uettaxila.edu.pk/CMS/AUT2012/seSQEbs/

    Engr. Ali Javed

    http://web.uettaxila.edu.pk/CMS/AUT2012/seSQEbs/http://web.uettaxila.edu.pk/CMS/AUT2012/seSQEbs/http://web.uettaxila.edu.pk/CMS/AUT2012/seSQEbs/http://web.uettaxila.edu.pk/CMS/AUT2012/seSQEbs/
  • 8/10/2019 SQA Lecture 1

    4/55

    Reference Books

    Software Quality Engineering: Testing, Quality Assurance, andQuantifiable Improvement: JEFF TIAN, 2005.

    Software Testing & Continuous quality improvement 2nd

    Editionby William Lewis.

    The Art of Software Testing: Glenford Myers, 2 nd Edition

    Software Testing and Quality Assurance, Theory and Practice:KSHIRASAGAR NAIK, PRIYADARSHI TRIPATHY, 2008.

    4

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    5/55

  • 8/10/2019 SQA Lecture 1

    6/55

    Grading Criteria

    GradingMid Term - 20%

    End Term - 40%Quiz - 10 %Assignment - 10 %Lab Sessions - 20 %

    6

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    7/55

    Quizzes and Assignments

    Quiz- 4 quizzes

    2 before mid term2 after mid term

    Assignment- 4 assignments

    2 before mid term2 after mid term

    7

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    8/55

    Quality

    Quality Engineering

    Quality Types

    Quality Control vs Quality Assurance

    Different views of Quality

    Quality Models

    Cost of Quality

    Software Quality8

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    9/55

    Different Views of Quality

    Transcendental ViewUser ViewManufacturing ViewProduct ViewValue based View

    9

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    10/55

    Quality Models

    Standard quality models

    McCall

    ISO/IEC 9126

    IEEE

    Application or company specific quality models

    FURPS

    GQM Approach

    10

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    11/55

    Cost of Quality

    Prevention cost:

    Appraisal cost:

    Failure cost:

    Internal failure costExternal failure cost

    11

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    12/55

    Quality Assurance Classification Scheme for Quality Assurance

    Dealing with Pre- Post Release Defects

    Defect prevention

    Defect Reduction Defect Containment

    Quality Assurance12

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    13/55

    Classification scheme for QA

    Defect PreventionEducation and trainingProcess conformance and standards enforcementTools/technologies and techniques

    Defect Reduction (Defect Detection and Removal)Static TestingDynamic Testing

    Defect ContainmentSoftware Fault ToleranceFault Containment

    13

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    14/55

    Software Quality AssuranceSQA Team

    SQA Plan

    Software Review

    Formal Technical ReviewsReview Guidelines

    Software Quality Assurance14

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    15/55

    SQA Team15

    Testing Manager

    Test Team Lead

    Test Analyst

    Tester

    Independent Test Observer

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    16/55

    SQA Plan16

    The software quality assurance plan is an outline of quality measures toensure quality levels within a software development effort.

    The plan is used to compare the actual levels of quality during developmentwith the planned levels of quality.

    If the levels of quality are not within the planned quality levels,management will respond appropriately as documented within the plan.

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    17/55

    Software Reviews17

    What is software review?

    Why software reviews?

    Objectives

    Review Meeting Constraints

    Review Meeting Results

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    18/55

    Configuration

    Software Configuration Management

    Baselines

    Software Configuration Items

    SCM Process

    SCM Tasks

    Software Configuration Management18

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    19/55

    Software Configuration Management19

    Software Configuration Management is the art ofidentifying, organizing and controlling modificationsto the software being built by a programming team. It

    maximizes productivity by minimizing mistakes

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    20/55

    Baselines20

    IEEE Std. No. 610.12-1990 definesbaselines as,

    A specification or product that has beenformally reviewed and agreed upon, thatthereafter serves as the basis for furtherdevelopment, and that can be changed onlythrough formal change control procedures.

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    21/55

    SCI21

    The items that comprises all information produced asa part of software process are collectively called asoftware configuration items.

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    22/55

    SCM Tasks22

    Identifications of objects

    Version Control

    Change Control

    Configuration Auditing

    Status Reporting

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    23/55

    What is Software Testing?

    Software Testing ActivitiesSoftware Testing Principles

    Test Cases

    Basic Types of testing

    Methods of Testing

    Software Testing23

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    24/55

    Software Testing24

    Testing is the process of executing a programor system with the intent of finding errors.

    by Myers 1979

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    25/55

    Test Case25

    A test case in software engineering is a set ofconditions or variables under which a tester willdetermine whether an application or software

    system meets specifications.

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    26/55

    Software Testing Activities26

    Test Planning

    Test Case Design and Specification

    Test Set up

    Test Execution

    Test Result Analysis and Reporting

    Problem/Bug Reporting

    Test Management and Measurement

    Test Automation

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    27/55

    Methods of Testing27

    Manual Testing

    Automated Testing

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    28/55

    Types of Testing28

    Black Box Testing

    White Box Testing

    Gray Box Testing

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    29/55

    Introduction of static testingStatic Testing Approach

    Static Testing Methods

    InspectionsWalkthroughsDesk CheckingPeer Ratings

    Static Testing29

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    30/55

    Static Testing30

    In software development, static testing, also calleddry run testing , is a form of software testing wherethe authors manually read their documents/code to

    find any errors.

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    31/55

    Static Testing Methods31

    InspectionsFagan InspectionGilb InspectionTwo Person InspectionN-Fold InspectionMeetingless Inspection

    WalkthroughsDesk CheckingPeer Ratings

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    32/55

    Black Box Testing32

    Engr. Ali Javed

    Black Box Testing

    Black Box Testing methods

  • 8/10/2019 SQA Lecture 1

    33/55

    Black Box Testing Methods33

    Equivalence Class Partitioning Testing

    Boundary Value Testing

    Omission Testing

    Null Case Testing

    Volume Testing

    Load Testing

    Stress Testing

    Performance Testing

    Resource TestingRequirements/Specification Testing

    Button Press Testing

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    34/55

  • 8/10/2019 SQA Lecture 1

    35/55

  • 8/10/2019 SQA Lecture 1

    36/55

    White Box Testing Methods36

    Statement Coverage

    Segment Coverage

    Branch Coverage

    Compound Condition CoverageBasis Path Testing

    Data Flow Testing

    Loop Testing

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    37/55

    Debugging37

    Engr. Ali Javed

    DebuggingBug Life Cycle

    Reporting

    Bug/Defect Types

    Defect ReportMethods of Debugging

  • 8/10/2019 SQA Lecture 1

    38/55

    Debugging38

    Debugging is the activity which is performed after executing asuccessful test case.

    Debugging consists of determining the exact nature andlocation of the suspected error and fixing the error.

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    39/55

    Bug Lifecycle39

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    40/55

    Reporting40

    Engr. Ali Javed

    DailyWeeklyEnd of Cycle

  • 8/10/2019 SQA Lecture 1

    41/55

    Bug Types41

    Engr. Ali Javed

    Showstopper

    Critical

    Non-Critical (Minor)

  • 8/10/2019 SQA Lecture 1

    42/55

    Methods of Debugging42

    Engr. Ali Javed

    Debugging by Brute Force Attack

    Debugging by Induction

    Debugging by Deduction

    Debugging by Backtracking

    Debugging by Testing

  • 8/10/2019 SQA Lecture 1

    43/55

    Quality Management43

    Engr. Ali Javed

    Quality Management Overview

    Quality AssuranceQuality Planning

    Quality Control

    Software Measurement and Metrics

  • 8/10/2019 SQA Lecture 1

    44/55

    Quality Management44

    The term Quality management has a specific meaning within manybusiness sectors. This specific definition can be considered to have thefollowing main components:

    quality assurancequality planningquality control

    Engr. Ali Javed

  • 8/10/2019 SQA Lecture 1

    45/55

    Software Metrics45

    Engr. Ali Javed

    A software metric is a quantitative measure of degree to whicha system, component or process possesses a given attribute.

    Lines of code in a program, number of person-days required to

    develop a component, KLOC/defects etc.

  • 8/10/2019 SQA Lecture 1

    46/55

    Process Improvement46

    Engr. Ali Javed

    Process ImprovementProcess and product quality

    Process analysis

    Process change

    CMMI ModelSix Sigma

  • 8/10/2019 SQA Lecture 1

    47/55

  • 8/10/2019 SQA Lecture 1

    48/55

    Process & Product Quality48

    Engr. Ali Javed

    Productquality

    Developmenttechnology

    Cost, time andschedule

    Processquality

    Peoplequality

  • 8/10/2019 SQA Lecture 1

    49/55

    Process Analysis49

    Engr. Ali Javed

    Questionnaires and Interviews

    Ethnographic Analysis

  • 8/10/2019 SQA Lecture 1

    50/55

    Process Change50

    Engr. Ali Javed

    Involves making modifications to existing processes.

  • 8/10/2019 SQA Lecture 1

    51/55

    CMMI[9]51

    Engr. Ali Javed

    CMMI is a process improvement approach that providesorganizations with the essential elements of effective processesthat ultimately improve their performance.

    The CMMI model has 5 levels: Initial

    Managed

    Defined

    Quantitatively Managed

    Optimizing

  • 8/10/2019 SQA Lecture 1

    52/55

    Six Sigma [8]52

    Engr. Ali Javed

    Six Sigma is a businessmanagement strategy originallydeveloped by Motorola, USA in

    1986. As of 2010, it is widely usedin many sectors of industry.

    Six Sigma seeks to improve thequality of process outputs byidentifying and removing the causesof defects (errors) and minimizingvariability in manufacturing andbusiness processes.

  • 8/10/2019 SQA Lecture 1

    53/55

    Cleanroom Software Engineering [10]53

    Engr. Ali Javed

    Cleanroom Software Engineering

    Cleanroom FunctionsCleanroom Strategy

  • 8/10/2019 SQA Lecture 1

    54/55

    References54

    1. Software Quality Engineering: Testing, Quality Assurance, and QuantifiableImprovement: JEFF TIAN, 2005.

    2. The Art of Software Testing by Glenford Myers

    3. Software Engineering by Ian Sommerville

    4. Software Engineering by Roger Pressman

    5. WhiteBox and BlackBox Testing methods used in LMKR Software house

    6. http://www.mosaicinc.com/mosaicinc/rmThisMonth.asp

    7. http://en.wikipedia.org/wiki/Quality_management

    8. http://en.wikipedia.org/wiki/Six_sigma

    9. http://en.wikipedia.org/wiki/CMMI 10. http://en.wikipedia.org/wiki/Cleanroom_software_engineering

    Engr. Ali Javed

    http://www.mosaicinc.com/mosaicinc/rmThisMonth.asphttp://en.wikipedia.org/wiki/Quality_managementhttp://en.wikipedia.org/wiki/Six_sigmahttp://en.wikipedia.org/wiki/CMMIhttp://en.wikipedia.org/wiki/Cleanroom_software_engineeringhttp://en.wikipedia.org/wiki/Cleanroom_software_engineeringhttp://en.wikipedia.org/wiki/CMMIhttp://en.wikipedia.org/wiki/CMMIhttp://en.wikipedia.org/wiki/Six_sigmahttp://en.wikipedia.org/wiki/Six_sigmahttp://en.wikipedia.org/wiki/Quality_managementhttp://en.wikipedia.org/wiki/Quality_managementhttp://www.mosaicinc.com/mosaicinc/rmThisMonth.asp
  • 8/10/2019 SQA Lecture 1

    55/55

    For any query Feel Free to ask55