• No results found

DANSE Software Quality Assurance

N/A
N/A
Protected

Academic year: 2021

Share "DANSE Software Quality Assurance"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

DANSE Software Quality

Assurance

Tom Swain

Tom Swain

Software Quality Research Laboratory

Software Quality Research Laboratory University of Tennessee

University of Tennessee

Department of Computer Science

(2)

DANSE Objectives

DANSE Objectives

Extensible open source framework

Extensible open source framework

Modular interoperability

Modular interoperability

Reusable distributed components

Reusable distributed components

Legacy code migration path

Legacy code migration path

Broad scientific applicability

Broad scientific applicability

HPC compatibility

HPC compatibility

Broad user expertise range

(3)

Quality Challenges

Quality Challenges

Large, distributed development team

Large, distributed development team

Wide range of software engineering

Wide range of software engineering

experience

experience

Long term maintenance by SNS

Long term maintenance by SNS

Straightforward extensibility for power

Straightforward extensibility for power

users

users

Reliable, intuitive operation for novice

Reliable, intuitive operation for novice

users

(4)

SQRL Tasks

SQRL Tasks

Software Quality Engineering Workshops

Software Quality Engineering Workshops

for Each Science Subgroup

for Each Science Subgroup

Documentation of SNS Interface Documentation of SNS Interface Requirements Requirements SNS Integration Plan SNS Integration Plan

Integration Test Planning

(5)

Essential Process Elements

Essential Process Elements

1)

1) Requirements CaptureRequirements Capture

2)

2) Architecture SpecificationArchitecture Specification

3)

3) Behavior SpecificationBehavior Specification

4)

4) Code GenerationCode Generation

5)

5) CertificationCertification

6)

6) User Guide PublicationUser Guide Publication

7)

7) Configuration ManagementConfiguration Management

8)

(6)

Primary Work Product

Primary Work Product

Relationships

(7)

Software Production is

Software Production is

Incremental

Incremental

? ? ?

An efficient, repeatable process is necessary for expanding, changing requirements.

(8)

Incremental Development Strategy

Incremental Development Strategy

Organize requirements into small

Organize requirements into small

functional increments

functional increments

For each increment

For each increment

– Elaborate requirements to expand behavior Elaborate requirements to expand behavior and architecture specifications

and architecture specifications

– Code and integrate new functionalityCode and integrate new functionality –

– Certify newly integrated system conformance Certify newly integrated system conformance with the cumulative specification

with the cumulative specification

– Update User Guide if increment will be Update User Guide if increment will be released for beta or general use

released for beta or general use

(9)

Requirements

Requirements

Use cases tagged for

Use cases tagged for

traceability

traceability

.

.

Initial requirements assumed to be

Initial requirements assumed to be

incomplete, inconsistent, and possibly

incomplete, inconsistent, and possibly

incorrect

(10)

DANSE Architecture Specifications

DANSE Architecture Specifications

Framework

Framework –– interfaces, services, and interfaces, services, and rules for well

rules for well--behaved componentsbehaved components Each Component

Each Component –– class diagrams and class diagrams and API design

API design

Each Application

Each Application –– target environment, target environment, participating components, and their

participating components, and their

relationships

(11)

Behavior Specification: The General Case

Behavior Specification: The General Case

1)

1) Establish Establish system boundarysystem boundary..

2)

2) Define human/software/hardware Define human/software/hardware

interfaces

interfaces..

3)

3) Itemize Itemize stimulistimuli..

4)

4) Itemize Itemize responsesresponses..

5)

5) Map Map every stimulus sequenceevery stimulus sequence to a to a response.

response.

The discovery and documentation of derived requirements is

The discovery and documentation of derived requirements is

a natural and desirable part of the specification process.

(12)

Map Code Specified in Behavior

Map Code Specified in Behavior

Specification to Architecture

Specification to Architecture

Stimulus Gathering Response Generation State Variable Implementation State Machine Implementation
(13)

Certification:

Certification:

Operational Definition

Operational Definition

Evidence that

Evidence that approved software approved software engineering practices

engineering practices were used to were used to produce the software

produce the software

Results of inspection and tests

Results of inspection and tests provide provide confidence that the as

confidence that the as--built software will built software will perform its intended function

(14)

DANSE Testing Strategy

DANSE Testing Strategy

Dedicated Test Leaders for Framework

Dedicated Test Leaders for Framework

and Each Science Team

and Each Science Team

Statistical Testing to Certify Each

Statistical Testing to Certify Each

Increment

Increment

Increment Release Based on Quantitative

Increment Release Based on Quantitative

Assessment of Test Results

(15)

Work Products Supporting Certification

Work Products Supporting Certification

Peer Review Findings and Resolution

Peer Review Findings and Resolution

– SpecificationsSpecifications –

– CodeCode –

– Test PlanTest Plan

Test Results and Resolution of Failures

Test Results and Resolution of Failures

Release Decision Meeting Minutes

(16)

User Guide

User Guide

Content

Content

– How to install and/or configure the systemHow to install and/or configure the system –

– How to initiate and control all functionsHow to initiate and control all functions –

– How to interpret outputHow to interpret output

Format

Format

(17)

Configuration/Release Control

Configuration/Release Control

Key Practices

Key Practices

Document/Source control tool

Document/Source control tool

(Subversion)

(Subversion)

Centrally managed release tagging

Centrally managed release tagging

Repeatable automated build procedure

Repeatable automated build procedure

Formal release procedure

Formal release procedure

Change tracking (Trac)

Change tracking (Trac)

Audit trail

(18)

Configuration Items

Configuration Items

Software Behavior Specification Software Behavior Specification

Software Architecture Specification Software Architecture Specification

Source Code Source Code

Software Test Plan Software Test Plan

Test Record Test Record

User Guide User Guide

(19)

Software Configuration

Software Configuration

Management

(20)

Change Request Processing

Change Request Processing

Open Resolved Suspended Close Developer Action Successful Verification Verification Failed TL/CM Decision TL/CM Decision

(21)

Tickets Drive Defect Correction Tickets Pace Feature Additions

Move Tags for Defect Corrections

Roles of Trac and Subversion in the

Roles of Trac and Subversion in the

Increment Development Sequence

Increment Development Sequence

Move Tags for In-scope Features and Fixes

Subversion Time Line

Trac Time Line

Verification Triage Begin Cert Test Increment Complete Feature Tickets Resolved/Closed Request Resolved Ticket Verification Milestone Tickets Closed/Deferred Verification Triage Defect Tickets Resolved/Closed Request Resolved Ticket Verification Milestone Tickets Closed/Deferred

(22)

Process Summary

Process Summary

Rigorous specification of code derived

Rigorous specification of code derived

from informal requirements

from informal requirements

– – ArchitectureArchitecture – – BehaviorBehavior Certification Certification –

– Independent Work Product ReviewIndependent Work Product Review –

– Quantitative TestingQuantitative Testing

Configuration management

Configuration management

– Centralized build/release controlCentralized build/release control –

References

Related documents

• Blockchain: A new technology that is still being developed and offers some attractive characteristics and enables new kinds of distributed software

Consistency is the extent to which the contributions of different pieces or lines of evidence are compatible (Section 2.5 ). Limitations in consistency arise in part from limitations

Perfect Phrases to Expand Limited Mindsets 12 Perfect Phrases to Transform Resistance 14 Perfect Phrases to Inspire People to Share Resources. and Support

En este artículo, se presenta un análisis de las movilidades en el sureste de la provincia de Santiago del Estero (Argentina) que se ha caracterizado históricamente por la

Above discussed fault identification and seclusion strategy utilizing a bank of Kalman Filter is implemented on the simulated mathematical model of aircraft engine develop in

Four key themes for enhancing a person-cen- tred approach in clinical guidelines emerged: (i) use a joint definition of health-related quality of life as an essential compo- nent

3- Department of Health Information Technology, School of Nursing and Paramedical Sciences, Student Research Committee, Semnan University of Medical Sciences,

The claim “Free calls for the first three months” could be justified, even on an ongoing basis where the paid-for item is a package, if the marketer showed that the offer was