Software quality, processes, and standards Basic quality, processes, and standards Basic concepts ... –methods and arrangements of testing and control ... Software quality: ...

  • Published on
    28-May-2018

  • View
    212

  • Download
    0

Transcript

  • Software quality, processes, and standardsBasic concepts

    Jaak Tepandi, Jekaterina Tukrejeva, Stanislav Vassiljev, Pille HaugTallinn University of TechnologyDepartment of Software Science

    Moodle: Software Quality (Tarkvara kvaliteet) Alternate download: tepandi.ee

    Version 27.09.2017

  • Jaak Tepandi

    Today and the course

    Software quality, processes, andstandards

    Quality

    Moodletepandi.ee

    Quality andprocesses

    V&V

    Quality

    Require-rements

    Product

    Processes

    Course

    Why, whereTypes PropertiesModelsISO/IEC 25010

    Life cycles

    UsesProcesses

    IEEE/ACM

    Acquisition

    Why? Who? What?Testing example

    Software /system/...

    SLAs

  • Jaak Tepandi

    Quality: product requirements - process

    Product

    Quality

    Requirements

    Processes

    Degree to which a set of inherent

    characteristics of an object fulfils

    requirements (ISO 9000)

  • Jaak Tepandi

    Quality concepts Ideal Relationship

    Software product quality: capability of software product to satisfy stated and implied needs when used under specified conditions

    Measure

    There is no software quality because of hurrying and overload of programmers: which quality concept is applied? When is it possible to have no quality? When quality is a trade-off?

  • Jaak Tepandi

    Quality as a tradeoff: project management triangle

    Time

    Cost

    Quality

  • Jaak Tepandi

    The course: What does it give? Knowledge

    software quality management (product / requirements / development) methods and arrangements of testing and control

    Skills and practical experiences requirements specification, various tests and tools, walkthroughs, processes,

    evaluation ACM/IEEE Computing Curricula as a guideline To developers, purchasers, maintainers, users, leaders, society

  • Jaak Tepandi

    To whom?system developers to apply software verification, validation, and quality management methods and tools; to understand program testing principles, select and apply testing methods, and evaluate system qualitypurchasers to prepare the call for proposals, to formulate requirements, to choose the product, to cooperate in development and to evaluate the outcomemaintainers maintenance processes and activitiesusers to know what to request and expect from the software productleaders to know what to expect from and how to manage the partiessociety assurance against software related problems

  • Jaak Tepandi

    Skills gained from the course (1)

    High-level requirements specification Acceptance testing Functional testing through equivalence classes and boundary situations Non- functional testing Program based testing using coverage criteria Choosing the method of the testing Planning the testing arrangement

  • Jaak Tepandi

    Skills gained from the course (2)

    How to start the quality management process in a company? How to choose appropriate standards? How to use the software quality attributes? How to formulate the task for testing or audit?

  • Jaak Tepandi

    Software quality / processes (current)

    All systems

    Requirements determine criticality

    Refers to assurance (eg, critical systems)

    Main modules:

    1.Quality=product, requir-ts, processes

    2.Testing, verification, validation

    3.Processes

    Development of quality systems and softwareTwo complementing courses

    Software assurance (ITI8610)

    Cyber-physical systems

    Critical systems

    Refers to quality course (eg, testing)

    Main modules:

    1.Assurance and risk management

    2.Security assurance

    3.Functionality assurance

  • Jaak Tepandi

    Course materialsMoodle: Software Quality (Tarkvara kvaliteet) (+ tepandi.ee) - slides, arrangement file, references, labs etc

    References: In Moodle, in the arrangement file, on the slides

  • Jaak Tepandi

    The course and IEEE Computing Curricula

    ACM/IEEE Computing Curricula, Software Engineering Volume, http://www.acm.org/education/curricula-recommendations

    The current course integrates basic concepts of "Software Quality, "Software Verification and Validation", "Software testing", and (to less extent) "Software Engineering Process"

    + Guide to the Software Engineering Body of Knowledge, SWEBOK Ch 4 (Software testing), Ch 10 (Software quality),...,

  • Jaak Tepandi

    Additional reading - quality (examples)Ian Sommerville. Software Engineering. Ninth Edition. Addison-Wesley, Chapter 1

    Daniel Galin. Software Quality assurance from theory to implementation. Pearson - Addison-Wesley. Chapters 1,2.

    Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE. Chapter 10, Section 1.

    Certified Tester Foundation Level Syllabus, ISTQB. Chapter 1.1.4.

  • Jaak Tepandi

    Aspects / models of quality: why needed? Product quality Data quality Quality in use Process qualityGuide to the Software Engineering Body of Knowledge, SWEBOK, http://www.computer.org/portal/web/swebok/v3guideISO/IEC 25010 Software engineering: Software product Quality Requirements and Evaluation (SQuaRE) Quality model

  • Jaak Tepandi

    Sorry, your luggage didn't arrive. There was a software problem.

    ...meaning?

  • Jaak Tepandi

    Product: When talking about software, what are we talking about?

    Product

    Quality

    Requirements

    ProcessesSet of computer

    programs, procedures, and possibly associated

    documentation and data (ISO/IEC 12207)

  • Jaak Tepandi

    Software (product)

    acquired IT-resources (incl source code, object code, executable code, macros, etc)

    work done in development process changes in customer organization, in work organization, ... , project documentation methodology resources knowledge property rights: for working, for development, for distribution, ...

  • Jaak Tepandi

    Software and system

    (Target) software Target computer system: hardware, non-target software, target software,

    target data, non-target data, communications,... Target business/information system (or device with embedded software):

    computer system, communications, people, mechanical systems,...

  • Jaak Tepandi

    Hardware

    Non-targetdataTarget Data

    Target Software

    Non-targetSoftware

    Target computer system

    Communi-cations

    ...

    Admins

    Other systems

    Users

    Maintai-ners

    Develo-pers

    Productquality

    Dataquality

    Quality inuse

    http://www.acm.org/education/curricula-recommendationshttps://www.computer.org/web/swebok/v3

  • Jaak Tepandi

    Layers of complexity / interoperability

    Target computer system

    Legislation

    Organisation

    Semantics

  • Jaak Tepandi

    Example: subsystems within one system

    Target computer system A

    Legislation

    Organisation

    Semantics

    Target computer system B

  • Jaak Tepandi

    Example: systems within one organisation

    Target computer system A

    Legislation

    Organisation

    Semantics B

    Target computer system B

    Semantics A

    http://www.computer.org/portal/web/swebok/v3guide

  • Jaak Tepandi

    Example: systems within one country

    Target computer system A

    Legislation

    Organisation B

    Semantics B

    Target computer system B

    Semantics A

    Organisation A

  • Jaak Tepandi

    Example: cross- border systems

    Target computer system A

    Legislation B

    Organisation B

    Semantics B

    Target computer system B

    Semantics A

    Organisation A

    Legislation A

  • Jaak Tepandi

    Product, User, Data qualitySoftware quality: capability of software product to satisfy stated and implied needs when used under specified conditions Quality in use: the extent to which a product used by specific users meets their needs to achieve specific goals with effectiveness, productivity, safety and satisfaction in specific contexts of useData quality: degree to which the characteristics of data satisfy stated and implied needs when used under specified conditions(SWEBOK, ISO/IEC 25000, COBIT)

  • Jaak Tepandi

    Quiz

    Search for X system architecture (pictures), where X is usually referred to as a software system.

    Where is software on this picture?Where is the developed software? Which components could be influenced by developers? testers? quality

    management?

  • Jaak Tepandi

    Takeaway: explore the SwQ landscape

    Software quality, processes, andstandards

    Quality

    Moodletepandi.ee

    Quality andprocesses

    V&V

    Three concepts

    Requirerements

    Product

    Processes

    As relative (experiment)

    SoftwareSoftware and system Four layers of complexityQuality aspects /Sw/system

    Why? Three components

    As a tradeoffThree SwQ aspects

  • Jaak Tepandi

    Key points to know Quality, its components Three quality concepts Quality as relative Quality as a trade-off Four quality models Software as a product Software and system Target and non-target software, data, hardware, communications Layers of complexity / interoperability

  • Jaak Tepandi

    Additional reading (examples)Ian Sommerville. Software Engineering. Ninth Edition. Addison-Wesley, Ch 1,24.

    Daniel Galin, Software Quality assurance from theory to implementation, Pearson - Addison-Wesley. Chapter 2.

    Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE. Chapter 13, Section 8.

    Certified Tester Foundation Level Syllabus, ISTQB. Chapter 1.1.

    Slide 5Slide 6Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 22Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 36Slide 37Slide 38Slide 39

Recommended

View more >