testes-de-software-por-que-devem-ser-considerados-indispensaveis

O que é Teste de Software e qual sua importância?

Escrito por Carlos Alexandre Figueiredo
 em 17 de junho de 2021

Olá tudo bem? Sou Carlos Alexandre Figueiredo e trabalho como Quality Assurance na DBC Company e me considero um entusiasta da tecnologia e seus avanços. Iniciamos hoje uma série mensal de artigo sobre teste de software e suas propriedades. Fiquem ligados para acompanhar as informações sobre este tema tão importante no dia a dia.

E para começar, hoje vamos falar sobre a importância do teste em produtos utilizados diariamente.

Estamos vivendo dias em que a tecnologia vem se tornando cada vez mais essencial auxiliando na evolução da nossa sociedade, seja ela elaborada para uma melhoria que impacta uma cidade inteira ou uma simples atualização de algum dispositivo que utilizamos no dia a dia.

Esta evolução tecnológica alterou não só como as pessoas se interagem, mas também como elas se relacionam com a própria tecnologia.

Com isto faz-se necessário que estas tecnologias funcionem corretamente. Mas o que seria funcionar corretamente?

Vamos imaginar uma situação cotidiana na vida das pessoas. Um smartphone precisa de duas funções básicas. Efetuar e receber ligações. Mas os celulares atuais possuem muitas funcionalidades além de apenas ligar e receber chamadas.

É possível se divertir com aplicativos de jogos, efetuar contas em um aplicativo de calculadora ou até mesmo tirar foto. Então vamos supor que você quer tirar uma foto. Então você acessou o aplicativo de câmera e quando tocou na tela no símbolo para tirar a foto, nada aconteceu. Aí você tenta de novo e pronto, a foto foi tirada. Com certeza isto já aconteceu em algum momento da sua vida. É dever do fabricante garantir que esta situação não ocorra com todos os celulares e nem com frequência. Talvez você pense: -Mas nem foi tão grave, isto nem irritou tanto, afinal foi só tocar na tela duas vezes que deu certo.

Então vamos imaginar uma outra situação, agora um pouco mais séria. Você já viajou de avião?

Já imaginou se em pleno voo algum sistema que o piloto utiliza falha e causa um acidente? Pois é, isto já aconteceu. Em 31 de outubro de 1996, o voo TAM 402, enquanto decolava de São Paulo, o reversor de empuxo de um dos motores foi acionado, fazendo com que a aeronave perdesse velocidade e sustentação, caindo na Rua Luís Orsini de Castro. Todos os 96 passageiros e tripulantes a bordo do Fokker 100 mais três pessoas em solo morreram.

Estes cenários evidenciam que todo e qualquer produto precisa e deve ser validado para evitar falhas. Sejam elas simples ou complexas. Mas como fazer estas validações? Com testes.

Existem técnicas que ajudam a criar situações para o profissional de teste conferir se o produto está se comportando conforme o esperado. Estas técnicas variam de acordo com o objetivo desejado, como por exemplo, para validar se os valores utilizados dentro do sistema estão corretos, é um teste. Já para validar se o os dados que informamos em uma tela de cadastro estão corretos (aquelas vezes que informamos o CPF e o aplicativo preenche automático o nome, identidade, e-mail etc.), é outro teste.

No entanto, os testes de software na prática são realizados para garantir que o usuário do produto poderá ter segurança em utilizar o sistema mesmo em situações de grande estresse para o software.

Abaixo está uma tabela com os principais tipos:

TestesDescrição
UnidadeValida a menor parte considerada do sistema.
IntegraçãoValida a interação entre as menores partes, como elas se comunicam.
SistemaValida a utilização de um usuário.
AceitaçãoValida se o usuário está utilizando o que gostaria de utilizar.
RegressãoValida se o aplicativo funciona após uma atualização no sistema.
OperaçãoExperimenta a aplicação em condições de uso

Conforme vimos anteriormente, a primeira técnica utilizada é o teste de unidade que tem como objetivo validar a menor parte considerada do sistema. Mas o eu seria a menor parte considerada? Vamos aos exemplos para ficar mais tranquilo o entendimento.

Uma unidade é a menor parte testável do produto e cada teste de unidade deve ser independente dos demais, o que possibilita ao desenvolvedor testar cada item isoladamente.

Como exemplo vamos utilizar um veículo. Quando imaginamos um veículo logo pensamos que ele possui rodas, motor, chassi, tanque de combustível e bancos. Podemos considerar cada um destes itens como a menor parte considerada do veículo. Logo quando vamos executar um teste de unidade, estamos nos referindo a testar apenas um destes itens.

Quando vamos realizar o teste para mais de uma unidade, chamamos esta técnica de teste de integração. Neste momento o objetivo é verificar a comunicação de duas ou mais unidades trocando informações entre si. Utilizando o exemplo anterior, é como se após testarmos a roda e o chassi separado, chegou a hora de colocar a roda no chassi e verificar se o encaixe está correto, se o chassi suporta o peso da roda, se os bancos encaixaram corretamente, e assim por diante.

Após realizar todos estes testes, chegou a hora de colocar o produto para ser utilizado pelo responsável por patrocinar o desenvolvimento do produto. Note que ainda não estamos falando do público que vai utilizar de fato o produto. Esta é a técnica chamada teste de aceitação. Neste momento o objetivo do teste é coletar informações sobre a utilização do produto. Em determinados momentos o produto pode obter alguma atualização. Neste momento é necessário realizar um teste de regressão com o objetivo de verificar se tudo aquilo que estava funcionando antes, continua funcionando mesmo após a atualização. Neste

teste todas as funcionalidades são testadas novamente assim como as novas funcionalidades.

Após realizar todas estas técnicas de teste, receber aprovação no teste de unidade, integração, sistema, aceitação e em alguns casos o teste de regressão, chegou o momento de colocar o produto para o público-alvo utilizar. É o chamado teste de operação. Neste último processo, é coletado informações sobre o comportamento do sistema em um ambiente de utilização pelo público-alvo e neste momento podem ocorrer falhas, que resultam em uma correção do sistema ou descobre-se uma melhoria de alguma funcionalidade ou até mesmo uma funcionalidade que ficou faltando. Neste caso ocorre uma melhoria do sistema. Em ambos os casos, após o desenvolvimento é gerado uma atualização.

Estas foram as principais técnicas utilizadas no teste de software. Estas técnicas são os pilares para garantir que situações como um erro no celular ou até mesmo uma falha em um avião não ocorra., mas claro, ainda existem mais técnicas que podemos explorar para deixar nossos produtos melhores, mais rápidos e confiáveis. Mas isto é assunto para um próximo artigo sobre teste de software.

E então, gostou do artigo? Então aguarde nossa série de artigos sobre teste de software, que no próximo artigo vamos conversar sobre a performance. Porque alguns sistemas demoram muito para exibir as informações ou porque alguns erros ocorrem. Até lá!

Quer fazer parte do nosso time? #VemPraDBC

Confira nossas vagas em: https://dbc.compleo.com.br/

por Carlos Alexandre Figueiredo Analista de Testes
Menu - DBC Company

Compartilhe

Compartilhar no facebook
Compartilhar no whatsapp
Compartilhar no twitter

Deixe um comentário!

E participe da conversa.

Veja Também

Industry
DBC was practically born in the footwear and iron and steel industries. We have the best solutions for every stage of the...
Financial
We offer solutions to decentralize financial information, expand the final customer`s options when transferring and accessing their information, effective spend control, integration...