O documento introduz conceitos básicos sobre teste de software, incluindo: 1) Teste de software é o processo de execução de um produto para determinar se atendeu suas especificações; 2) Existem diferentes níveis de teste como unidade, integração e sistema; 3) Critérios de teste como particionamento de classes de equivalência e análise de valor limite são usados para gerar casos de teste.
1. INTRODUÇÃO A TESTE DE SOFTWARE Adriana C. Nascimento Danilo Dias Luma da R. Seixas Yuko Mitsuya
2. TESTE CONCEITO DE TESTE: “ Exame ou prova para avaliar uma capacidade ou aptidão de alguém, ou para determinar a qualidade, natureza ou comportamento de algo. ” (Fonte: Minidicionário da língua Portuguesa)
3. TESTE DE SOFTWARE CONCEITO: “ É o processo de execução de um produto para determinar se ele atingiu suas especificações e funcionou corretamente no ambiente para o qual foi projetado ” . “ É uma das fases do processo de engenharia de software que visa atingir um nível superior da qualidade de software. ”
4. TESTE DE SOFTWARE É parte de um tema mais amplo chamado Verificação e Validação (V&V), onde: Verificação - refere-se ao conjunto de atividades que garante que o software implementa corretamente uma função específica, e; Validação - refere-se ao conjunto de atividades que garante que o software que foi construído atende às exigências do cliente.
5. TESTE DE SOFTWARE Logo, “ Testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. ”
6. TESTE DE SOFTWARE OBJETIVO: “ Revelar o número máximo de falhas dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos ” .
7. TESTE DE SOFTWARE IMPORTÂNCIA: Economia: Quanto mais cedo um defeito for encontrado, mais barato é o custo da sua correção; Qualidade: Devem ser encarados como investimento em qualidade.
17. TIPOS DE TESTE A ISO/IEC 9126 (NBR 13596) fornece um modelo que define 6 amplas categorias de características de qualidade, por sua vez, sub-divididas em sub-características. Característica Sub-características Funcionalidade: O conjunto de funções satisfaz as necessidades explicitas e implícitas para a finalidade a que se destina o produto? Adequação, acurácia, interoperabilidade, segurança de acesso e conformidade. Confiabilidade: O desempenho se mantém ao longo do tempo e em condições estabelecidas? Maturidade, tolerância a falhas e recuperabilidade. Usabilidade: É fácil utilizar o software? Inteligibilidade, apreensibilidade e operacionalidade. Eficiência: Os recursos e os tempos utilizados são compatíveis com o nível de desempenho requerido para o produto? Comportamento em relação ao tempo e comportamento em relação aos recursos Manutenibilidade: Há facilidade para correções, atualizações e alterações? Analisabilidade, modificabilidade, estabilidade e testabilidade. Portabilidade: É possível utilizar o produto em diversas plataformas com pequeno esforço de adaptação? Adaptabilidade, capacidade para ser instalado, capacidade para substituir e conformidade.
18. TIPOS DE TESTE A escolha do tipo de teste dependerá do grau de importância de cada uma das características de qualidade que serão avaliadas no software. Os tipos de testes mais comuns segundo o Guide to the CSTE Common Body of Knowledge do QAI são: Tipos de testes Descrição Teste de Estresse Avalia o desempenho do sistema com um volume de acesso/trasações acima da média esperada em condições extremas de uso. Teste de Execução Avalia se o sistema atende os requisitos de performance (proficiência) com um volume de acesso/trasanções dentro do esperado. Teste Contigência Avalia se o sistema retorna a um status operacioal após uma falha. Teste de Operação Avalia se o sistema (aplicação, pessoal, procedimentos e manuais) pode ser executado corretamente em ambiente de pré-produção. Teste de Conformidade Avalia se o sistema foi desenvolvido em consônancia com os padões e metodologia estabelecidos no projeto. Teste de Segurança Avalia se o sistema foi desenvolvido em consonância com os padrões de segurança da organização. Teste de Regressão Avalia por meio do ré-teste se uma funcionalidade que estava funcionando ainda funciona após uma modificação no sistema. Teste de Integração Avalia se a interconexão entre as aplicações funciona corretamente.