Escolar Documentos
Profissional Documentos
Cultura Documentos
1
SUMÁRIO
PRINCÍPIOS DE TESTE.................................................................. 13
REFERÊNCIAS ............................................................................... 39
1
NOSSA HISTÓRIA
A instituição tem por objetivo formar diplomados nas diferentes áreas de conhecimento,
aptos para a inserção em setores profissionais e para a participação no desenvolvimento da
sociedade brasileira, e colaborar na sua formação contínua. Além de promover a divulgação de
conhecimentos culturais, científicos e técnicos que constituem patrimônio da humanidade e
comunicar o saber através do ensino, de publicação ou outras normas de comunicação.
2
QUALIDADE E DEFEITOS
Qual a melhor palavra para descrever que um software “travou” ou não está
agindo de forma correta?
“É importante distinguir falha, erro e defeito para que se crie uma linguagem
comum entre os membros de uma equipe e para que se possa fazer uma análise de
causa raiz quando um problema ocorre.”
3
Figura 1 - Erros, defeitos e falhas
Bug
O termo é utilizado para descrever problemas que não tem explicação, e esta
presente no mundo da informática a muito tempo. Tomas Edison em seus circuitos
elétricos já mencionava os bugs.
4
Há uma imagem de que os bugs são encontrados somente no código fonte.
Assim como, entendem que somente o desenvolvedor e a equipe de qualidade são os
responsáveis pelos bugs. Nas duas afirmações a visão esta errada, pois os e bugs
podem ser gerados em todo o processo no desenvolvimento, como por exemplo,
resultados de uma especificação de requisito, análise, modelo de dados ou interface
do sistema feito de forma incorreta. (BARTIÉ, 2002)
5
Figura 4 - Incidência de defeitos nas etapas de desenvolvimento
O CUSTO DA QUALIDADE
A cada uma das fases está determinado um custo. Todos somados resultam no
custo total da qualidade contemplando o custo da construção.
6
Figura 5 - Custo da Qualidade
7
Figura 6 - Regra 10 de Myers
8
funcionamento do projeto. Estes defeitos geram problemas tanto para a imagem da
empresa quanto para o negócio. E para garantir que não impactem no projeto e que
sejam corrigidos foi criada a área a de Testes de Software. (BASTOS, A. et. al., 2007)
9
É importante saber que a atividade de teste não garante que os bugs não
existirão, ela apenas demonstra se há defeitos presentes no software. (PRESSMAN,
2002)
10
los…”
Por mais absurdas que pareçam ser estas afirmações, muitas empresas
aplicam ainda estes conceitos. (BASTOS, A. et. al., 2007)
Exemplo disso:
O problema foi causado devido à falta de testes para um volume de acessos tão
grande, fazendo com que a empresa deixasse de ganhar dinheiro e tivesse que criar
outra promoção para se redimir do erro e os clientes ficaram insatisfeitos com o
ocorrido.
11
Outros exemplos:
A empresa Symantec proprietária do software antivírus Norton
que em junho de 2007 teve de compensar 50 mil vítimas de uma
atualização que retirava arquivos de sistema de uso, dando a
elas uma extensão de 12 meses da licença do Norton e uma cópia
da ferramenta Norton Save & Restore 2.0. (LOPES & CARNEIRO)
Em 1988, o navio US Vicennes derrubou um Airbus 320 causando
a morte de 290 pessoas, a falha foi atribuída ao software de
reconhecimento do navio que confundiu o avião com um F-14.
Todo software desenvolvido tem como objetivo atender demandas, e para que
seja garantida a eficácia dos programas é necessário testar os softwares, pois, sempre
existirá a probabilidade de se existirem defeitos, bem como reduzir custos e identificar
as qualidades dos softwares como: “confiabilidade, qualidade, desempenho,
usabilidade, portabilidade, segurança, recuperabilidade e outras.”
12
PRINCÍPIOS DE TESTE
13
O custo das falhas que possam vir a ocorrer num
ambiente de produção não compensa o gasto adicional de
dinheiro para tentar evitá-las. No caso de um software usado
nos controles de um avião, o ponto de equilíbrio ficará
bastante à direita, ao passo que, no caso de um site Web de
páginas estáticas, esse ponto estará bem a esquerda. Quanto
mais critico for o software, mais testes serão gastos para
garantir a qualidade desse produto. Isso equivale a dizer que
quem define a quantidade de testes é a criticidade do negócio.
(BASTOS, A. et. al., 2007)
TÉCNICAS DE TESTE
14
Figura 9 - Execução Testes Caixa Branca
Para a realização dos testes de caixa branca foram definidos testes específicos
para cada situação. (BASTOS, A. et. al., 2007)
Teste de Estresse
Teste de Execução
Teste de Recuperação
Teste de Operação
São testes utilizados no ambiente de operação em que atuará, com usuários que
irão executar a ação e com os procedimentos determinados verificando se a aplicação
irá funcionar adequadamente. (BASTOS, A. et. al., 2007)
Teste de Conformidade
15
procedimentos e as guias de TI.
Teste de Segurança
O teste de caixa preta não exige que o responsável tenha conhecimento lógico
da tecnologia aplicada, os testes são mais simples do que o de caixa branca. A única
dificuldade de realizar este tipo de teste é exigir que a equipe responsável pela
homologação realize um planejamento detalhado e apurado para que seja possível
identificar todos os cenários possíveis. (BARTIÉ, 2002)
16
Teste de Requisitos
Teste de Regressão
Tem o objetivo de analisar se algo foi alterado de como era realizado antes da
nova funcionalidade ser aplicada, ou seja, é retestar etapas já testadas após uma
alteração no software. São executados tanto no software quanto na documentação.
(BASTOS, A. et. al., 2007)
Teste de Interconexão
Teste de Controle
Teste Paralelo
Realizar uma comparação dos dados gerados pela nova versão do software com
a versão anterior, exigindo que os dados de entrada sejam os mesmos executando em
duas versões do mesmo software, caso os requisitos sejam os mesmo apenas as
17
versões foram alteradas os resultados devem ser iguais nas duas. (BASTOS, A. et. al.,
2007)
Os testes de caixa cinza utilizam tanto os testes de caixa preta quanto os testes
de caixa branca, envolvendo a estrutura dos dados e os algoritmos. Fornecendo dados
de entrada e verificando a execução interna destes dados validando a saída dos
mesmos.
18
ESTÁGIOS DOS TESTES
Teste de Unidade
Teste de Integração
Este teste garante que não haverá erros quando todas as etapas individuais do sistema
forem executadas de forma integrada. Normalmente são encontrados erros de transição de
dados. Não faz parte deste teste avaliar a conexão com outros sistemas (teste de interconexão).
19
Teste de Sistema
Teste de Aceitação
Esta fase é realizada pelos usuários do sistema, validando se o que foi desenvolvido
atende as especificações solicitadas. É um teste a ser realizado pelo cliente solicitante de forma
formal para que avalie se irá aceitar ou não o sistema.
Através da Norma IEEE 829-19987 foram definidos documentos para a equipe de testes,
entre eles o documento de elaboração dos testes. O Plano de Teste é o documento que será
origem para os demais documentos. (BASTOS, A. et. al., 2007)
20
Figura 12- Modelo IEEE STD 829-1998
Casos de Teste
A melhor definição para casos de teste é o maior detalhamento possível de um teste, com
especificações de telas e formulários. São identificadas as informações que serão utilizadas
durante o teste e quais serão os resultados retornados. Um caso de teste considerado bom deve
conter: (BASTOS, A. et. al., 2007)
21
Identificação das condições de testes:
Pré-condições;
Pós-condições;
Critério de aceitação.
Identificação dos casos de testes (o que testar).
Detalhamento da massa de entrada e de saída.
Critérios especiais, caso necessário, para a geração da
massa de teste.
Especificação das configurações de ambiente no qual o
teste será executado: sistema operacional, ferramentas
necessárias, origem dos dados etc. (onde testar)
Definir o tipo de implementação do teste:
automática/manual (como testar).
Listar as interdependências, caso existam, entre os casos
de teste. (BASTOS, A. et. al., 2007)
Para os testes funcionais um caso de teste costuma ser derivado de um caso de uso. É
necessário criar um caso de teste que atenda a cada caso de uso. (BASTOS, A. et. al., 2007)
O fluxo básico ou principal, representado pela linha preta e retilínea, é o caminho mais
22
simples através do caso de uso. Cada fluxo alternativo começa no fluxo principal e depois, de
acordo com uma condição especifica, é executado. Os fluxos alternativos podem retornar ao
fluxo básico (como, por exemplo, os fluxos alternativos 1 e 3 da imagem acima), podem se
originar de outro fluxo alternativo (fluxo alternativo 2) ou terminar o caso de uso sem retornar a
um fluxo (fluxos alternativos 2 e 4). (BASTOS, A. et. al., 2007)
Casos de Teste elaborados de acordo com a visão de Bastos, A.et. al. (2007).
Apresentação do Software
Exceções do Software
Caso um dos campos não tenha sido preenchido corretamente o software apresentará a
mensagem informativa: “O dados não são válidos” e retorna para a tela inicial.
E3 – Login bloqueado
23
O software valida se o login informado esta bloqueado, exibe a mensagem informativa:
“Login bloqueado” e retorna para a tela inicial.
Regras de Negócio
Caso o usuário realize três tentativas incorretas de acesso ao software, o mesmo irá
bloquear o acesso deste login.
Regras de Usabilidade
US01 – Formatação
Protótipo da Tela
SISTEMA EMPRESARIAL
Login:
Senha:
24
*PA: Passo do Autor
25
CT03 – Senha incorreta
26
CT05 – Login efetuado corretamente
Segundo Bastos, A.et. al. (2007) após ser desenvolvido o plano de testes a próxima etapa
será a execução dos testes, importante que quanto mais detalhado e fiel ao sistema o plano de
testes estiver, mais fácil será o trabalho do testador. Para cada etapa dos testes há um
responsável por eles, sendo:
Quem irá executar os testes e como serão executados deve estar registrado no Plano de
Testes.bem como os resultados de cada. (BASTOS, A. et. al., 2007)
Abaixo segue figura que exibe como devem ser realizados os testes:
27
Figura 14 - Fluxo dos Testes
Os testes unitários são os primeiros a serem executados, e devem ser executados pelos
programadores, os testes são criados durante a etapa de desenvolvimento. O principal objetivo
é testar isoladamente cada parte do software para garantir que irão funcionar corretamente.
28
Execução dos Testes de Integração
Para Bastos, A.et. al. (2007) após serem executados todos os testes unitários, os
analistas devem executar os testes de integração e garantir que os componentes integrados
funcionarão com sucesso. Os itens a serem testados são:
29
RELATÓRIOS DE TESTE
Log de Teste;
Incidentes de Teste;
Sumário de Teste;
Todas as informações que forem relevantes durante a etapa de testes devem ser
registradas neste relatório, é composto pelos seguintes itens:
30
Identificador: identificador único e específico para o relatório, por
exemplo, o nome do sistema com número do release mais data e hora
do teste;
31
Relatório Incidentes de Teste
Resultados esperados;
Resultados encontrados;
Problemas;
Ambiente;
Testadores;
Observadores.
Vale lembrar que outras informações podem ser incluídas sempre que
necessário e nem sempre todos os campos acima serão necessários.
Impacto: indicar qual o impacto que o incidente terá no plano de teste
de execução podendo falhar, bloquear o(s) testes(s) ou até mesmo uma
possível mudança no caso de teste ou requisitos. Se possível, informar
a prioridade e severidade do incidente.Os incidentes de teste devem
ser armazenados em um repositório e, caso necessário, revisar o
relatório de incidentes de teste com as partes interessadas.
32
Relatório Sumário de Teste
Ferramentas de Teste
Selenium: É um software que permite criar scripts de execução dos testes automatizados.
Funciona como uma continuação do Firefox e possibilita salvar, alterar e depurar todos os testes.
33
Figura 16 - Ferramenta Selenium
Watir: Foi desenvolvido para criar testes automatizados para ambiente web. Para realizar
os testes o ambiente é realizado diretamente no navegador simulando a utilização do usuário.
Pode ser usado nos browsers Internet Explorer, Firefox, Linux e Mac.
BadBoy: É uma ferramenta criada em C++, que armazena todas as atividades realizadas
em um browser, permitindo modificar parâmetros, inserir textos, cor e etc.
34
Figura 17 - Ferramenta BadBoy
Canoo WebTest: É uma ferramenta que possui o código aberto para a criação de testes
de automação em ambiente web.
Testes de Desempenho
JMeter: É uma ferramenta da Apache que permite a execução de testes de carga e stress
35
do sistema.
TestLink: É uma ferramenta que gerencia os casos de teste e execução dos casos
Gerenciar Defeitos
36
Bugzilla: É uma ferramenta que se baseia em Web aplicando suporte ao Mozilla,
identificando defeitos.
Mantis: É uma ferramenta que gerencia defeitos encontrados pela equipe de testes, foi
desenvolvida em linguagem PHP e possui o código aberto.
37
Figura 22 - Ferramenta Mantis
38
REFERÊNCIAS
CROSBY, Philip B. Quality is free: The art of making quality certain. Signet, 1980.
FLEISCHER, Deborah et al. Evaluation of Open Source Tools for Test Management and
Test Automation. Seminararbeit DHBW Stuttgart, 2012.
FIORINI, Soeli T.; STAA, Arnlt Von; BAPTISTA, Renan Martins. Engenharia de Software com
CMM. Rio de Janeiro: Brasport, 1998
GARVIN, David A. What does product quality really mean. Sloan management review, v.
26, n. 1, 1984.
HÜBNER, Marcos L. F.; BAPTISTA, Michele M.; BERTÉLI, Michele O. Guia para elaboração
de trabalhos acadêmicos. Caxias do Sul: UCS, 2012. 83 p. : il. ; 30 cm.
39
MAFRA, S. N., & Travassos, G. H., Técnicas de leitura de software: Uma revisão
sistemática. XIX Simpósio Brasileiro de Engenharia de Software, SBES, 5. 2005.
MYERS, Glenford J.; SANDLER, Corey; BADGETT, Tom. The art of software testing. John
Wiley & Sons, 2011.
SOMMERVILLE, Ian. Engenharia de software. São Paulo: Addison Wesley, 2011. SILVA,
Monique, MORENO Autran. Automação Em Testes Ágeis. 2011.
40