<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Daniele Biondi on Medium]]></title>
        <description><![CDATA[Stories by Daniele Biondi on Medium]]></description>
        <link>https://medium.com/@danicbo85?source=rss-fb36d017aa88------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*BG1PSGGSCZ6zaeEY.jpg</url>
            <title>Stories by Daniele Biondi on Medium</title>
            <link>https://medium.com/@danicbo85?source=rss-fb36d017aa88------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 19:57:33 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@danicbo85/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[A QUALIDADE DE SOFTWARE]]></title>
            <link>https://medium.com/@danicbo85/a-qualidade-de-software-5150dc57777f?source=rss-fb36d017aa88------2</link>
            <guid isPermaLink="false">https://medium.com/p/5150dc57777f</guid>
            <dc:creator><![CDATA[Daniele Biondi]]></dc:creator>
            <pubDate>Thu, 06 Jun 2019 16:17:12 GMT</pubDate>
            <atom:updated>2019-06-06T16:17:12.070Z</atom:updated>
            <content:encoded><![CDATA[<p>BIONDI DE OLIVEIRA, Daniele Cristina 1</p><p><strong>RESUMO</strong></p><p>O presente documento tem como objetivo destacar os conceitos, processos e normas da qualidade de software, aguçar as mentes sobre as melhores práticas das organizações e os impactos gerados na sociedade, decorrentes da falta de gestão da qualidade. Discorrer a importância de tais processos e principalmente dos testes de software realizados, destacando cada tipo de teste e seus objetivos.</p><p><strong>Palavras-chave:</strong> Qualidade de Software, Conceitos, Impacto, Processos, Gestão da Qualidade, Testes.</p><p>_____________</p><p>1Aluna do Curso de Pós-Graduação de Engenharia de Software em Dispositivos Móveis do Centro Universitário Uninter-SP.</p><p><strong>INTRODUÇÃO</strong></p><p>Por definição de Software o agrupamento de componentes de um computador ou processamento de dados, cujo programa ou rotina de instruções controlem o funcionamento lógico do computador, assim como todo o armazenamento em circuitos ou discos.</p><p>Buscamos por qualidade de software um sistema que seja fácil de manipular, inteligível, seguro, adaptável, que atenda aos requisitos de sua funcionalidade.</p><p>Os problemas com a qualidade de software sempre existiram, desde o desenvolvimento do primeiro sistema operacional (que, estima-se, ocorreu em 1960). Uma das maiores reclamações em relação aos sistemas operacionais era sobre o sistema “lento e pouco confiável, difícil de manter e reusar” (Sommerville, 2011). A partir desse momento, iniciou-se a utilização de algumas técnicas de gerenciamento de qualidade de software, que foram desenvolvidas com base em métodos de manufatura. Esse gerenciamento de qualidade de software possui três principais preocupações, listadas por Sommerville (2011):</p><p>Nível organizacional]: o gerenciamento da qualidade está preocupado com o estabelecimento de um framework de processos organizacionais e padrões que levem a software de alta qualidade. Isso significa que a equipe de gerenciamento de qualidade deve assumir a responsabilidade de definir os processos de desenvolvimento do software que serão usados e os padrões que devem ser usados no software, bem como a documentação relacionada, incluindo os requisitos do sistema, projeto e código.</p><p>Nível de projeto: o gerenciamento da qualidade envolve a aplicação de processos específicos de qualidade, verificando que os processos planejados foram seguidos, e a garantia de que as saídas do projeto estejam em conformidade com os padrões aplicáveis ao projeto.</p><p>Nível de projeto o gerenciamento da qualidade também está preocupado com o estabelecimento de um plano de qualidade. O plano de qualidade deve definir as metas de qualidade para o projeto e quais processos e padrões devem ser usados.</p><p>Qualidade de software pode ser compreendida como uma das áreas de conhecimento da engenharia de software que tem por objetivo garantir a qualidade do software por meio da definição de processos de desenvolvimento. Apesar dos modelos aplicados na garantia da qualidade de software atuarem predominantemente no processo, o objetivo mais importante é garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente (SWEBOK, 2004).</p><p>Este software pode ser um produto simples para uma loja de roupas. Pode ser um sistema de manufatura ou um software de controle de bordo em um avião.</p><p>Para Sommerville (2008) o gerenciamento de qualidade de software pode ser dividido em três atividades principais:</p><p>1. Garantia de qualidade que consiste em estabelecer procedimentos e padrões que conduzam ao desenvolvimento de software de alta qualidade.</p><p>2. Planejamento de qualidade selecionar os procedimentos e padrões adequados e adaptá-los a um projeto de software específico o que vai de encontro com recomendações do PMBOK (2008).</p><p>3. Controle de qualidade definir e aprovar processos que garantam que os procedimentos e padrões de qualidade sejam seguidos.</p><p>O gerenciamento de qualidade fornece uma verificação independente sobre o processo de desenvolvimento de software. Ele deve ser separado do gerenciamento de projeto, para que a qualidade não seja comprometida pelas responsabilidades de gerenciamento relacionadas a prazos e orçamentos.</p><p>A equipe de qualidade não deve ficar associada à um grupo específico de desenvolvimento, mas sim assumir um compromisso pela qualidade na organização.</p><p>O procedimento de garantia de qualidade deve ser documentado em um manual que define o processo de qualidade (SOMMERVILLE, 2008).</p><p>Segundo o SWEBOK 2018, Qualidade de Software é uma área de conhecimento de engenharia de software. As características desejadas de um produto e em relação aos processos, ferramentas e técnicas utilizadas para garantir essas características. Segue abaixo.</p><p>Figura 1: Gráfico sobre a qualidade de software.</p><p><strong>PROCESSOS</strong></p><p>A primeira norma criada relacionada a qualidade com base á normativas universais e que contém os princípios com foco no cliente, liderança, envolvimento de pessoas, abordagem de processos, abordagem sistêmica de gestão, melhoria contínua, tomada de decisão com base em evidência e gestão de relacionamento da norma NBR ISO 9000 de Sistemas de Gestão da Qualidade, conforme gráfico.</p><p>Tabela 1: Normas da Família ISO 9000:</p><p>Existem diversas normas ISO relacionadas a qualidade de software de acordo com Rezende (2005) conforme tabela a seguir.</p><p>Tabela 2: Normas da Família ISO sobre qualidade.</p><p>As oito dimensões da qualidade de David Garvin, Ph. D em economia pelo M.I.T, relacionadas a produtos e serviços são:</p><p>1. Desempenho;</p><p>2. Características Secundárias;</p><p>3. Confiabilidade;</p><p>4. Conformidade;</p><p>5. Durabilidade;</p><p>6. Capacidade de receber assistência técnica;</p><p>7. Estética;</p><p>8. Qualidade percebida;</p><p>Ao que se refere no contexto de qualidade de software (Pressman e Maxim, 2016):</p><p>Qualidade do desempenho: o software fornece todo o conteúdo, funções e recursos especificados como parte do modelo de requisitos, de forma a gerar valor para o usuário?</p><p>Qualidade de recursos: o software fornece recursos que surpreendam e encantam usuários que o utilizam pela primeira vez?</p><p>Confiabilidade: Está disponível quando necessário? Fornece funcionalidades sem a ocorrência de erros?</p><p>Conformidade: o software está de acordo com os padrões de software locais e externos relacionados com a aplicação? Segue as convenções de projeto e codificações de fato?</p><p>Durabilidade: o software pode ser mantido (modificado ou corrigido (depurado) sem a geração involuntária de efeitos colaterais indesejados? As mudanças farão com que a taxa de erros ou a de confiabilidade degradem com o tempo?</p><p>Facilidade de manutenção: o software pode ser mantido (modificado), ou corrigido (depurado), em tempo aceitável ou curto? O pessoal de suporte pode obter todas as informações necessárias para realizar alterações ou corrigir defeitos?</p><p>Estética: não há dúvida nenhuma que cada um de nós tem uma visão diferente e muito subjetiva do que é estética.</p><p>Percepção: em algumas situações temos alguns preconceitos que influenciarão em nossa percepção da qualidade.</p><p>A importância de processos não se resume apenas as normas, mas também planejamento, do que se espera, tempo, custo, objetivo, fazer um mapeamento dos processos para que tudo ocorra como previsto no desenvolvimento, para que o sistema reproduza o que deveria reproduzir.</p><p>Podemos implementar um Planejamento de Melhoria de Processos caso identifiquemos falhas.</p><p>Assim como Planejamento de Ações Corretivas para eliminar casos em não conformidades.</p><p><strong>DESENVOLVIMENTO</strong></p><p>É fundamental que sejam definidos os requisitos, cronograma, custos entre outros fatores, para o desenvolvimento do software, para que ocorra de forma sólida a fim de assegurar a qualidade do produto final. Todo esse processo, auxilia não somente a definir a maturidade da empresa em questão de qualidade quanto a maturidade do próprio software.</p><p>Várias empresas estão analisando o estágio de evolução de seu processo de software e verificando a necessidade de adoção de uma ponte entre o uso sistemático de recursos e a incorporação de práticas gerenciais aos projetos de softwares, com o intuito de assegurar o aumento da produtividade, o cumprimento de prazos e a conformidade com os altos padrões de qualidade de seus clientes. Inspiradas nessas diretrizes muitas destas vem integrando atividades consagradas de desenvolvimento de software as práticas de melhoria do processo definidas no modelo CMM (Capability Maturity Model).</p><p>O objetivo maior destas empresas é organizar e promover a melhoria contínua do processo de desenvolvimento, levando-o de um patamar informal (ad hoc) aos níveis maiores de maturidade preconizados pelo CMM. A expectativa ao se investir na melhoria do processo de software é aumentar a qualidade, a produtividade e a previsibilidade dos resultados finais.</p><p>O CMM é um dos modelos mais aceitos para a melhoria da qualidade e do processo de software em todo o mundo e define os princípios e práticas que devem ser aplicados a uma organização para atingir estágios evolutivos de maturidade em seu processo de software.</p><p>De acordo com a definição da IEEE (2018), erro está relacionado a uma ação humana que produz um resultado incorreto. Já o defeito é um produto que não atende ao que foi criado. A Falha é a manifestação do erro em um software, segue imagem comparativo entre erro, defeito e falha:</p><p>Para se aumentar a qualidade de um produto e reduzir o número de erros são construídos casos de testes, este documento contém uma descrição com a regra de negócio do sistema, o que precisa ser executado, e que o usuário iria realizar no sistema, sobre qual ação esperada ou não do sistema.</p><p>Patton (2001), descreve alguns documentos que são essenciais no processo incluídos para testes de softwares:</p><p>O plano de teste descreve o método geral a ser usado para verificar se o software atende à especificação do produto e às necessidades do cliente. Inclui os objetivos de qualidade, necessidades de recursos, horários, atribuições, métodos e assim por diante.</p><p>Os casos de teste listam os itens específicos que serão testados e descrevem as etapas detalhadas que serão seguidas para verificar o software.</p><p>Os relatórios de erros descrevem os problemas encontrados à medida que os casos de teste são seguidos. Estes poderiam ser feitos em papel, mas muitas vezes são rastreados em um banco de dados.</p><p>Métricas, estatísticas e resumos transmitem o progresso que está sendo feito à medida que o trabalho de teste progride. Eles assumem a forma de gráficos, gráficos e relatórios escrito.</p><p>O planejamento da qualidade é o “processo de desenvolvimento de um plano de qualidade para um projeto” (Sommerville, 2011). Ele deve estabelecer dois fatores:</p><p>1. As qualidades desejadas para o software.</p><p>2. A descrição de como essa qualidade deve ser avaliada.</p><p>Sommerville (2011) cita que um plano de qualidade deve incluir:</p><p>Introdução ao produto;</p><p>Planos de produto;</p><p>Descrições de processo;</p><p>Metas de qualidade;</p><p>Riscos e gerenciamento de riscos.</p><p>A avaliação da qualidade de software deve conter os seguintes questionamentos, de acordo com Sommerville (2011):</p><p>“Durante o processo de desenvolvimento os padrões de programação e documentação foram seguidos?</p><p>O software foi devidamente testado? O software é suficientemente confiável para ser colocado em uso?</p><p>O desemprenho do software é aceitável para uso normal? O software é útil? O software é bem estruturado e compreensível?”</p><p><strong>Tipos de Testes</strong></p><p><em>Teste de Unidade</em>: “O teste de unidade verifica o funcionamento isoladamente de elementos de software que são testáveis separadamente. Dependendo do contexto, estes podem ser os subprogramas individuais ou um componente maior composto de unidades altamente coesas.”</p><p><em>Teste Integrado</em>: “O teste de integração é o processo de verificação das interações entre componentes de software. Estratégias de teste de integração clássica, como top-down e de baixo para cima, são frequentemente usados com software estruturado hierarquicamente.”</p><p><em>Teste de Sistema</em>: “O teste do sistema está preocupado com o teste do comportamento de um sistema inteiro”.</p><p><em>Teste de Aceitação</em>: “Determina se um sistema satisfaz seus critérios de aceitação, geralmente verificando os comportamentos do sistema desejado em relação aos requisitos do cliente.”</p><p><em>Teste Alfa e Teste Beta:</em> “Antes do lançamento do software, às vezes é dado para um pequeno grupo selecionado de potenciais usuários para uso experimental (Teste Alfa) e/ou um conjunto maior de usuários representativos (Teste Beta).”</p><p><em>Teste Regressivo</em>: “Reteste seletivo de um sistema ou componente para verificar que as modificações não causaram efeitos e que o sistema ou componente ainda cumpre os requisitos especificados</p><p>A equipe que trabalha com o gerenciamento da qualidade não deve estar ligada à equipe de desenvolvimento, mas deve ser uma entidade independente que se reporta ao gerente acima do gerente de projetos. Sommerville (2011)</p><p>A qualidade surge o termo quality assurance (QA — “garantia da qualidade”), que também é amplamente utilizado pela indústria manufatureira. “A garantia da qualidade é a definição de processos e padrões que devem conduzir a produtos de alta qualidade e a introdução de processos de qualidade na fabricação” (Sommerville, 2011).</p><p><strong>CONSIDERAÇÕES FINAIS</strong></p><p>Se faz necessária a utilização da qualidade de software em todas as áreas, a aplicabilidade do gerenciamento de qualidade, por todas as empresas, independentemente do porte da mesma e do produto final.</p><p>Prezar pela qualidade de software e pela continuidade de seus processos é um meio de prevenir erros ou defeitos sistêmicos, decorrentes de falha humana.</p><p>Estar dentro das regras de conformidade estabelecidas é uma atitude ética do profissional envolvido na qualidade de software.</p><p>Buscar aprendizagem contínua e certificações que comprovem as práticas de melhorias dentro das organizações.</p><p>Espero que esta pesquisa tenha sido proveitosa e esclarecedora.</p><p><strong>REFERÊNCIAS</strong></p><p>_____. ABNT — ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. <strong>Catálogo da ABNT</strong>. Disponível em: &lt;http://www.abntcatalogo.com.br/&gt;. Acesso em: 7 jun. 2018</p><p>_____. ISO 9000 family — Quality management. Disponível em: &lt; <a href="https://www.iso.org/iso-9001-quality-management.html">https://www.iso.org/iso-9001-quality-management.html</a> &gt;. Acesso em: 7 jun. 2018.</p><p>GARVIN, D. <strong>Gerenciando a qualidade</strong>. Rio de Janeiro: Qualitymark, 1992.</p><p>_____. IEEE — INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS STANDARDS ASSOCIATION. IEEE Std 1044–2009 (Revision of IEEE Std 10441993) — <strong>IEEE Standard Classification for Software Anomalies</strong>. Disponível em: &lt;https://standards.ieee.org/findstds/standard/1044-2009.html&gt;. Acesso em: 7 jun. 2018</p><p>PATTON, R. <strong>Software testing</strong>. [S. l.]: Sams Publishing, 2001.</p><p>PRESSMAN, R. S; MAXIM, B. R. <strong>Engenharia de Software:</strong> Uma abordagem</p><p>profissional. 8. ed. Porto Alegre: Bookman, 2016.</p><p>PMBOK. <strong>Um guia do conhecimento em gerenciamento de projetos</strong> (Guia PMBOK). 4 ed. Pennsylvania: Project Management Institute, Inc., 2008.</p><p>REZENDE, D. A. <strong>Engenharia de Software e Sistemas</strong>. 3. ed. Rio de Janeiro: Brasport, 2005.</p><p>SOMMERVILLE, I. <strong>Engenharia de software</strong>. São Paulo: Pearson Prentice Hall, 2011</p><p>SOMMERVILLE, Ian<strong>. Engenharia de Software</strong> : 8 ed. Rio de Janeiro: Prentice-Hall, 2008.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5150dc57777f" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>