Autora: Alice Tamashiro
Revisor: Rodrigo Souza
Tabela de conteúdo |
Atualmente vivemos em um mundo onde os negócios possuem uma grande dependência pela TI (Tecnologia da Informação) e à medida que esse fator aumenta, também cresce a produção de software e complexidade dos sistemas. Um exemplo é quando um risco operacional da TI se propaga para os negócios, deixando de ser um risco da TI, passando a ser um risco do negócio, ou seja, se uma falha ocorrer nos sistemas, consequentemente ocorrerá uma falha nos negócios. Desta forma, torna-se fundamental o desenvolvimento de software com mais qualidade e confiabilidade. Neste capítulo será abordado o porquê se devem ter profissionais qualificados na elaboração e execução de testes.
A tecnologia pode ser identificada em vários momentos da evolução humana, as descobertas de uma época que para a maioria da população eram novidades ou desconhecidas, eram consideradas como tecnologia.
A tecnologia relacionada a informações surgiu em meados dos anos 60 com a criação do Processamento de Dados. [1] O Processamento de Dados era responsável por realizar a execução de atividades burocráticas como geração de relatórios de folhas de pagamento.
Nos anos 70, iniciou-se a era dos Sistemas de Informações onde as informações coletadas e reportadas pelo Processamento de Dados passaram a ser organizadas e refinadas com o auxilio da evolução do meio de armazenamento e processamento destas informações.
Nos anos 80, inseriu-se no contexto tecnológico a era da Inovação e Vantagem Competitiva, nessa época as empresas descobriram que podiam utilizar as informações de forma organizada e refinada com o auxilio da execução das tarefas de escritório e não apenas para agilizar o processo de trabalho, mas também tomar decisões de forma mais rápida e entender melhor os seus clientes. Nessa época também teve uma grande evolução do hardware e das redes de computadores, porém, ainda não havia uma boa integração.
Nos anos 90, com a necessidade constante de obter informações cada vez mais rápidas, distribuídas e com maior integração entre hardware, software, redes, surge a era da Integração e Reestruturação do Negócio, onde passa a ter maior flexibilidade e troca de informações em que as empresas se vêem na necessidade de utilizar cada vez mais sugestões tecnológicas para a tomada de decisão.
Assim como a tecnologia, os testes tiveram evolução ao longo do tempo. Essa evolução se deu devido à necessidade de melhorar a qualidade do software desenvolvido. Iniciou-se nos anos 70 devido ao aumento de informações e complexidade de armazenamento dos dados. No início, os testes de software eram realizados dentro do processo de desenvolvimento pelo próprio desenvolvedor realizando os atualmente chamados Testes Unitários.
A complexidade dos programas de computador dificultava muito a execução dos testes e como consequência os programas eram liberados com inúmeros defeitos. No final de 1979 o Teste de Software foi conceituado por Myers como sendo um processo no qual se executava um programa com a intenção de encontrar erros. [2]
Nos anos 80 e 90, iniciou-se o movimento da melhoria dos Testes de Software, os resultados obtidos foram ótimos e empresas começaram a investir em ferramentas de automação, houve diminuição dos custos de correção dos defeitos, criação de área própria e aderente ao processo de desenvolvimento, as atividades de Testes de Software começaram a iniciar-se paralelamente e integradas com o desenvolvimento.
Hetzel conceituou o Teste de Software como sendo qualquer atividade que tem como objetivo mensurar a qualidade do software e avaliar um atributo de um programa ou sistema. [2]
Em 2002, Graig conceituou o Teste de Software como um processo de ciclo de vida concorrente ao projeto e mantém o testware a fim de medir e melhorar a qualidade de software que está sendo testado. [2]
Contudo, você deve estar se perguntando, porque diante de todo esse avanço da tecnologia e da qualidade de software, ainda ocorrem defeitos? Segundo Rios isso acontece devido: [3]
Concluindo, a TI era considerada armazenadora de informações e atualmente é considerada como ferramenta de extrema importância para a tomada de decisões de negócios. A disciplina de Testes de Software era considerada um meio de encontrar defeitos, atualmente é vista como ferramenta de melhoria e qualidade do software. A disciplina de Testes de Software teve uma grande evolução devido à necessidade de entregar produtos com mais qualidade e de acordo com as necessidades dos usuários que começou a surgir nos anos 70. Porém, as culturas das empresas ainda não se adequaram com a visão Melhoria e Qualidade de Software, considerando muitas vezes a disciplina de Testes como sendo apenas um meio de encontrar defeitos.
Atualmente, as especificações dos sistemas e regras de negócios não são adequadamente descritas e a atividade de Testes de Software é a última etapa no processo de desenvolvimento. Estas duas atividades levam à disponibilização de produtos e soluções que não operam de acordo com o especificado, levando à insatisfação do cliente e/ou usuários finais.
Desta forma, podemos afirmar que a quantidade de problemas encontrados na entrega e implantações de software são ocasionadas muito mais por falta de cultura que existem ainda nas organizações do que falta de evolução da tecnologia e metodologia para dar qualidade.
Mesmo com o surgimento de padrões, modelos e metodologias reconhecidas internacionalmente a área de garantia da qualidade vem enfrentando diversos tipos de obstáculos o quais chamamos aqui de mitos, vejam alguns deles:
Qual é a realidade da disciplina de Testes de Software? Os mitos se tornaram realidade e a nossa missão é mudar a visão do próprio profissional da área de Testes de Software e das demais áreas.
A seguir será apresentada uma compilação da discussão da primeira mesa redonda (Testar é tão fácil que até minha mãe testaria!) realizada no DFTestes. A discussão contou com 19 participantes, que deram as suas opiniões e compartilharam as suas experiências na área, gerando assim um total de 26 respostas.
Para facilitar a visualização e compreensão foi utilizado o Diagrama de Causa e Efeito, conhecido também como Diagrama de Ishikawa ou Fishbone. Este diagrama tem como objetivo expor as relações de um determinado efeito (conforme figura: Defeito no Software e Qualidade no Software Entregue) e as suas causas potenciais, estas por sua vez possuem um até dois níveis.
A seguir serão apresentados alguns casos reais de problemas que ocorreram recentemente, devido à má qualidade do software, problemas de desempenho e usabilidade. Embora algumas empresas aqui citadas não tenham divulgado a perda financeira que tiveram, podemos concluir que essas falhas causaram prejuízos diretos e indiretos à organização, além de comprometer a imagem da organização e gerar impactos para futuros negócios.
Caso 1 - Fonte IDG NOW, Symantec compensou 50 mil vítimas de atualização com falha na China. Publicada em 25 de junho de 2007 às 09h18
A Symantec distribuiu uma atualização problemática para 50 mil computadores chineses, essa atualização classificou equivocadamente arquivos do sistema como malwares' e os colocou em quarentena, afetando assim o funcionamento do computador, gerando uma onda de protestos na web.
Para compensar os danos a companhia ofereceu uma extensão de 12 meses de licenças do Norton e uma cópia da ferramenta Norton Save & Restore 2.0, para os usuários em geral. Para os clientes corporativos, a empresa ofereceu licenças da Symantec Ghost Solution Suite.
Caso 2 - Fonte IDG NOW, Bolsa de Tóquio fechou mais cedo por pane em TI. Publicada em 18 de janeiro de 2006 às 11h07.
Aumento no volume de transações, resultante de um forte movimento de queda nos valores, levou o sistema da bolsa de Tókio (a segunda maior no mundo em valor de capitalização, depois de Nova York) ao limite de processamento. O índice Nikkei fechou em queda de 3% (15.341 pontos), a maior baixa em um ano.
Caso 3 – Fonte IDG NOW, Site do Submarino apresentou problemas de acessibilidade. Publicada em 25 de novembro de 2008 às 15h39.
O site de comércio eletrônico Submarino apresentou instabilidades, tornando-se inacessível aos internautas.
Os usuários que tentavam acessar a home do site se deparam com uma página incompleta com a seguinte mensagem “Página não encontrada”. Nesta página tinha um link, que às vezes encaminhava para a página correta, outras não.
Concluindo, os problemas citados acima poderiam ser evitados, caso a empresa tivesse adotado um processo formal de garantia da qualidade.
A correta escolha da técnica de testes também é fundamental para o sucesso dos testes, por exemplo:
Além disso, podemos concluir a partir desses casos apresentados, que um teste mal sucedido pode significar um caminho aberto para outros tipos de problemas.
A disciplina de Testes de Software evoluiu muito durante esses anos, no entanto muitos profissionais da área sentem-se desvalorizados devido à falta de reconhecimento e visibilidade do papel deste profissional na indústria do software. A falta de conhecimento deste papel inicia-se:
A visão de um desenvolvedor é diferente de um Testador, geralmente desenvolvedores não gostam de testar e quando fazem não exercitam todas as condições. Já o Testador, tem uma visão mais crítica e detalhista.
Concluindo, a disciplina de Testes de Software é essencial para o desenvolvimento, pois fornece evidências da confiabilidade de produtos e soluções, e garantia do atendimento aos requisitos de negócios. Além disso, não pode ser considerada como qualquer atividade.
<- Voltar para introdução | Ir para o próximo capítulo ->
[1] KENN, Peter G. W. Guia Gerencial para a tecnologia da informação: Conceitos essenciais e terminologia para empresas e gerentes. Rio de Janeiro: Campus, 1996.
[2] CRAIG, Rick D.; JASKIEL, Stefan P. Systematic Software Testing. Artech House © 2002
[3] RIOS, Emerson; MOREIRA, Filho. Testes de Software. Rio de Janeiro, Alta Books, 2003.
[4] COMPUTERWORLD/EUA. As seis profissões da área de tecnologia mais valorizadas em 2010. Disponível em
<http://idgnow.uol.com.br/carreira/2009/12/30/as-seis-profissoes-mais-valorizadas-em-2010/>. Acesso em 30/01/2010.
[5] CAMPOS, Fabrício F. Testar é tão fácil, que até minha mãe testaria! Disponível em: <http://qualidadebr.wordpress.com/2009/11/08/testar-e-tao-facil-que-ate-a-minha-mae-testaria/>. Acessado em 30/01/2010.
[6] HETZEL, Bill. The complete Guide to Software Testing. New York, John Wiley & Sons, 1998.
[7] MYERS, G.J. The Art of Software Testing. 2 ed. New Jersey, John Wiley & Sons, 2004.
[8] WIKIPEDIA. Malware. Disponível em <http://pt.wikipedia.org/wiki/Malware>. Acesso em 30/01/2010.
[9] LEMON, Summer. Symantec Compensa 50 mil vítimas de atualização com falhas na China. Disponível em:
<http://idgnow.uol.com.br/seguranca/2007/06/25/idgnoticia.2007-06-25.7174306115/>. Acesso em 30/01/2010
[10] IDG Now!. Bolsa de Tóquio fecha mais cedo por pane em TI. Disponível em: <http://idgnow.uol.com.br/mercado/2006/01/18/idgnoticia.2006-02-06.6752227625/>. Acesso em 30/01/2010.
[11] RODRIGUES, Nando. Site do Submarino apresenta problemas de acessibilidade. Disponível em:
<http://idgnow.uol.com.br/seguranca/2008/11/25/site-do-submarino-esta-com-problemas-de-acessibilidade/>. Acesso em 30/01/2010.
[12] Mayer, Roberto C. Regulamentação das profissões de TI: a quem interessa? Disponível em: <http://www.administradores.com.br/noticias/regulamentacao_das_profissoes_de_ti_a_quem_interessa/20340/>. Acesso em 30/01/2010.