Escolar Documentos
Profissional Documentos
Cultura Documentos
Fundamentos de Teste de
Software
Mdulo 1- Viso Geral de Testes de Software
Aula 1
Teste como Suporte para o Software
SUMRIO
1.
INTRODUO ................................................................................................................ 3
2.
3.
Benefcios .......................................................................................................................... 5
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
ii
1.
INTRODUO
No mercado global, com a complexidade dos softwares, podemos ter a certeza que
Symantec compensa 50 mil vtimas de atualizao com falha na China. Cingapura Companhia oferece extenso de licena do Norton sem custos aos afetados pelo update que
tirava arquivos de sistema de uso. Mais de um ms aps atualizar 50 mil PCs chineses com
um update defeituoso, a Symantec decidiu compensar as vtimas. Em 18 de maio a empresa
comeou a distribuir o update problemtico para o antivrus Norton, que classificou
equivocadamente arquivos do sistema dos usurios como malwares e os colocou em
quarentena, afetando o funcionamento do computador das vtimas e gerando uma onda de
protestos na web.
Quando uma famosa livraria abriu os negcios online, a compra de um nmero negativo
de livros significava que o total da transao envolvida deveria retornar para o comprador. A
equipe de desenvolvimento no tinha antecipado que algum poderia solicitar a compra de um
nmero negativo de livros e o cdigo foi desenvolvido para permitir o reembolso pela equipe
administrativa.
No ms de abril de 2005 o site da rede americana de hotis Holliday Inn deveria ter
entrado no ar com uma promoo para quem se hospedasse na sua rede no estado da Flrida
nos EUA de 98 dlares o casal. Por um erro de programao o valor que entrou no site foi de
0,98 dlares. Este erro ficou no ar por 24 horas, tempo suficiente para que 1.000 pessoas
fizessem as suas reservas. O hotel alegando que havia sido um erro, posteriormente cancelou
todas essas reservas. Por deciso judicial, o hotel foi obrigado a honrar os seus compromissos.
Isso custou ao Holliday Inn cerca de 500 mil dlares porque o analista de sistemas, achando
que as alteraes eram pequenas, preferiu correr o risco de colocar o site no ar sem um teste
de aceitao, que custaria em torno de 50 dlares. Se ele tivesse feito uma anlise de riscos,
certamente no teria deixado de testar a aplicao.
Diante desse contexto, podemos afirmar que o motivo pelo qual devemos testar um
software pelo simples motivo que o mesmo visa atender a uma demanda por questes de:
Qualidade, Segurana, Economia, Negcio e Confiabilidade.
3. Benefcios
Quais os reais benefcios do investimento em testes?
Conforme afirmado em vrios relatos de experincia e j percebido no mercado, os reais
benefcios so a reduo em 70% do ndice de re-trabalho na correo de falhas em produo,
reduo em 50% do tempo de homologao de uma nova verso. Alm disso, aumenta em
aproximadamente 90% o ndice de falhas detectadas antes da produo onde o custo bem
mais baixo, e aumenta a abrangncia dos testes. Portanto, de uma forma geral, os maiores
benefcios so (Ver Figura 2):
5. O Papel do Testador
Diante dessas consideraes, o testador atua para prevenir que as falhas sejam
observadas no software quando ele j est em produo, como tambm para provocar, o
quanto antes, a maior quantidade de falhas possvel no software, para que as mesmas possam
ser corrigidas e entregues ao cliente final.
Portanto, o testador investigar se o produto est pronto para uso e quais so as
possveis ameaas que o mesmo apresenta.
desenvolvimento tambm precisa ser realizada como forma de minimizar, atravs da garantia
da qualidade, as falhas observadas no produto final.
Diante deste contexto, podemos afirmar que o testador atravs da execuo dos testes
visa adquirir confiana na qualidade atravs das informaes que o teste prov, ou prevenir a
ocorrncia de falhas no ambiente de produo, pela deteco antecipada dos defeitos.
Os defeitos ocorrem no software porque os mesmos so escritos por pessoas, e por sua
vez sabemos que as pessoas (profissionais) no conhecem e no dominam tudo. Entretanto,
elas tm habilidades para tal responsabilidade, mas tambm no so perfeitas, o que nos leva a
admitir que so suscetveis de cometer erros. E por ltimo, softwares so desenvolvidos sobre
crescente presso para entreg-los em prazos rigorosos, sem tempo para checar as atividades
realizadas.
9
significa
International
Standards
Organization
(alterado para
10
ISO 9126:1998, que atualmente separada na seguinte norma e relatrios tcnicos (technical
reports - TR):
ISO/IEC 9126-1:2001 Engenharia de software Qualidade de produto Parte 1:
Modelo de qualidade
ISO/IEC TR 9126-2:2003 Engenharia de software Qualidade de produto Parte 2:
Mtricas externas.
ISO/IEC TR 9126-3:2003 Engenharia de software Qualidade de Produto Parte 3:
Mtricas internas.
ISO/IEC TR 9126-4:2004 Engenharia de software Qualidade de produto Parte 4:
Qualidade no uso de mtricas.
ISSO/IEC 12207:1995/Amd 2:2004 Sistemas e Engenharia de software Processos de
Ciclo de Vida de Software.
ISO/IEC 155041-2:2003 Tecnologia da informao Avaliao de processo Parte 2:
Realizando uma avaliao.
Essa lista no exaustiva; outras normas ISO podem ser aplicveis ao contexto e ambiente de
um testador.
IEEE
IEEE [www.ieee.org] o Institute of Electrical and Electronics Engineer, uma organizao
profissional com sede nos EUA. Existem representantes nacionais disponveis em mais de
uma centena de pases. Essa organizao fomenta diversas normas teis para testadores de
software, tais como:
IEEE 610:1991 Norma IEEE de dicionrio de computao. Uma compilao da norma
IEEE de glossrio de computao.
IEEE 829:1998 Norma IEEE de documentao de teste de software.
IEEE 1028:1997 Norma IEEE de reviso de software.
IEEE 1044:1995 Guia IEEE para classificao de anomalias de software. Essa lista
no exaustiva; outras normas IEEE podem ser aplicveis ao contexto e ambiente de
um testador.
11
Normas Nacionais
Muitos pases tm suas normas especficas. Algumas dessas normas so aplicveis e/ou
teis para o teste de software. Um exemplo seria a norma britnica BS-7925-1 e BS-79252:1998 Teste de software. A BS 7925-1 um glossrio de termos de teste de software,
juntamente com o seu parceiro BS 7925-2 componentes de teste de software. Alm de
tambm fornecerem uma descrio do processo de Teste de Componente.
Portanto conclui-se que diversos padres so considerados referencias na disciplina de testes.
Porm, o mercado evidencia algumas normas mais que as outras (Ver figura 6). A
referncia que aborda a terminologia da engenharia de software, a IEEE 610, define que teste
o processo de operar um sistema ou componente atravs da observao dos resultados e
avaliao de alguns aspectos de um determinado software. J a IEEE 829, que trata de
documentao, diz que teste o processo de analisar o software para identificar as diferenas
entre as condies existentes e as condies requeridas pelo cliente. No mbito do padro
7925-1, que apresenta um vocabulrio da disciplina, teste o processo de exercitar o software
para verificar se o mesmo satisfaz os requisitos e para detectar os erros no cdigo.
Figura 6 - Padres
12
Diante dessas definies, vale ressaltar que todas as normas abordam o teste como um
processo, atravs de uma atividade dinmica, onde o software executado para encontrar
erros, e tambm uma atividade esttica, atravs da verificao das condies do sistema.
8. Processo de teste
O processo de teste pode ser entendido como uma sequncia de atividades executada
para alcanar um objetivo especfico (Ver Figura 7).
13
Garantia da qualidade
Gerncia de projetos
Gerncia de configurao
16
O modelo V representa o
18