l 04 z quality engineering

Upload: gaby-baraka

Post on 29-May-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 L 04 Z Quality Engineering

    1/25

    Software Quality Assurance and Testing

    (Section A)

    Lecture 04

    Software Quality Engineering

  • 8/9/2019 L 04 Z Quality Engineering

    2/25

    Software Quality Engineering

    Software Quality Engineering (SQE)

    SQE Activities (described in the previous two lectures

    ) SQE in Software Process

  • 8/9/2019 L 04 Z Quality Engineering

    3/25

    Software Quality Engineering Contd

    What is Software Quality Engineering (SQE)?

    Software Quality Engineering (SQE) is a process that

    evaluates, assesses, and improves the quality of

    software.

    Typical Software Quality Attributes:

    Reliability: ability of a program to achieve precisely its

    intended mission

    Robustness: ability of a program to react appropriately to

    abnormal conditions

    Efficiency: ability of a software to place as few demands as

    possible on hardware resources, such as processor time,

    memory space occupied, or network bandwidth, to achieve a

    given task.

  • 8/9/2019 L 04 Z Quality Engineering

    4/25

    Software Quality Engineering Contd

    Typical Software Quality Attributes:

    Maintainability: effort required modifying, updating, evolving,

    or repairing a program during its operation.

    Portability: effort required to transfer a program from one

    computing environment or platform to another.

    Reusability: ability and effort required to reuse a program or

    part of a program in other applications.

    Interoperability: effort required interconnecting or relating

    two different applications, running possibly in different

    computing environments.

    Usability: effort required to learn, operate and use a program

  • 8/9/2019 L 04 Z Quality Engineering

    5/25

  • 8/9/2019 L 04 Z Quality Engineering

    6/25

    SQE Activities

    QA Activities need additional support: Planning and goal setting

    Management:

    When to start and stop?

    Adjustment and improvement, etc Assessment

    Assessment of quality/reliability, etc:

    Data collection

    Analysis and modeling

    Providing feedback for management

    QA + above Software Quality Engineering (SQE)

  • 8/9/2019 L 04 Z Quality Engineering

    7/25

    SQE Process

    Different customers have different quality expectationsunder different market environments.

    We need to manage these quality expectations as an engineering

    problem by meeting these expectations through the selection and

    execution of appropriate Quality Assurance (QA) activities while

    meeting project constraints such as cost and project schedule,project risk, etc.

    Quality management provides an independent check on the

    software development process.

  • 8/9/2019 L 04 Z Quality Engineering

    8/25

    SQE Process

    Quality Engineering Process consist of: Pre-QA Activity

    In-QA Activity / QA activity

    Post-QA Activity / Analysis and Feedback

  • 8/9/2019 L 04 Z Quality Engineering

    9/25

    SQE Process

    Figure: Software quality engineering process

  • 8/9/2019 L 04 Z Quality Engineering

    10/25

    SQE Process Pre-QA Activity

    Pre-QA Activity Quality Planning

    Quality planning should begin at an early stage in the

    software process.

    The result of the quality planning process is theproject quality plan.

    These activities should carried out before the regular

    QA activities.

    Two major types of pre-QA activities Set specific quality goals

    Form QA strategy

    Select appropriate QA activities to perform

    Choose appropriate quality measurements and models to

    provide feedback, quality assessment and improvement

  • 8/9/2019 L 04 Z Quality Engineering

    11/25

    SQE Process In-QA Activity

    In-QA Activity / QA activity Executing planned QA activities

    Handling discovered defects

    These activities were discussed in last two lectures.

  • 8/9/2019 L 04 Z Quality Engineering

    12/25

    SQE Process Post-QA Activity

    Post-QA Activity Quality measurement, assessment and improvement

    These activities are carried out after normal QA

    activities have started but not as part of these normal

    activities. The primary purpose of these activities is to provide

    quality assessment and feedback so that various

    management decisions can be made and possible

    quality improvement initiatives can be carried out.

    Post-QA does not men after the finish of QA activities,

    it could be carried out parallel to QA activities

  • 8/9/2019 L 04 Z Quality Engineering

    13/25

    Pre-QA Activity / Quality Planning

    Goal Setting Forming QA strategy

    Goal Setting:

    Satisfy customers quality expectations economically

    by the software development process. How? Identify quality view and attributes

    Select direct quality measures ( to measure the selected

    quality attributes from customers perspective)

    Assess quality expectation vs. cost

  • 8/9/2019 L 04 Z Quality Engineering

    14/25

    Pre-QA Activity / Quality Planning

    Identify quality view and attributesCustomers/user expectations

    Market condition

    Product type, etc

    Select direct quality measuresReliability: primary concern - business/commercial software

    Safety: Primary concern air traffic control system (real-time

    control system), embedded software in automobile, medical

    device, etc.

    Usability: Primary concern - Personal utilities software,

    instead of reliability or safety.

    These quality views and attributes could be found in close

    cooperation with the customers and user or these who

    represents their interest, such as requirement analysts,

    marketing personal, etc.

  • 8/9/2019 L 04 Z Quality Engineering

    15/25

    Pre-QA Activity / Quality Planning

    Assess quality expectation vs. cost Cost-of-quality

    Economic models: COCOMO (Constructive Cost Model)

  • 8/9/2019 L 04 Z Quality Engineering

    16/25

    Pre-QA Activity / Quality Planning

    Forming QA strategy After fixing the quality goals, we can fix appropriate

    QA activities

    Evaluate individual QA alternatives

    Strength/weakness/const/applicability, etc

    Measurement and feedback planning

    To achieve quality goals we need to know where we are and

    how far away we are from the specific quality goals.

  • 8/9/2019 L 04 Z Quality Engineering

    17/25

    In-QA Activity / QA activity

    Discussed in last two lectures.

  • 8/9/2019 L 04 Z Quality Engineering

    18/25

    Post-QA Activity / Analysis and Feedback

    Analysis and Feedback The primary purpose of this activity is to provide

    quality assessment and feedback for the

    management to make decisions, like- product release

    can be made and possible quality and process

    improvement initiatives can be carried out.

    Measurement:

    Defect measurement as part of defect handling process

    These measurements data input to the subsequent analysis

    and modeling activities that provide feedback and usefulinformation to manage software project and quality (historical

    baseline).

  • 8/9/2019 L 04 Z Quality Engineering

    19/25

    Post-QA Activity / Analysis and Feedback

    Analysis and modeling: Input: above data

    Output/goal: feedback and follow-up (assessment of current

    product quality, accurate predication of future quality)

    Feedback and follow-up:

    Results from the analysis and modeling activities can providefeedback to the quality engineering process to help us make

    project scheduling, resource allocation, and other management

    decisions.

    Follow-up activities:

    Results from these analysis and modeling activities could beapplied immediate or long term quality control strategies.

    Example: If major changes are suggested for the quality

    engineering process or software development process, they

    typically need to wait unitil the current process is finished to

    avoid unnecessary disturbance and risk to the current project.

  • 8/9/2019 L 04 Z Quality Engineering

    20/25

    SQE in Software Development Process

    QA activities carried out and integrated into the

    software development process (covered last lecture)

    Now we want to integrate Quality Engineering(pre-QA planning and post-QA measurement and

    analysis activities) activities to software

    development process

  • 8/9/2019 L 04 Z Quality Engineering

    21/25

    SQE in Software Development Process Contd

    SQE activities Development process

    Quality Planning Product Planning

    Example: In waterfall model, carried out in the phase for

    market analysis, requirement analysis, and product

    specification. Such information provide us with valuable information about

    quality expectations by target customers and users in the

    specific market.

    Quality goals can be planned and set accordingly

    QA activity development activities Analysis/feedback Project management

  • 8/9/2019 L 04 Z Quality Engineering

    22/25

    SQE in Waterfall Model

    Fig: SQE in Waterfall Model

  • 8/9/2019 L 04 Z Quality Engineering

    23/25

    SQE in Waterfall Model

    Quality Planning: Starts with requirement analysisphase

    QA activities: Starts just after the quality planningphase

    Measurement and analysis: starts after the QAactivities phase

  • 8/9/2019 L 04 Z Quality Engineering

    24/25

    SQE Effort Profile

    The overall quality engineering effort over time is divided

    into three parts

    Fig: SQE effort in waterfall process

  • 8/9/2019 L 04 Z Quality Engineering

    25/25

    SQE Effort Profile

    The bottom part represents the share of total effort by

    quality planning activities

    The middle part represents the share of total effort for

    the execution of selected QA activities

    The upper part represents the share of total effort for the

    measurement and quality assessment activities