Testes de Software é a avaliação do software contra os requisitos coletados dos usuários e as especificações do sistema. Os testes são conduzidos para a fase no ciclo de vida de desenvolvimento de software ou a nível de módulo no código do programa. Testes de Software é composto de verificação e validação.
Validação é um processo de examinar ou não o software satisfaz as necessidades do usuário. É efectuada no final do SDLC. Se o software compatível com os requisitos para o qual ele foi feito, ele é validado.
Verificação é o processo de confirmar se o software está satisfazendo os requisitos de negócio, e é desenvolvida respeitando as especificações adequadas e metodologias.
Alvo do teste são -
Erros - estas são codificação real os erros cometidos pelos desenvolvedores. Além disso, há uma diferença na produção de software e saída desejada, é considerado como um erro.
Problema - Quando existe erro falha ocorre. O problema, também conhecido como um bug, é o resultado de um erro que pode causar a falha do sistema.
Incumprimento - é dito ser a incapacidade do sistema para executar a tarefa desejada. Falha ocorre quando a falha existente no sistema.
Os testes podem ser feitos manualmente ou usando uma ferramenta automatizada de testes:
Manual - Este teste é realizado sem a ajuda de ferramentas de teste automatizado. O software tester prepara casos de teste para diferentes perfis e níveis de código, executa os testes e relatórios o resultado para o gestor.
Teste Manual é o tempo e consumo de recursos. O testador precisa de confirmar direito ou não casos de teste são usados. Grande parte do teste envolve testes manuais.
Este teste automatizado é um procedimento de teste feito com o auxílio de ferramentas de teste automatizado. As limitações com testes manuais podem ser superadas usando ferramentas de teste automatizado.
Uma lâmpada precisa de verificar se uma página web pode ser aberto no Internet Explorer. Isso pode ser feito facilmente com testes manuais. Mas para verificar se o servidor web pode levar a carga de 1 milhões de usuários, é impossível testar manualmente.
Existem softwares e ferramentas de hardware que ajuda a testador, em realizar testes de carga, testes de stress, testes de regressão.
Os testes podem ser feitos com base em duas abordagens -
Quando funcionalidade está sendo testada sem tirar a implementação efetiva de preocupação é conhecido como caixa-negra testando. O outro lado é conhecido como testes de caixa branca onde não somente funcionalidade é testado, mas a maneira como ele é implementado também é analisada.
Testes exaustivos são as melhores-método desejado para uma perfeita análise. Cada valor possível na faixa da entrada e saída de valores é testada. Não é possível testar cada valor no cenário real se o intervalo de valores é muito grande.
É realizado para testar a funcionalidade do programa. É também chamado 'comportamental' testando. O testador, neste caso, tem um conjunto de valores de entrada e respectivos resultados desejados. A entrada, se a saída coincide com os resultados desejados, o programa está sendo testado "ok", e problemático caso contrário.
A este método de ensaio, o design e a estrutura do código não são conhecidos para o testador, e testes técnicos e usuários finais fazer esse teste no software.
Testes de caixa-preta técnicas:
Equivalência class - a entrada é dividida em classes similares. Se um elemento de uma classe for aprovado no teste, é assumido que toda a classe seja aprovada.
Valores-limite - a entrada é dividida em maior e menor valores finais. Se estes valores passar no teste, é assumido que todos os valores entre pode passar também.
Causa-efeito para gráficos - Em ambos os métodos anteriores, apenas um valor de entrada em um momento é testada. Causa (entrada) - Efeito (saída) é um teste técnica onde combinações de valores de entrada são testados de forma sistemática.
Par-sábio Ensaios - o comportamento do software depende de vários parâmetros. Em dois ensaios, os vários parâmetros são testados par-sábios para os diferentes valores.
Baseado em Estado e ensaios - o sistema muda de estado em prestação de entrada. Estes sistemas são testados com base em seus estados e entrada.
Ela é conduzida ao programa de testes e a sua execução, a fim de melhorar eficiência do código ou estrutura. Ela também é conhecida como "estrutural", os testes.
A este método de ensaio, o design e a estrutura do código são conhecidos para o testador. Os programadores de código conduta este ensaio sobre o código.
A seguir, encontram-se alguns testes de caixa branca técnicas:
Control-teste de fluxo - o objectivo do controlo de testes de vazão para configurar casos de teste que abrange todas as declarações e condições de desvio. A filial condições são testados para ambos são true e false, de modo que todas as declarações podem ser cobertas.
Os dados de teste de fluxo - Este teste técnica destaque para abranger todas as variáveis de dados incluídos no programa. Ela testa onde as variáveis foram declaradas e definidas e onde eles foram usados ou alterados.
Teste em si pode ser definido em vários níveis do SDLC. O processo de teste é executado paralelamente ao desenvolvimento de software. Antes de pular para a próxima fase, uma fase é testado, validado e verificado.
Os ensaios em separado é feito apenas para certificar-se de que não há nenhum escondido bugs ou problemas no software. Software é testado em diferentes níveis -
Durante a codificação, o programador executa alguns testes na unidade do programa para saber se ela está livre de erros. Os testes são realizados em testes de caixa branca. Teste de Unidade ajuda os desenvolvedores decidir que unidades individuais do programa estão trabalhando como por obrigação e estão livres de erros.
Mesmo se as unidades do software estão funcionando bem individualmente, não há a necessidade de saber se as unidades se integrados, que também funcionam sem erros. Por exemplo, dados e argumentos que passam actualizações ...
O software é compilado como produto e, em seguida, ele é testado como um todo. Isso pode ser feito usando um ou mais dos seguintes testes:
Teste de funcionalidade - Testes todas as funcionalidades do software em relação ao requisito.
Teste de Desempenho - Este teste comprova a eficiência do software. Ela testa a eficácia e tempo médio gasto pelo software para fazer tarefa desejada. Teste de Desempenho é feito por meio de testes de carga e stress testes, onde o software é colocado sob alta carga de dados e usuário sob diferentes condições ambientais.
Segurança e portabilidade - Estes testes são feitos quando o software é destinado ao trabalho em diversas plataformas e acessado pelo número de pessoas.
No momento em que o software está pronto para entregar ao cliente, tem que passar pela última fase de testes, onde é testado para o usuário-interação e resposta. Isso é importante porque, mesmo se o software corresponde a todos os requisitos do usuário e se o usuário não gostar da forma como ela é apresentada, ou funciona, ele pode ser rejeitado.
Teste Alfa - a equipe de desenvolvedores-se realizar teste alfa, utilizando o sistema como se ele está sendo usado no ambiente de trabalho. Eles tentam descobrir como o usuário iria reagir a alguma ação no software e a forma como o sistema deve responder às entradas.
Teste Beta - Depois que o software é testado internamente, ela é entregue para os usuários a usá-lo em seu ambiente de produção apenas para testes. Esta não é, no entanto, o produto entregue. Os desenvolvedores esperam que os usuários nesta fase irá trazer minuto problemas, que foram ignoradas para participar.
Sempre que um produto de software é atualizado com o novo código, recurso ou funcionalidade, é cuidadosamente testado para detectar se há algum impacto negativo do código adicionado. Isso é conhecido como teste de regressão.
Testando os documentos são preparados em diferentes fases -
Início dos ensaios com casos de teste geração. Seguintes documentos são necessário para referência -
SRS documento - Documento de Requisitos Funcionais
Teste documento de orientação política - Este artigo descreve como muito os testes devem ter lugar antes do lançamento do produto.
Estratégia de teste - Este menciona detalhes aspectos da equipe de testes, matriz de responsabilidades e direitos/responsabilidade do gestor de testes e engenheiro de teste.
Rastreabilidade documento da matriz - este é O SDLC documento, que está relacionada à exigência processo de coleta. Como os novos requisitos, eles são adicionados a essa matriz. Essas matrizes ajudar os analistas sabem a origem da obrigação. Eles podem ser rastreados para frente e para trás.
Os seguintes documentos poderão ser exigidos durante o teste é iniciado e está sendo feito.
Caso de teste documento - Este documento contém lista de testes necessários para ser realizado. Inclui unidade plano de teste, teste de integração, teste de sistema e teste de aceitação plano plano.
Descrição do Teste - Este documento é uma descrição detalhada de todos os casos de teste e os procedimentos para executá-las.
Teste relato de caso - Este documento contém teste relato de caso como um resultado do teste.
Teste os logs - Este documento contém os registros para cada teste teste relato de caso.
Os seguintes documentos podem ser gerados após o teste:
Resumo do Teste - Este resumo do teste é análise conjunta de todos os relatórios de ensaio e os logs. Ela resume e conclui que o software está pronto para ser lançado. O software é liberado sob sistema de controle de versão se ela está pronta para o lançamento.
É preciso que se entenda que testes de software é diferente de garantia de qualidade do software, o software software controle de qualidade e auditoria.
Garantia de Qualidade em Software - esses são processo de desenvolvimento de software entende-se por acompanhamento, pelo que é garantido que todas as medidas sejam tomadas, como por os padrões de organização. Este acompanhamento é feito para se certificar de que desenvolvimento de software adequados métodos foram seguidos.
Software controle de qualidade - Este é um sistema para manter a qualidade do produto de software. Isso pode incluir funcionais e não-funcionais do produto de software, que ajuda a melhorar a boa vontade da organização. Este sistema garante que o cliente está recebendo produto de qualidade para as suas necessidades e o produto certificado como "adequado para uso".
Auditoria de Software - Esta é uma revisão do processo utilizado pela organização para desenvolver o software. A equipa de auditores, independente da equipe de desenvolvimento analisa o processo de software, procedimento, requisitos e outros aspectos do SDLC. O objetivo da auditoria de software é verificar que o software e o seu processo de desenvolvimento, tanto em conformidade com normas, regras e regulamentos.