Software processes, quality, and standards (IDX1511, IDY0204)

Software is everywhere. Our well-being, health, property, lives may depend on its quality. So the aim of this course is to provide understanding of software quality, its components, different roles in software development, as well as typical processes, methods, skills, and activities related to these roles.

The main materials for the course are in Moodle, course “Software quality (Tarkvara kvaliteet)”. First, please read a short  overview, references, and arrangement of the course and see an overview video about the course arrangement and Labs.

The course includes three main parts:

– basic concepts

– software verification and validation

– software quality management and processes.

The course may be useful to an IT manager, procurer, programmer, tester, maintainer, and other stakeholders involved in various software related processes. Some materials for self-study are given below.

Basic concepts

The first part of the course covers the notion of software quality and its intrinsic components – software, requirements, and processes, including the acquisition process.

Basic concepts:  quality, course, product and a short  video.

Basic concepts:  requirements and a short   video.

Basic concepts:  processes and a short   video.

Software verification and validation

The second part deals with methods and management of software verification and validation: testing (the principles and methods of software testing, white box, functional, other methods), static methods (inspections, reviews and walkthroughs, program correctness proving), and the frameworks for testing management.

Testing – concepts, ad hoc, smoke, experience based, exploratory, risk based: slides and short video.

White-box testing: slides and a short video. An exercise with two examples for modifying: time.py and unittest_arith.py.

Black-box testing: slides, a short video, and practice.  Materials for exercises – Functional testing.  Materials for exercises- Selenium. Materials for exercises- Canoo WebTest.

Testing of non-functional requirements: slides, a short video, and practice.  Materials for exercises – jMeter.

Static analysis: slides and a summary video .

VTV arrangement and automation: see slides and a short video.

Notes on formal methods for software.  Materials for exercises- Fault trees and TopEvent FTA 2016 .

Software quality management and processes

The third part provides a selection of software quality management frameworks, processes, and standards topics, including the principles of quality management and standardization, software process quality, as well as software quality criteria and metrics.

Software quality management: slides and video in Moodle.

Software process frameworks: ISO/IEC 12207, CMMI, and related.

Software metrics and two videos in Moodle.  Materials for exercises- Software development cost estimation.

Notes on IT audit.

IT Baseline Security.

XP, TDD, CMMI.

Please read materials that are referenced to in the above slides and in the course arrangement Ch 6.
Note: these materials are for self-study, not for receiving grade points from tests etc. Example quiz and responses.