A qualidade de software é uma área de conhecimento da engenharia de software que objetiva garantir a qualidade do software através da definição e normatização de processos de desenvolvimento. Apesar dos modelos aplicados na garantia da qualidade de software atuar principalmente no processo, o principal objetivo é garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente. A qualidade do produto em si está fortemente relacionada à qualidade do processo utilizado para sua construção. A definição e o uso dos processos de software envolve uma complexa inter-relação de fatores organizacionais, culturais, tecnológicos e econômicos que dificultam a garantia da qualidade do mesmo. Alguns modelos de qualidade de software também são citados por Pressman (2005). Há o que McCall e Cavano (1978) sugerem como métricas para qualidade de software. Conhecido como Fatores da Qualidade, estes fatores avaliam o software em três pontos distintos: Transição do Produto, Revisão do Produto e Operação do Produto. O SWEBOK divide a qualidade de software em três tópicos e cada tópico é dividido em subdivido em atividades: Fundamentos de qualidade de software: Cultura e ética de engenharia de software, Valores e custos de qualidade, Modelos e características de qualidade, Melhoria da qualidade; Gerência do processo de qualidade de software: Garantia de qualidade de software, Verificação e validação, Revisões e auditorias; Considerações práticas: Requisitos de qualidade para aplicações, Caracterização de defeitos, Técnicas de gerência de qualidade de software, Medidas de qualidade de software.

Conceitos

Qualidade: Do ponto de vista do desenvolvedor deve associar a concepção de que o software atenda as necessidades do cliente. Do ponto de vista do cliente deve associar ao valor, à utilidade do software e ao cumprimento dos requisitos.

Funcionalidade: Atributos, funções e propriedades específicas de um software que satisfazem as necessidades explícitas ou implícitas.

Requisitos de Qualidade

Requisitos de qualidade é um tópico por si dentro do assunto qualidade. Dentro da ótica desta última, espera-se que os requisitos sejam definidos de maneira a caracterizar completamente o produto a ser construído. Nesse aspecto - e em relação à definição de Brooks - é evidente que as zonas de sombra dentro de uma especificação abrem margem a todo tipo de problemas de avaliação de produtos. Sommerville distingue requisitos funcionais e não funcionais. O modelo internacional mais recente Square, estabelecido pela norma ISO 25000, adota uma classificação um pouco diferente e utiliza uma descrição hierárquica. Dentro dessa descrição, "funcionalidade" é uma das seis divisões iniciais em que se classificam os requisitos de um produto de software. Idealmente, a especificação de requisitos deve permitir que o processo de fabricação do software seja controlado. Isso significa que idealmente a qualidade de produtos intermediários deve poder ser mensurada e que os dados obtidos devem trazer informação que possa levar ao controle de desvios, localização de defeitos e outras ocorrências negativas.


Atividades de Padronização

Qualidade do Produto: ISO/IEC 9126 (AVALIAÇÃO). Qualidade do Processo: CMM/CMMI, ISO/IEC 12207, ISO/IEC 15504 SPICE.