What is Software Quality - PowerPoint PPT Presentation


PPT – What is Software Quality PowerPoint presentation | free to download - id: b14e3-NzY2Y


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

What is Software Quality


What is software quality to you ? Name a program/application/system ... Our car's engine would cut out during heavy rain. DAIMI. Henrik B rbak Christensen. 19 ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 29
Provided by: henrikbch
Learn more at: http://www.daimi.au.dk
Tags: quality | software


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: What is Software Quality

What is Software Quality?
  • What is software quality to you ?
  • Name a program/application/system of high
  • Low quality?
  • What aspects of it make it high quality or low

Definition of quality
  • Criteria for a good definition of quality
  • allow us to measure quality in a meaningful way
  • Why?
  • avoid dogmas ?
  • measure if techniques really improve quality
  • what investment gives most return on investment?

Quality views Kitchenham Pleeger
  • Transcendental view
  • quality can be recognized but not defined
  • User view
  • quality is fitness for purpose
  • Manufacturing view
  • quality is conformance to specification
  • Product view
  • quality is inherent characteristics of the
  • Value-based view
  • quality is the amount costumer will pay for

View clashing
  • Stakeholders have different view on same product
  • Morale Trade-offs between cost and quality

Developers Manufacturing view
Researchers and Teachers Product view
The product
Management Value-based view
Customers User view
  • What views did we use in our discussion of
    good/bad systems before?
  • dPaSS / dSoftArk course preaches
  • Low coupling / high cohesion
  • Favor object composition over class inheritance
  • What is the view here ???

Quality frameworks
  • Quality has many faces...

Quality Attributes
  • ... measure quality in a meaningful way.
  • This requires
  • that we define the aspects/qualities we measure
  • that we agree on some kind of scale a metric

Measuring quality
Quality Attribute
Choose alternatives
Quality Frameworks
  • Of course a lot of different quality frameworks
    have been proposed.
  • Bass, Clements and Kazman
  • Architecture Quality Attributes
  • Sommerville Software Engineering books
  • IEEE Standard

Quality framework (Bass et al.)
  • System quality attributes
  • Availability
  • Modifiability
  • Performance
  • Security
  • Testability
  • Usability
  • Business qualities
  • Time to market
  • Cost
  • Projected lifetime
  • Targeted market
  • Roll-out schedule
  • Integration with legacy sys.
  • Architectural qualities
  • Conceptual integrity
  • Correctness and completeness
  • Buildability

Bass System Qualities
  • Availability
  • probability that the system will be operational
    when needed
  • Modifiability
  • ease with which the system supports change
  • Performance
  • response time
  • Security
  • ability to withstand attacks/threats
  • Usability
  • how easy it is for the user to accomplish a
    desired task
  • Testability
  • ease with which the software can be made to
    demonstrate its faults

  • Which of these qualities can be judged by a
    testing process?
  • Which can be measured?
  • quantitatively (hard numbers 4.3)
  • qualitatively (judgment low/high)

Dependability Sommerville
  • Name systems where one is very important?
  • What is the relation to usefulness?

equates to its trustworthiness.
IEEE (Burnstein)
  • IEEE Standard Glossary of SE terminology
  • 1. Quality relates to the degree to which a
    system, system component, or process meets
    specified requirements.
  • 2. Quality relates to the degree to which a
    system, system component, or process meets
    customer or user needs, or expectations.
  • Exercise Relate to Kitchenhams quality views...

War Story
  • Major Danish company, highly active in services
    on the WWW.
  • Requirement specification
  • Make something that is smarter than the
    competitors product...

Reliability and failure
  • Reliability Probability that a software system
    will not cause the failure of the system for a
    specified time under specified conditions.
  • Failure is then defined by either
  • the specification (IEEE definition 1)
  • the user/customer (IEEE definition 2)

Reliability is in the eyes of the beholder
  • Note that conditions are part of the definition.
  • But conditions may change !
  • Fault causing crash in Words fax service ?
  • Developer may be able to use his own prototype
    tool, but others may make it crash every time…
  • Our cars engine would cut out during heavy rain ?

Reliability and Failures
  • Thus fixing any defect and removing a failure
    will not give same increase in reliability...
  • Example two defects
  • Word cannot save documents due to defect
  • Word cannot reconfigure button panel due to
  • Which defect removal will increase reliability

Quality View
  • Cem Kaner
  • The measure of a products or services quality
    is the satisfaction of their customers, not the
    match to a specification.
  • A programs quality is
  • the features that make the customer want to use
    the program
  • the flaws that make the customer wish hed bought
    something else

Yet another view
  • Beizer
  • There can never be an absolute definition for
    bugs, nor an absolute determination of the
    existence. The extent to which a program has bugs
    is measured by the extent to which it fails to be
    useful. This is a fundamentally human measure.
  • Interesting… It makes many programs into defects
    instead ?

Ensuring reliability
  • Reliability is compromised by failures. Failures
    happen when the system is in an error state,
    which may be caused by a defect. So reliability
    can be enhanced by several measures.
  • Fault avoidance simply avoid introducing
  • Fault detection and removal Find and remove the
    defects before they cause failures.
  • Fault tolerance Ensure that faults does not lead
    to failures.

Fault avoidance
  • Use methods, tools, languages, techniques that
    are known to minimize the probability of
    introducing defects.
  • Corollary Avoid using m,t,l,t that are
    notoriously known for introducing defects
  • That is Never, ever, use C or C ?
  • Use safe languages (Java, C)
  • Use proven design techniques
  • encapsulation, no gotos ?, type-checking, etc.

Fault detection and removal
  • The primary focus of this course
  • Hunt down the defects by what-ever means
    (execution, review) and remove them.

Fault tolerance
  • If we know that cannot remove all defects then at
    least ensure that they do not lead to failures
  • Exception handling
  • handle IO errors gracefully
  • null pointer exceptions?
  • N-version programming
  • let n teams develop the same software unit
  • vote on the n results
  • Space shuttle maintains five parallel systems
  • one running base flight software
  • four running mission and flight software

Run-time cycle
  • Faults cause failures when faulty code is
    executed with inputs that expose the fault.
  • I_e input that will lead the system into error

Input space
Program execution state
error states
Economic consequences
  • Not all input have the same probability
  • Which function to you use most in Word?
  • save document
  • reconfigure button panel
  • If a defect is present which unit would you
    rather have it in?
  • save document algorithm
  • reconfigure button panel algorithm
  • Thus with a given testing budget not all test
    cases are born equal!

  • Quality is many things...
  • There are several frameworks defining quality
  • All, however, must deal with reliability
  • Reliability Probability that a software system
    will not cause the failure of the system for a
    specified time under specified conditions
  • Reliability techniques
  • fault avoidance fault removal fault tolerance
  • Not all faults are equally important for
  • Testing budget should be used wisely
About PowerShow.com