software quality assurance by adnan khan. the process of identifying, organizing, and controlling...

25
Software Quality Assurance By Adnan Khan

Upload: hugo-andrews

Post on 02-Jan-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Software Quality Assurance

By

Adnan Khan

The process of identifying, organizing, and controlling changes to the software during development and maintenance.

• SCM is a support activity that makes technical and managerial activities more effective

•SCM operates throughout the SW life-cycle

Software Configuration Management (SCM)

Causes of Change

• Evolutionary changes the system evolves as it passes through

various stages in the development cycle

• Revolutionary changes such change is caused by the system

being unable to satisfy the user’s requirements or the customers or producers expectations

Why Products change ?

• Requirements change during and after development

• Errors are found and need correction

• Variants are needed

Problems of Change

Which component ? Which version ?

• Double (or multiple) maintenance• Updates to shared data• Simultaneous update

SCM Functions

• Identification of software items and products• Definition of Baselines• Access controls• Progressing defect reports• Progressing change requests• Recording item status• Controlling releases (versions and variants)• Reporting

SCM Tasks

• Configuration identification

• Configuration control

• Configuration audit

Typical SW Configuration Items (CIs)

• Management plans• Specifications (requirements, design)• User documentation• Test design, case and procedure specifications• Test data and test generation procedures• Data dictionaries and databases• Source code, executable code• Libraries• Maintenance documentation • Support software

Milestones and Baselines

• Milestone A milestone is the end of a stage or

phase of a project at which one or more deliverables are actually delivered.

• Baselines A baseline is that collection of items

which when complete indicates that a milestone in the development process has been reached.

Baselines

• Baselines serve as the basis for further development

• Baselines can be changed only through formal change control procedures

• Only items that have been approved and obtained through a formal technical review are accepted into the baseline.

Configuration Identification

• Identify what the different baselines will consist of

• Set labelling and identification conventions for the CIs

SCM Terminology

• Version A SW CI having a defined set of functional

capabilities.

• Revisions Changes to a version to correct only errors in

design logic but does not affect documented functional capabilities since none of the requirements have changed.

• Variants A variation of a version developed to run on

different types of HW, or to provide slightly different facilities for different users.

Examples

1.1 1.2 1.3 1.4

successive versions

branching versions (variants)

1.1 1.2 1.3 1.4

1.3.1.1 1.3.1.2

Merging

• Two diverging versions may be merged to create a single new version combining both set of change requests.

• Merge operations are typically done interactively with tool assistance

SCM Terminology

• Promotion of a CI A CI may be promoted from one developmental

baseline to another to signify a change in a CI’s internal development state.

• Release A Release is used to designate certain promotions

of CI’s that are distributed outside the development organization.

Configuration Control

• Enforces a rigorous change control mechanism

• Requires formal procedures to request changes carry out impact analysis approve changes carry out changes

Change Management Methodology

• Submission of Change Request (CR)• Technical and business evaluation and impact analysis• Approval by Change Control Board• Engineering Change Order (ECO) is generated stating

changes to be made criteria for reviewing the changed CI

• CI’s checked out• Changes made and reviewed• CI’s checked in

Change Control Board

• A group consisting of representatives of user, customer, producer.

• Responsibilities: to approve, monitor and control baselines to approve, monitor, and control changes to authorise changes

• CCB concerns in change approval technically ok solution, cost, schedule,

configuration of the whole system, user satisfaction

Organising for SCM

Roles:• Configuration manager

• Change Control Board includes representatives of

user customer developer

SCM Plan

•The SCM Plan is prepared in Project Initiation phase. It documents

what SCM activities are to be done how they are to be done who is responsible for doing specific

activities when they are to happen what resources are required

SCM Tools

• Popular PC-based tools PVCS, MS Visual SourceSafe, Subversion,

Rational Clearcase• Common Features

Support for controlling all types of files (source code as well as binary)

Supporting branching and merging Identifying and re-creating releases Providing a project view

Rational Clearcase

• VOB (Versioned Object Base)• Configuration Record• Build Avoidance• Unix/Windows Interoperability• Integration With Other Products

SW Configuration Management Plan

-- IEEE Standard 828-1990 for SCM Plan

1. Introduction

2. SCM Management

2.1 Organization

2.2 SCM Responsibilities

2.3 Applicable policies, directives and procedures

SW Configuration Management Plan

-- IEEE Standard 828-1990 for SCM Plan

3. SCM Activities3.1 Configuration identification

3.1.1 Identifying configuration items3.1.2 Naming configuration items3.1.3 Acquiring configuration items

3.2 Configuration control3.2.1 Requesting changes3.2.2 Evaluating changes3.2.3 Approving or disapproving changes3.2.4 Implementing changes

SW Configuration Management Plan

-- IEEE Standard 828-1990 for SCM Plan

(3. SCM Activities)

3.3 Configuration Status Accounting

3.4 Configuration Audits and Reviews

3.5 Interface control

4. SCM Schedules

5. SCM Resources

6. SCM Plan maintenance