• No results found

Software Quality Assurance Framework

N/A
N/A
Protected

Academic year: 2021

Share "Software Quality Assurance Framework"

Copied!
128
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Quality Assurance

Framework (SQA)

Yujuan Dou 窦玉娟

2008/11/28

(2)

Whole Course Plan

„

Software Quality Assurance Framework

„

Test Requirement

„

Test Planning

„

Test Case Design

„

Test Execution and Defect Management

(3)

Home Work

„

Write Test Requirement

„

Write Test Plan (Group List)

„

Delivery the test cases

„

Summarize the test results and deliver a

test report

„

Home work delivery:

To:

[email protected]

,

Cc:

[email protected]

(4)

Agenda

„

What Is Software Quality?

„

Software Quality Assurance

„

Components of Quality Assurance

…

Software Testing

…

Quality Control

(5)

Agenda-con.

„

Software Quality Assurance Plan

…

Steps to Develop and Implement a

Software Quality Assurance Plan

„

Quality Standards.

„

Activities and responsibilities of SQA

team.

„

Responsibilities of testers.

(6)

What Is Software

Quality?

(7)

What Is Software Quality?

Professional Views about Software Quality

…Conformance to requirements.

„ The first is that quality means “meeting

requirements.”

…Fitness for use.

„ Another definition of quality, the customer’s, is

the one we use. With this definition, the

customer defines quality as to whether the product or service does what the customer needs.

(8)

„

Software Quality is something everyone

wants. Managers know that they want high

quality, software developers know they

want to produce a quality product, and

users insist that software work consistently

and be reliable.

(9)

Quality Assurance

„

Quality Assurance [ISO 9000]:

„

All those planned and systematic actions

necessary to provide adequate confidence

that a product or service will satisfy

(10)

Software quality assurance

[IEEE]:

„

1. A planned and systematic pattern of all

actions necessary to provide adequate

confidence that an item or product

conforms to established technical

requirements.

„

2. A set of activities designed to evaluate

the process by which the products are

(11)

Role of Customer

„

Customers don’t buy products, they buy

assurances that their expectations with the

products would met.

„

You also, can only sell assurances – in

other words, Quality.

„

Customer is in absolute position to judge

(12)

Software Quality Assurance

„

A formal definition of software quality

assurance is that it is the systematic

activities providing evidence of the fitness

for use of the total software product.

„

Software quality assurance is achieved

through the use of established guidelines

for quality control to ensure the integrity

and prolonged life of software.

(13)

Objectives of Software Quality

Assurance

„

Only

Quality Control

(testing) is not

enough:

…What would you do if your software does not pass the QC test?

…QC is a reactive approach, not proactive one.

„

Quality Assurance includes Proactive as

well as Reactive approaches.

(14)

PPQA in CMMI

„

The purpose of Process and Product

Quality Assurance is to provide staff and

management with objective insight into

processes and associated work products.

(15)

Measuring Software Quality

„ Usually recognized in the form of bugs or defects.

… Defect rate (defect/KLOC or defects/FP)

… Reliability (Failure free operation)

„ IBM monitors CUPRIMDSO – Capability (Functionality),

Usability, Performance, Reliability, Installability, Maintainability, Documentation, Service, & Overall.

„ HP monitors FURPS – Functionality, Usability, Reliability,

(16)

Purpose of SQA Activities

„ Practically, zero defect product is not possible to achieve.

„ The purpose of quality assurance practices are to minimize the number of defects.

„ How much efforts are needed to minimize the number of defects?

… are you developing a customized project or product?

(17)

„ Quality assurance is the function responsible for managing quality.

„ The word “assurance” means that if the

processes are followed, management can be assured of product quality.

„ Quality assurance is a catalytic function that

should encourage quality attitudes and discipline on the part of management and workers.

„ Successful quality assurance managers know how to make people quality conscious and to make them recognize the benefits of quality to themselves and to the organization.

(18)

„

It is not the sole responsibility of the

software quality assurance group but is

determined by the consensus of the

project manager, project leader, project

personnel, and users.

(19)

Developer to Tester Ratio

„

There is no standard developer to tester

ratio in IT industry.

„

However, industry does have some norms:

…For customized projects, ratio must be at least 3:1

(20)

Organizational Positioning of SQA

(Observed)

CEO CEO Development Manager Development Manager HR Manager HR Manager Admin Manager Admin Manager SQA Manager SQA Manager SCM Manager SCM Manager Project Manager 1 Project Manager 1 Project Manager 2 Project Manager 2

(21)

Organizational Positioning of SQA

(Recommended)

CEO CEO Development Manager Development Manager SQA Manager SQA Manager SCM Manager SCM Manager Support Manager Support Manager Admin Manager Admin Manager Project Manager 1 Project Manager 1 Project Manager 2 Project Manager 2

(22)

Top Management Support to SQA

Department

„ Proper staffing and hiring

„ Separate budget for payroll and running expenses

„ Separate capital budget

„ Test facilities and environment

„ Trust and confidence

„ Authority

• Don’t force to close defects • Don’t force to sign acceptance

(23)

Components of

(24)

Components of Quality Assurance

„ Most software quality assurance activities can be categorized into software testing, that is,

verification and validation, software configuration management, and quality control.

„ But the success of a software quality assurance program also depends on a coherent collection of standards, practices, conventions, and

specifications,

(25)

Exhibit 1.1. Quality Assurance

Components

(26)

Software Testing

„

Software testing is a popular risk

management strategy. It is used to verify

that functional requirements were met.

The limitation of this approach,

„

however, is that by the time testing occurs,

it is too late to build quality into the product.

(27)

Software Testing

„

Tests are only as good as the test cases,

but they can be inspected to ensure that

all the requirements are tested across all

possible combinations of inputs and

system states.

„

However, not all defects are discovered

during testing.

(28)

Software Testing

„ Software testing includes the activities outlined in this text, including verification and validation activities.

„ In many organizations, these activities, or their supervision, are included within the charter for the software quality assurance function.

„ The extent to which personnel independent of design and coding should participate in software quality assurance activities is a matter of

(29)

Software Testing

„ The major purpose of verification and validation activities is to ensure that software design, code, and documentation meet all the requirements imposed on them.

„ Examples of requirements include user

requirements; specifications derived from and designed to meet user requirements; code

review and inspection criteria; test requirements at the modular, subsystem, and integrated

software levels; and acceptance testing of the code after it has been fully integrated with

(30)

Software Testing

„ During software design and implementation, verification helps determine whether the

products of one phase of the software

development life cycle fulfill the requirements established during the previous phase.

„ The verification effort takes less time and is less complex when conducted throughout the

(31)

Quality Control

„

Quality control is defined as the processes

and methods used to monitor work and

observe whether requirements are met. It

focuses on reviews and removal of defects

before shipment of products.

(32)

Quality Control

„

Quality control should be the responsibility

of the organizational unit producing the

product.

„

It is possible to have the same group that

builds the product perform the quality

control function, or to establish a quality

control group or department within the

organizational unit that develops the

product.

(33)

Quality Control

„

Quality control consists of well-defined

checks on a product that are specified in

the product quality assurance plan.

„

For software products, quality control

typically includes specification reviews,

inspections of code and documents, and

checks for user deliverables.

(34)

Quality Control

„ Usually, document and product inspections are conducted at each life cycle milestone to

demonstrate that the items produced are within the criteria specified by the software quality

assurance plan.

„ These criteria are normally provided in the requirements specifications, conceptual and detailed design documents, and test plans.

(35)

„

The documents given to users are the

requirement specifications, design

documentation, results from the user

acceptance test, the software code, user

guide, and the operations and

maintenance guide.

„

Additional documents are specified in the

software quality assurance plan.

(36)

„ Quality control can be provided by various sources. For small projects, the project

personnel’s peer group or the department’s software quality coordinator can inspect the documents.

„ On large projects, a configuration control board may be responsible for quality control. The

board may include the users or a user

representative, a member of the software quality assurance department, and the project leader.

(37)

„ Inspections are traditional functions of quality control, that is, independent examinations to assess compliance with some stated criteria.

„ Peers and subject matter experts review specifications

and engineering work products to identify defects and suggest improvements.

„ They are used to examine the software project for

adherence to the written project rules at a project’s milestones and at other times during the project’s life cycle as deemed necessary by the project leader or the software quality assurance personnel.

„ An inspection may be a detailed checklist for assessing

compliance or a brief checklist to determine the

existence of such deliverables as documentation. A report stating the purpose of the inspection and the

deficiencies found goes to the project supervisor, project leader, and project personnel for action.

(38)

Quality Control

„ Responsibility for inspections is stated in the software quality assurance plan.

„ For small projects, the project leader or the

department’s quality coordinator can perform the inspections.

„ For large projects, a member of the software

quality assurance group may lead an inspection performed by an audit team, which is similar to the configuration control board mentioned

previously.

„ Following the inspection, project personnel are assigned to correct the problems on a specific schedule.

(39)

Quality Control

„ Quality control is designed to detect and correct defects, whereas quality assurance is oriented toward preventing them.

„ Detection implies flaws in the processes that are

supposed to produce defect-free products and services.

„ Quality assurance is a managerial function that prevents problems by heading them off, and by advising restraint and redirection.

(40)

Software Configuration Management

„

Software configuration management is

concerned with labeling, tracking, and

controlling changes in the software

elements of a system.

„

It controls the evolution of a software

system by managing versions of its

software components and their

(41)

„ The purpose of software configuration management is to identify all the interrelated components of software and to control their evolution throughout the various life cycle phases.

„ Software configuration management is a discipline that

can be applied to activities including software

development, document control, problem tracking, change control, and maintenance.

„ It can provide a high cost savings in software reusability

because each software component and its relationship to other software components have been defined.

(42)

Elements of Software

(43)

Software Quality

Assurance Plan

(44)

„ The objectives of software quality are typically achieved by following a software quality

assurance plan that states the methods the project will employ to ensure the documents or products produced and reviewed at each

milestone are of high quality.

„ Such an explicit approach ensures that all steps

have been taken to achieve software quality and provides management with documentation of

those actions.

„ The plan states the criteria by which quality activities can be monitored rather than setting

impossible goals, such as no software defects or 100 percent reliable software.

(45)

Software Quality Assurance Plan

„ The software quality assurance (SQA) plan is an outline of quality measures to ensure quality

levels within a software development effort.

„ The plan is used as a baseline to compare the

actual levels of quality during development with the planned levels of quality.

„ If the levels of quality are not within the planned quality levels, management will respond

(46)

„ The plan provides the framework and guidelines for

development of understandable and maintainable code.

„ These ingredients help ensure the quality sought in a

software project. An SQA plan also provides the

procedures for ensuring that quality software will be produced or maintained in-house or under contract.

„ These procedures affect planning, designing, writing,

testing, documenting, storing, and maintaining computer software.

„ It should be organized in this way because the plan

ensures the quality of the software rather than describing specific procedures for developing and maintaining the software.

(47)

Steps to Develop and

Implement a Software Quality

Assurance Plan

Step 1. Document the Plan

Step 2. Obtain Management Acceptance

Step 3. Obtain Development Acceptance

Step 4. Plan for Implementation of the

SQA Plan

(48)

Step 1. Document the Plan

„ The software quality assurance plan should include the

sections below:

„ Purpose Section — This section delineates the specific

purpose and scope of the particular SQA plan. It should list the name(s) of the software items covered by the

SQA plan and the intended use of the software. It states the portion of the software life cycle covered by the SQA plan for each software item specified.

„ • Reference Document Section — This section provides

a complete list of documents referenced elsewhere in the text of the SQA plan.

(49)

„ • Management Section — This section describes the project’s organizational structure, tasks, and responsibilities.

„ • Documentation Section — This section identifies the documentation governing the development, verification and validation, use, and maintenance of the software. It also states how the documents are to be checked for

adequacy. This includes the criteria and the

identification of the review or audit by which the adequacy of each document will be confirmed.

(50)

„ Standards, Practices, Conventions, and Metrics Section — This section identifies the standards,

practices, conventions, and metrics to be applied, and also states how compliance with these items is to be monitored and assured.

„ • Reviews and Inspections Section — This section defines the technical and managerial reviews, walkthroughs, and inspections to be conducted. It also states how the reviews,

walkthroughs, and inspections are to be

accomplished including follow-up activities and approvals.

(51)

„ Software Configuration Management Section —

This section is addressed in detail in the

project’s software configuration management plan.

„ Problem Reporting and Corrective Action

Section — This section is addressed in detail in

the project’s software configuration management plan.

„ Tools, Techniques, and Methodologies

Section — This section identifies the special

software tools, techniques, and methodologies that support SQA, states their purposes, and describes their use.

(52)

„ Code Control Section — This section defines the

methods and facilities used to maintain, store, secure, and document the controlled versions of the identified software during all phases of

development. This may be implemented in conjunction with a computer program library

and/or may be provided as a part of the software configuration management plan.

(53)

„ Media Control Section — This section states the

methods and facilities to be used to identify the media for each computer product and the documentation required to store the media, including the copy and restore

process, and protects the computer program physical media from unauthorized access or inadvertent damage or degradation during all phases of development.

„ This may be provided by the software configuration

(54)

„ Supplier Control Section — This section states the

provisions for assuring that software provided by suppliers meets established requirements.

„ In addition, it should state the methods that will be used

to assure that the software supplier receives adequate and complete requirements.

„ For previously developed software, this section states

the methods to be used to assure the suitability of the product for use with the software items covered by the SQA plan.

„ For software to be developed, the supplier will be

required to prepare and implement an SQA plan in accordance with this standard.

„ This section will also state the methods to be employed

to assure that the developers comply with the requirements of this standard.

(55)

„ Records Collection, Maintenance, and Retention Section — This section identifies the SQA

documentation to be retained. It states the methods and facilities to assemble, safeguard, and maintain this

documentation, and will designate the retention period. The implementation of the SQA plan involves the

necessary approvals for the plan as well as development of a plan for execution. The subsequent evaluation of the SQA plan will be performed as a result of its execution.

„ Testing Methodology — This section defines the testing

approach, techniques, and automated tools that will be used.

(56)

Step 2. Obtain Management

Acceptance

„

Management participation is necessary for

the successful implementation of an SQA

plan.

„

Management is responsible both for

ensuring the quality of a software project

and for providing the resources needed for

software development.

(57)

„

The level of management commitment

required for implementing an SQA plan

depends on the scope of the project.

„

If a project spans organizational

boundaries, approval should be obtained

from all affected areas.

„

Once approval has been obtained, the

SQA plan is placed under configuration

control.

(58)

„ In the management approval process,

management relinquishes tight control over

software quality to the SQA plan administrator in exchange for improved software quality.

„ Software quality is often left to software

developers. Quality is desirable, but

management may express concern as to the cost of a formal SQA plan.

„ Staff should be aware that management views the program as a means of ensuring software quality, and not as an end in itself.

(59)

„

To address management concerns,

software life cycle costs should be formally

estimated for projects implemented both

with and without a formal SQA plan. In

general, implementing a formal SQA plan

makes economic and management sense.

(60)

Step 3. Obtain Development

Acceptance

„

Because the software development and

maintenance personnel are the primary

users of an SQA plan, their approval and

cooperation in implementing the plan are

essential. The software project team

members must adhere to the project SQA

plan; everyone must accept it and follow it.

(61)

„ No SQA plan is successfully implemented without the involvement of the software team members and their managers in the development of the plan.

„ Because project teams generally have only a few

members, all team members should actively participate in writing the SQA plan.

„ When projects become much larger (i.e., encompassing

entire divisions or departments), representatives of project subgroups should provide input. Constant

feedback from representatives to team members helps gain acceptance of the plan.

(62)

Step 4. Plan for Implementation

of the SQA Plan

„ The process of planning, formulating, and drafting an

SQA plan requires staff and word-processing resources.

„ The individual responsible for implementing an SQA plan

must have access to these resources. In addition, the commitment of resources requires management

approval and, consequently, management support.

„ To facilitate resource allocation, management should be

made aware of any project risks that may impede the implementation process (e.g., limited availability of staff or equipment).

„ A schedule for drafting, reviewing, and approving the

(63)

Step 5. Execute the SQA Plan

„ The actual process of executing an SQA plan by the

software development and maintenance team involves determining necessary audit points for monitoring it.

„ The auditing function must be scheduled during the

implementation phase of the software product so that improper monitoring of the software project will not hurt the SQA plan.

„ Audit points should occur either periodically during

development or at specific project milestones (e.g., at major reviews or when part of the project is delivered).

(64)

„

The SQA plan defines the means that will

be used to ensure that software developed

for a specific product satisfies the user’s

requirements and is of the highest quality

possible within project constraints.

„

In order to do so, it must first ensure that

the quality target is clearly defined and

understood.

(65)

„

It must consider management,

development, and maintenance plans for

the software.

„

The SQA plan should be consistent with

the software configuration management

plan (refer to the Software Configuration

Management KA).

(66)

„

The SQA plan identifies documents,

standards, practices, and conventions

governing the project and how they will be

checked and monitored to ensure

(67)

„

The SQA plan also identifies measures,

statistical techniques, procedures for

problem reporting and corrective action,

resources such as tools, techniques, and

methodologies, security for physical media,

training, and SQA reporting and

(68)

„ Moreover, the SQA plan addresses the software quality assurance activities of any other type of activity described in the software plans, such as procurement of supplier software to the project or commercial off-the-shelf software (COTS) installation, and service after delivery of the software.

(69)

„

It can also contain acceptance criteria as

well as reporting and management

activities which are critical to software

quality.

(70)

„ The specific quality activities and tasks are laid out, with their costs and resource requirements, their overall management objectives, and their schedule in relation to those objectives in the software engineering management,

(71)
(72)

Prevention versus Detection

„

Quality cannot be achieved by assessing

an already completed product.

„

The aim, therefore, is to prevent quality

defects or deficiencies in the first place,

and to make the products assessable by

quality assurance measures. 3

(73)

„

The total cost of effective quality

management is the sum of four

component costs:

…prevention,

…inspection,

…internal failure,

(74)

„ Prevention costs consist of actions taken to

prevent defects from occurring in the first place.

„ Inspection costs consist of measuring,

evaluating, and auditing products or services for conformance to standards and specifications.

„ Internal failure costs are those incurred in fixing defective products before they are delivered.

(75)

„

External failure costs consist of the costs

of defects discovered after the product has

been released.

„

The latter can be devastating because

they may damage the organization’s

reputation or result in the loss of future

sales.

(76)

„

The greatest payback is with prevention.

Increasing the emphasis on prevention

costs reduces the number of defects that

go to the customer undetected, improves

product quality, and reduces the cost of

production and maintenance.

(77)

Verification versus Validation

„

Verification is proving that a product meets

the requirements specified during previous

activities carried out correctly throughout

the development life cycle.

„

and validation checks that the system

meets the customer’s requirements at the

end of the life cycle.

(78)

VV&T

„

Verification

„ the process of evaluating a system or

component to determine whether the products of the given development phase satisfy the

conditions imposed at the start of that phase

„

Validation

„ determination of the correctness of the

products of software development with respect to the user needs and requirements

„

Testing

„ the process of exercising software to verify that

it satisfies specified requirements and to detect faults

(79)

Verification, Validation and

Testing

Verification Validation Testing Any Any

(80)

„ Verification: Says “Are we building the

product right?” All QC activities throughout the life cycle that ensure that interim

deliverables meet their input specification.

„ Validation: Says “Are we building the right product?” The test phase of the life cycle which assures that the end product meets the user’s needs.

(81)

QA

„

Quality assurance is the set of support

activities needed to provide adequate

confidence that processes are established

and continuously improved in order to

produce products that meet specifications

and are fit for use.

(82)

QC & Auditing

„

Quality control is the process by which

product quality is compared with

applicable standards and the action taken

when nonconformance is detected.

„

Auditing is the inspection/assessment

activity that verifies compliance with plans,

policies, and procedures.

(83)

„

Software quality assurance is a planned

effort to ensure that a software product

fulfills these criteria and has additional

attributes specific to the project, for

example, portability, efficiency, reusability,

and flexibility.

„

It is the collection of activities and

functions used to monitor and control a

software project so that specific objectives

are achieved with the desired level of

(84)
(85)

Quality Standards

„

The following describes the leading quality

standards for IT.

…ISO9000

…Capability Maturity Model (CMM)

…PCMM

…CMMI

…Malcom Baldrige National Quality Award

…RUP

(86)
(87)
(88)
(89)
(90)
(91)
(92)

There are 22 process areas,

presented here in alphabetical order by acronym:

„ Causal Analysis and Resolution (CAR)

„ Configuration Management (CM)

„ Decision Analysis and Resolution (DAR)

„ Integrated Project Management +IPPD (IPM+IPPD)[1]

„ Measurement and Analysis (MA)

„ Organizational Innovation and Deployment (OID)

„ Organizational Process Definition +IPPD (OPD+IPPD)6

„ Organizational Process Focus (OPF)

„ Organizational Process Performance (OPP)

„ Organizational Training (OT)

„

[1] This process area has "+IPPD" after its name because it contains a goal and practices that are specific to IPPD. The material specific to IPPD is called an "IPPD addition." All process areas with IPPD

(93)

„ Product Integration (PI)

„ Project Monitoring and Control (PMC) „ Project Planning (PP)

„ Process and Product Quality Assurance (PPQA)

„ Quantitative Project Management (QPM)

„ Requirements Development (RD)

„ Requirements Management (REQM)

„ Risk Management (RSKM)

„ Supplier Agreement Management (SAM)

„ Technical Solution (TS)

„ Validation (VAL) „ Verification (VER)

(94)
(95)
(96)

Process and Product Quality

Assurance

„

The purpose of Process and Product

Quality Assurance (PPQA) is to provide

staff and management with objective

insight into processes and associated

work products.

(97)

The Process and Product Quality Assurance

process area involves the following:

„ Objectively evaluating performed processes, work products, and services against the

applicable process descriptions, standards, and procedures

„ Identifying and documenting noncompliance issues

„ Providing feedback to project staff and

managers on the results of quality assurance activities

„ Ensuring that noncompliance issues are addressed

(98)

„ The Process and Product Quality Assurance process area supports the delivery of high-quality products and services by providing the project staff and managers at all levels with appropriate visibility into, and feedback on, processes and associated work products throughout the life of the project.

(99)

SG 1 Objectively Evaluate Processes and

Work Products

…SP 1.1Objectively Evaluate Processes

…SP 1.2Objectively Evaluate Work Products and Services

„

SG 2 Provide Objective Insight

…SP 2.1Communicate and Ensure Resolution of Noncompliance Issues

…SP 2.2Establish Records

(100)

„

Quality assurance should begin in the

early phases of a project to establish

plans, processes, standards, and

procedures that will add value to the

project and satisfy the requirements of

the project and the organizational

(101)

SOFTWARE QUALITY ASSURANCE

„ INVOLVES

… Establishing a Quality Assurance Group who has

required independence.

… Participation of SQA in establishing the plans,

standards and procedures for the project.

… Reviewing and auditing the software products

and activities to ensure that they comply with the applicable procedures and standards.

… Providing the software project and other

appropriate managers with the results of those reviews and audits.

… Escalating unresolved issues to an appropriate

(102)

Software Quality Assurance -

Activities

„

SOFTWARE QUALITY ASSURNACE

ACTIVITIES ARE PLANNED

…A SQA plan is prepared for the software project according to a documented

procedure.

…The SQA group’s activities are performed in accordance with the SQA plan.

(103)

„ ADHERENCE OF SOFTWARE PRODUCTS AND ACTIVITIES TO BE APPLICABLE

STANDARDS, PROCEDURES, AND

REQUIREMENTS IS VERIFIED OBJECTIVELY.

… The SQA group’s activities are performed in

accordance with the SQA plan

… The SQA group participates in the preparation and

review of the project’s software development plan, standards and procedures.

… The SQA group reviews the software engineering

activities to verify compliance

… The SQA group audits designated software work

(104)

Software Quality Assurance -

Activities

„

AFFECTED GROUPS AND

INDIVIDUALS ARE INFORMED OF

SOFTWARE QUALITY ASSURANCE

ACTIVITIES AND RESULTS.

…The SQA group periodically reports the results of its activities to the software engineering group.

(105)

…Deviations identified in the software activities and software work products are documented and handled according to a documented

procedure.

…The SQA group conducts periodic reviews of its activities and findings with customers SQA personnel, as appropriate.

(106)

Good Practices

„ Detailed plan for SQA group

„ Structuring of SQA functions and management of the group like a project itself with detailed

plan, schedules, configuration management etc

„ SLAs for SQA group also

„ Rotation mechanism for SQA team members for career planning

„ Release approval authority for the SQA

(107)

RUP Steps for SQA

All the following text is from

(108)

Ensure Quality Objectives are

Defined for the Project

„

The Project Manager may not necessarily

define the quality goals for the project, but

ensures that these definitions are created

and agreed by the customer, and captured

ultimately in the Software Requirements

Specification.

„

The developing organization may also

have a standard set of quality goals, in a

quality policy statement, which can form

the basis for these definitions.

(109)

„

Where possible, these objectives should

be described in measurable terms. For

example:

…

"Zero known severity 1 defects" (...and

include a definition of a severity 1 defect)

…

"Maximum 3 second response time"

…

"User can pick up software and begin

entering account information within 1

hour"

(110)

Define Quality Assurance Roles

and Responsibilities

„ The next step is to define the organization, roles and responsibilities that will participate in these tasks.

„ This should include the reporting channel for the results of Quality Assurance reviews.

„ In many situations, the Quality Assurance task should submit its reports directly to the Project Review Authority.

(111)

„ The Rational Unified Process recommends that the Software Engineering Process Authority

(SEPA) should have responsibility for the

process aspects of quality, and perform process reviews and audits, as well as ensuring the

proper planning and conduct of the review events described in the Review and Audit section of the Quality Assurance Plan.

(112)

Coordinate With Developers of

Referenced Plans

„

The Quality Assurance Plan also

references a number of other plans

describing project standards and how

various supporting process (e.g.

configuration management) to be handled.

„

This information is used to help determine

the types of Quality Assurance reviews

(113)

„

The referenced plans would normally

include the following:

…

Documentation Plan

…

Measurement Plan

…

Risk Management Plan

…

Problem Resolution Plan

…

Configuration Management Plan

…

Software Development Plan

…

Test Plan

(114)

Define Quality Assurance Tasks

and Schedule

„ Identify the tasks of Quality Assurance. Typically these reviews would include:

… Audit/review of project plans to ensure they follow the

defined delivery process for the project.

… Audit/review of project to ensure the work performed

is following the project plans.

… Approval of deviations from the standard

organizational project processes.

(115)

„ The Project Review Authority and Project

Manager together determine the schedule for Quality Assurance reviews and audits, and the schedule is captured in the project and iteration plan, which may then be referenced from the Quality Assurance Plan.

„ The contract may also allow the customer to request audits.

(116)

SQA Responsibilities

for a Project

(117)

„

SQA seeks to maintain the quality

throughout the development and

maintenance of the product by the

execution of a variety of activities at each

stage which can result in early

identification of problems, an almost

(118)

SQA Responsibilities for a Project

„ Review of documents developed by development team.

„ Track the compliance with standards.

„ Development of QA Plan (test plan + test cases).

„ Implementation of test cases.

„ Management of bug repository.

(119)

SQA Responsibilities for a Project

(cont...)

Requirements Collection Requirements Collection Analysis Analysis

Architecture & Design

Architecture & Design

Development Development Testing Testing Deployment Deployment Requirement Specs Requirement Specs Functional Specs Functional Specs Design Specs Design Specs

Code & Executables

Code & Executables

Deployment Docs

Deployment Docs

Typical SDLC phases and relevant Artifacts

Reviews Reviews Reviews Reviews Reviews Reviews Implement Test Cases Implement Test Cases Review Review SQA Responsibilities

(120)

SQA Artifacts for a Project

Requirement Specs Requirement Specs Functional Specs Functional Specs Design Specs Design Specs

Code & Executables

Code & Executables

Deployment Docs

Deployment Docs

Dev. Artifacts SQA Artifacts

RS Reviews RS Reviews FS Reviews FS Reviews DS Reviews DS Reviews Bug Reports Bug Reports DD Reviews DD Reviews Test Plan Test Plan Test Cases Test Cases

More Test Cases

More Test Cases

SQA Artifacts (more)

(121)

Communication Between SQA and

Development

Development

Development SCMSCM SQASQA

Development

(122)

Responsibilities of Testing Team

„ Responsibilities of a tester

• Design test cases

• Write test scripts

• Implement test cases

„ Responsibility of SQA manager

• Give 25% time for reviewing test cases written

• Lead review meetings

(123)

Other Responsibilities of SQA

„

Participate in product and process audits.

„

Initiate and participate in developing

standards.

„

Develop SQA’s own standards, processes

(124)

„

The role of SQA with respect to process is

to ensure that planned processes are

appropriate and later implemented

according to plan, and that relevant

measurement processes are provided to

the appropriate organization.

(125)

An Effective Testing Team

„

SQA Team should be composed of:

…Members with different background

…Members from different domains

…Technical gurus and user representatives

(126)

Characteristics of Good SQA

Engineer

„ Experience & Education as a programmer or analyst.

„ A thick skin.

„ Good sense of humor.

„ Tolerance for chaos.

„ Firmness.

„ Evidence oriented.

„ Logical.

„ Honest.

(127)
(128)

References

Related documents

Schultz can be a fantasy pros wire pickup suggestion makes me very appealing fantasy option to become a donate button if philadelphia eagles are against the most points are

Overall, Southern European revenue increased by 11.8% at constant currency rates, an increase of 4.8% on a reported basis to £250.4 million (2015: £239.0 million), with all

Keywords: Social (pragmatic) communication disorder (SPCD); autism spectrum disorder (ASD); Diagnostic and Statistical Manual, Fifth Edition (DSM-5); pervasive developmental

Similar to the effect of BNIP-H or ACL knockdown, silencing of ChAT inhibited neurite outgrowth in PC12 and NSC34 cells ( Figures 4 D, 4E, and S4 A).. In PC12 cells, this

hydrophobic area upon ligand binding (Figure S1), but arises from a more favorable entropy of binding. There are two plausible explanations for this increased binding affinity: i)

The chapter on the nominal energy requirements of electric vehicles (4) brings together two key elements, which affect the optimum battery size: driving force and range.. It

Altogether, for about 30 years both the probability of a cooperative relationship with management and the probability of a strong influence on decisions are increasing in the age of

Most of the literature on visual outcomes in children with brain injury involves cases of hypoxia, periventricular leukomalacia (PVL), and traumatic brain injury (TBI). Much of