fbpx

O teste de fumo é um processo que é usado para testar software para determinar se a construção do software implantado é estável ou não.

Quando se fuma software de teste, executa-se uma série de testes concebidos para avaliar cada uma das funcionalidades principais do software.

Os instrumentos de teste de fumo verificam que as características mais importantes do software estão a funcionar. Existem múltiplas abordagens diferentes aos testes de fumo, e a tecnologia moderna torna os testes de fumo automatizados uma possibilidade para a maioria dos softwares construídos.

Neste artigo, vamos mergulhar profundamente nos testes de fumo para rever os tipos, processos e abordagens aos testes de fumo que os testadores de software utilizam. Analisaremos também ferramentas modernas de teste de fumo, incluindo a automatização de testes de fumo.

Em resumo, aprenderá tudo o que alguma vez precisará de saber sobre os testes de fumo.

 

Table of Contents

O que é o teste de fumo na engenharia de software?

 

O teste de fumo é o processo de teste de software para assegurar que este cumpre os requisitos básicos de funcionalidade e estabilidade. É essencialmente um tipo de teste de regressão rápida em miniatura que envolve testar as características mais importantes do software para ter a certeza de que estão a trabalhar a um nível básico.

Os testes de fumo são um importante passo inicial no processo de GQ porque indicam se a equipa deve continuar com mais testes ou enviar imediatamente o produto de volta para os criadores.

Se o produto não passar no seu teste de fumo, isto indica que a construção inicial tem falhas significativas que devem ser corrigidas antes de se poderem realizar mais testes.

 

Quando é que precisa de fazer testes de fumo?

 

Fumamos software de teste sempre que novas funcionalidades são desenvolvidas e integradas numa construção existente e antes de a nova construção ser implantada para GQ. A realização de testes de fumo nesta fase impede que dinheiro e outros recursos sejam desperdiçados em testes de GQ para software com grandes problemas subjacentes.

Para realizar um teste de GQ, a equipa de desenvolvimento implementa o novo software construído em GQ e um subconjunto de casos de teste são tirados e executados na construção. A equipa de GQ testa a aplicação contra as suas funcionalidades mais importantes. Se o teste de fumo passar, a equipa de QA continuará com os testes funcionais, e se falhar, a construção é passada de novo à equipa de desenvolvimento para desenvolvimento posterior.

Testes de fumo como este ocorrem sempre que novas funcionalidades são adicionadas a uma construção de software.

Pode haver outras alturas em que as equipas de GQ fumarão software de teste, como por exemplo:

● Antes de submeter um novo código a um repositório
● Antes de uma grande série de testes, incluindo testes de regressão e aceitação
● Após a implementação de uma nova construção de software

Se não efectuar um teste de fumo nestes pontos, poderá acabar por encontrar defeitos importantes em fases posteriores do teste de funcionalidade que poderão afectar a data de lançamento da sua nova construção ou causar perturbações mais graves na sua programação.

 

Quando não precisa de fazer testes de fumo

 

É importante realizar testes de fumo em testes de software sempre que fizer quaisquer alterações ao código do software ou adicionar novas funcionalidades a uma compilação.

É também um passo preparatório essencial para os testes de funcionalidade porque evita que as equipas de GQ percam o seu tempo a testar software que não esteja pronto.

Se o seu software não cumprir estes critérios, poderá não ter de efectuar testes de fumo neste momento… embora as ferramentas de testes de fumo automatizados tornem fácil e rentável a realização de testes de fumo regulares para assegurar que o software está sempre a funcionar correctamente.

 

Quem está envolvido em testes de fumo

 

Os testes de fumo são realizados por engenheiros de GQ ou pelo líder de GQ; é a primeira fase dos testes de GQ e é realizada dentro de um ambiente de GQ.

A equipa de GQ é responsável por testar a construção do software e avaliar o seu desempenho sob uma variedade de condições e tensões. Durante o teste de fumo, os engenheiros de QA procurarão ‘showtoppers’, ou bugs que interrompem o desenvolvimento e devem ser corrigidos antes de os testes poderem continuar.

Ao comparar testes de fumo versus testes de sanidade versus testes de regressão, é importante considerar não só o que está a ser testado mas também quem está a realizar os testes.

Os testes de fumo em testes de software são sempre feitos por profissionais de GQ. Isto diferencia os testes de fumo dos testes de sanidade, que são testes feitos no ambiente de desenvolvimento e não envolvem normalmente a equipa de GQ.

 

O ciclo de vida do teste de fumo

 

O ciclo de vida do teste de fumo ilustra onde os testes de fumo ocorrem durante o desenvolvimento de produtos e testes de GQ. A compreensão de cada fase deste ciclo ajudá-lo-á a compreender melhor como os testes de fumo se encaixam na jornada de testes e as diferenças entre testes de fumo versus testes de sanidade versus testes de regressão.

 

1. Código

A primeira fase de qualquer construção de software é sempre escrever e criar código. O código serve como bloco de construção de qualquer software, e a equipa de desenvolvimento deve escrever o código antes de poder ser testado quanto à sua estabilidade e funcionalidade.

 

2. Testes unitários

Os testes unitários são geralmente realizados por programadores, embora por vezes os engenheiros de GQ também possam realizar alguns testes unitários. Os testes unitários asseguram que diferentes unidades ou elementos de código funcionam como esperado antes de as unidades individuais serem integradas numa única construção de software.

Os testes unitários ocorrem geralmente paralelamente ao desenvolvimento, porque destacam erros e bugs em código que podem ser corrigidos prontamente.

 

3. Testes de integração

Os testes de integração são o processo de testar como as unidades individuais trabalham em conjunto quando integradas numa única peça de software.

Mesmo que cada unidade separada funcione bem, podem muitas vezes surgir problemas quando estas unidades são integradas umas com as outras. Os testes de integração são geralmente realizados por programadores, embora diferentes abordagens a este tipo de testes signifiquem que podem ser realizados em diferentes fases do processo de construção do software.

 

4. Testes de sanidade

O teste de sanidade é um tipo de teste de regressão, e é normalmente o último tipo de teste de regressão a ter lugar. Ocorre durante a fase de desenvolvimento da construção, após a reparação de quaisquer bugs destacados por testes de regressão.

Os testes de sanidade são normalmente muito rápidos e existem simplesmente para assegurar que o software funciona sem problemas e que quaisquer bugs encontrados foram adequadamente corrigidos.

Os testes de fumo e sanidade são por vezes confusos, mas é fundamental lembrar que os testes de sanidade ocorrem no ambiente de desenvolvimento enquanto que os testes de fumo ocorrem no ambiente de GQ.

 

5. Testes de fumo

O teste de fumo é a primeira fase do teste de GQ e o primeiro tipo de teste que é realizado dentro de um ambiente de GQ.

Os testes de fumo ocorrem geralmente antes dos testes de sanidade e de regressão, apesar de serem normalmente realizados por equipas de GQ. É um processo de teste rápido e simples – e hoje em dia a maioria das equipas de GQ utilizam testes automáticos de fumo em testes de software – que determina se a construção é estável ou não e se devem ou não ser executados mais testes.

Porque os testes de fumo são o teste mais rápido e simples quando se comparam testes de fumo versus testes de sanidade versus testes de regressão, é sensato realizar isto primeiro antes de passar a outros testes, mais complexos.

 

6. Testes funcionais

Os testes funcionais são a fase seguinte do ciclo de vida do software de teste, e são realizados dentro do ambiente de GQ.

O teste funcional testa cada função de uma aplicação de software contra os seus requisitos, e concentra-se nas funções, usabilidade, acessibilidade, e condições de erro.

Os testes funcionais podem começar assim que o teste de fumo tiver sido aprovado.

 

Aplicações de ensaio de fumo a diferentes níveis

Os testes de fumo são aplicáveis a três níveis diferentes de testes: teste de fumo ao nível de aceitação, teste de fumo ao nível do sistema, e teste de fumo ao nível de integração.

 

1. Nível de teste de aceitação

Os testes de fumo ao nível de aceitação são geralmente realizados quando uma compilação de software é lançada para GQ. Este tipo de teste de QA de fumo simplesmente verifica a funcionalidade básica da construção e se esta se alinha com a funcionalidade esperada.

 

2. Nível de teste do sistema

Os testes de fumo a nível do sistema envolvem testar os fluxos de trabalho mais importantes do sistema. Isto é realizado após o próprio sistema ter sido testado, e antes de ser realizado um teste de regressão completo do sistema.

Ao nível do sistema, o teste de fumo automatizado é a forma mais comum de teste de fumo.

 

3. Nível de teste de integração

Ao nível dos testes de integração, os testes de fumo asseguram que todas as funcionalidades de ponta a ponta do software funcionam como esperado e a integração básica é funcional.

Este tipo de teste de fumo ocorre normalmente quando são implementados módulos individuais, ou quando múltiplos módulos são integrados numa única construção de software.

 

Testes de fumo manuais versus automáticos

 

Quando as equipas de software começam a realizar testes de fumo pela primeira vez, têm de decidir se vão realizar testes de fumo manuais ou automáticos.

Embora os testes automatizados de fumo ofereçam geralmente resultados mais rápidos e mais económicos, também podem levar tempo a criar e implementar. Muitas equipas começam por criar testes manuais de fumo antes de considerarem a automatização mais a jusante.

 

1. Testes manuais de fumo

 

Os testes manuais de fumo são bastante fáceis de conceber e podem normalmente ser realizados por profissionais não técnicos de fora das equipas de GQ ou de desenvolvimento. Isto significa que os testes manuais de fumo são frequentemente favorecidos dentro de empresas mais pequenas que podem ainda não ter um chumbo de GQ dedicado.

Ao realizar testes manuais de fumo, é importante testar uma série de casos de utilização que cubram o suficiente das funções centrais do software sem cobrir tantas que o teste de fumo demore demasiado tempo a realizar. O número ideal de casos de utilização é geralmente considerado entre 20 e 50.

 

Os benefícios da realização manual de testes de fumo

 

Há múltiplos benefícios em realizar testes manuais de fumo em GQ em comparação com testes automáticos de fumo. Os testes manuais de fumo oferecem muitas vezes conhecimentos mais detalhados sobre o desempenho e funcionalidade do software quando comparados com os testes automatizados.

 

Os não-engenheiros podem realizar testes manuais

Enquanto os testes automáticos de fumo requerem normalmente a perícia dos engenheiros e programadores de software, os testes manuais de fumo podem ser realizados por membros da equipa com menos perícia especializada.

Isto é geralmente benéfico em equipas mais pequenas, onde os recursos podem já ser esticados e o tempo do pessoal especializado é extremamente valioso.

 

Pode criar um teste de fumo personalizado para cada trabalho

Se quiser certificar-se de que o seu teste de fumo cobre com precisão as funções mais importantes de qualquer aplicação de software e se concentra nas funções mais importantes para cada construção, a criação de um teste de fumo manual permite aos testadores adaptar o teste a cada projecto.

Testes manuais de fumo como este podem oferecer resultados mais úteis quando comparados com alguns testes automatizados, mas isso significa que são extremamente demorados a instalar e a executar.

 

Os testes manuais revelam dados qualitativos

Quando se realiza um teste de fumo automático, tudo o que se pode esperar receber são dados quantitativos sobre que aspectos do teste passaram e quais falharam.

Quando os membros da equipa realizam testes manuais de fumo, podem usar o seu discernimento, intuição e julgamento para avaliar não só se a construção passa ou falha, mas como e/ou porquê.

 

Os desafios dos testes manuais de fumo

 

Existem também muitos desafios à realização manual de testes de fumo, e estes são os motivos pelos quais muitas empresas optam por utilizar testes de fumo automatizados sempre que possível.

O teste manual de fumo é minucioso, mas também é muito demorado.

 

Os testes manuais de fumo levam tempo

Os testes manuais de fumo demoram consideravelmente mais tempo a completar do que os testes automáticos, e requerem muito mais da atenção da sua equipa.

Embora os testes automatizados possam simplesmente decorrer em segundo plano por si próprios, a sua equipa terá de reservar tempo dedicado à realização de um teste manual de fumo.

 

Os testes manuais não podem ser realizados com demasiada frequência

Devido à enorme quantidade de tempo e recursos que os testes manuais de fumo requerem, não podem ser realizados com a mesma regularidade que os testes automáticos de fumo.

Ao realizar um teste manual de fumo, os testadores de software têm de reservar horas, até meio dia, dependendo da complexidade do teste.

Isto elimina a possibilidade de testes diários de fumo, o que é amplamente considerado como a melhor prática da indústria.

 

Há sempre margem para erros

Como os humanos realizam testes manuais, há sempre a possibilidade de se cometerem erros durante os testes manuais de fumo.

Por esta razão, os testes manuais de fumo geralmente não são tão abrangentes como os testes automáticos, especialmente quando se trata de detectar bugs subtis que são mais fáceis de falhar ou quando se realizam testes extremamente repetitivos que podem fazer com que os testadores percam o foco durante os testes.

 

Quando utilizar o teste manual de fumo

 

Os testes manuais de fumo são mais comummente utilizados em equipas mais pequenas que podem não ter recursos para dispensar engenheiros para testes de fumo automatizados, ou em casos em que se pretenda ou seja necessário um maior discernimento e julgamento humano.

Por esta razão, os testes manuais de fumo são frequentemente implementados em testes de fumo a nível de integração.

 

2. Testes automatizados de fumo

 

Os testes automatizados de fumo podem ser implementados por engenheiros de software com as capacidades de codificação necessárias para criar e executar uma série de casos de utilização relevantes para cada construção de software.

Os testes automáticos de fumo são muito mais rápidos do que os testes manuais, normalmente não demorando mais do que 30 a 60 minutos, e podem ser realizados em segundo plano, enquanto todos os membros da equipa de desenvolvimento e QA continuam as suas tarefas diárias.

Por esta razão, os testes automáticos de fumo tornaram-se comuns na indústria de software à medida que cada vez mais empresas procuram melhorar a eficiência no local de trabalho.

 

Os benefícios da automatização dos testes de fumo

 

A automatização dos testes de fumo oferece muitos benefícios para as empresas com tempo e recursos para a sua implementação. É rápido e eficaz, e devido à falta de testes automatizados de stress colocados em equipas e recursos, podem ser realizados regularmente mesmo dentro de pequenas empresas.

 

Os testes automatizados são rápidos

Os testes automatizados de fumo são muito mais rápidos do que os testes manuais, com a maioria dos testes automatizados a demorar não mais do que 30 a 60 minutos para serem concluídos.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Os testes manuais podem demorar horas, em comparação.

Os testes automatizados de fumo exigem recursos mínimos e, uma vez implementados, são muito fáceis de executar.

 

A automatização torna possível os testes diários de fumo

As melhores práticas actuais da indústria ditam que os testes diários de fumo são ideais, particularmente quando se trabalha com software que está constantemente em estado de fluxo.

Os testes manuais de fumo são demasiado demorados para serem efectuados diariamente, mas os testes automáticos de fumo são fáceis de realizar no início de cada dia de trabalho.

 

A automatização elimina o erro humano

Os testes automatizados são executados a partir de guiões preparados com antecedência e criados com padrões altamente exigentes. Isto significa que a hipótese de um teste automatizado faltar um grande bug ou um problema importante é muito baixa.

 

A automatização pode imitar testes de carga e desempenho

Os testes de carga e desempenho avaliam o funcionamento de uma aplicação quando muitos utilizadores a utilizam de uma só vez. Os testes automatizados de fumo podem imitar a carga adicional de múltiplos utilizadores de formas que os testes manuais não podem e fornecer uma camada extra de dados sobre o desempenho do software em determinadas condições.

 

Os desafios da automatização dos testes de fumo

 

A automatização dos testes de fumo não está isenta de desafios. Pode ser mais demorado e intensivo em termos de recursos implementar testes de fumo automatizados, especialmente em equipas mais pequenas com menos engenheiros à sua disposição.

 

Requisitos técnicos

Os testes de fumo automatizados requerem mais conhecimentos técnicos e competências na codificação do que os testes manuais de fumo. Os engenheiros de software devem ter tempo e conhecimentos para saber como criar testes automatizados antes de estes poderem ser implementados, e nem todas as equipas terão necessariamente os recursos disponíveis para o fazer.

 

Falta de visão humana

Os testes de automatização oferecem uma visão global da funcionalidade de uma aplicação de software, e ao realizar um teste de fumo automatizado, os testadores de software ganham conhecimentos sobre as funções básicas do software, que é o objectivo final de um teste de fumo.

No entanto, os testes automatizados não oferecem qualquer perspectiva sobre mais aspectos do desempenho do software, tais como a usabilidade e acessibilidade.

 

Quando implementar a automatização de testes de fumo

 

A automatização é frequentemente utilizada em testes de fumo porque o objectivo dos testes de fumo é simplesmente verificar a funcionalidade básica, o que é algo em que os testes automatizados são relativamente bons.

Equipas com competências técnicas suficientes para implementar testes de fumo automatizados terão muito provavelmente tempo e recursos para investir neste processo, e as empresas maiores e mais estabelecidas sentirão provavelmente mais pressão para cumprir os padrões das melhores práticas de testes de fumo diários.

 

Automatização de testes de fumo versus testes manuais de fumo

 

Não há maneira certa ou errada de realizar testes de fumo, e o que funciona bem para uma equipa pode não funcionar bem para outra.

Antes de realizar um teste de fumo, as equipas de software devem considerar os seus objectivos, recursos, e planos de projecto a longo prazo. O processo de teste manual de software pode ser educativo para jovens profissionais recém-chegados à GQ, mas para equipas mais estabelecidas raramente existe um benefício em optar pelo teste manual em vez do teste automático.

 

Testes de fumo híbrido

 

A terceira opção para equipas que não podem decidir entre testes de fumo manuais e automatizados e testes de sanidade é optar por testes híbridos.

Os testes híbridos combinam aspectos de testes de fumo manuais e automatizados para aumentar o desempenho global e a eficiência dos testes. Quando se utiliza o método de teste de fumo híbrido, a maioria do teste pode ser automatizada, mas com certos aspectos realizados manualmente. Isto permite que as equipas se concentrem mais nos aspectos da construção que dela necessitam, mantendo simultaneamente baixos os requisitos gerais de tempo do teste de fumo.

 

Tipos de testes de fumo

 

Os testes de fumo podem ser amplamente separados em duas categorias, testes formais e informais de fumo. Se os testes de fumo são formais ou informais depende se são instigados pelo chumbo de GQ formal ou simplesmente realizados como parte do desenvolvimento.

 

1. Testes formais de fumo

Num teste formal de fumo, os programadores de software passam o software construído para o engenheiro de GQ ou líder de GQ para testes formais. O chumbo de QA atribui aos testadores a tarefa de teste de fumo e solicita que estes realizem o teste de fumo utilizando ferramentas de teste de fumo como a automação ou manualmente.

Ao realizar testes formais de fumo, os provadores de GQ compilam os resultados do teste num relatório formal que pode ser analisado pelo líder de GQ.

Os testes formais de fumo são realizados em pontos importantes durante o processo de construção do software, por exemplo, antes da realização de testes funcionais de novas características.

 

2. Testes informais de fumo

Os testes informais de fumo são testes de fumo realizados num software construído durante o processo de desenvolvimento ou de GQ que não são formalmente reportados ou exigidos pelo líder de GQ.

Os testes diários de fumo, que muitas equipas de software realizam por uma questão de protocolo, são um exemplo de testes informais de fumo.

Os testes informais podem ser realizados numa base ad-hoc sempre que os engenheiros de GQ acharem que pode ser útil.

 

O que precisa para começar os testes de fumo

 

Antes de poder iniciar os testes de fumo nos testes de software, é importante reunir todas as coisas de que vai precisar, incluindo ficheiros de dados e competências dentro da sua organização.

O que precisará para realizar o seu teste de fumo dependerá se planeia realizar testes de fumo automáticos ou manuais, e que ferramentas de teste está a utilizar para tornar o processo mais fácil.

 

1. Uma lista de casos de teste

Antes de iniciar um teste de fumo, necessitará de uma lista completa de todos os casos de teste que deseja que o seu teste de fumo avalie.

Os casos de teste são conjuntos individuais de acções que pretende testar para julgar se o resultado de tomar estas acções se alinha com os resultados que espera.

Por exemplo, um caso de teste muito simples pode ser que o software carregue o tablier principal quando se abre a aplicação.

 

2. Ficheiros de teste

Antes de poder realizar o seu teste de fumo, terá de reunir todos os ficheiros de teste em que vai realizar o seu teste de fumo. Poderá ser capaz de utilizar a linha de comando do software de teste de fumo que está a utilizar para reunir todos os seus ficheiros num único local.

A forma como reúne os seus ficheiros, e onde os guarda, dependerá da forma como a sua organização funciona.

 

3. Ferramentas de teste de fumo

Pode realizar um teste de fumo básico sem utilizar quaisquer ferramentas particulares, mas a utilização de ferramentas de teste de fumo poderia ajudá-lo a melhorar a precisão dos seus resultados e acelerar o processo de teste de fumo.

Pesquise primeiro as ferramentas de teste de fumo online e escolha o software que automatiza ou optimiza o seu teste de fumo em relação às suas necessidades e orçamento particulares.

 

O processo de teste de fumo

 

A melhor forma de realizar um teste de fumo varia entre organizações, e se for novo a fazer testes de fumo pode querer experimentar diferentes abordagens para ver o que funciona melhor para a sua equipa.

Abaixo está um exemplo de como realizar um teste básico de fumo para avaliar as funções principais do seu software.

 

Passo 1: Escolha os seus casos de teste

O primeiro passo para realizar um teste de fumo é escolher os casos de teste em que vai realizar o seu teste de fumo.

Ao conceber um teste de fumo, os engenheiros de software e os engenheiros de QA devem considerar que funções de software são mais críticas para o software e qual a melhor forma de testar estas características. Não perca o seu tempo a testar características que não são importantes para o funcionamento do software.

 

Passo 2: Construir testes de fumo

Uma vez identificados os casos de teste que vai utilizar, pode escrever roteiros de teste para os testar. Usar uma única escrita para testes de fumo para aumentar a flexibilidade enquanto se executa o teste.

Se optar por automatizar o teste de fumo, nem sempre terá de escrever scripts de teste manuais sempre que quiser realizar um teste de fumo. Pode utilizar conjuntos de automatização de testes de software para automatizar scripts como este.

 

Etapa 3: Realizar testes de fumo

Uma vez criados os seus scripts de teste de fumo, pode executá-los na sua compilação para procurar bugs e outros erros maiores. Isto não deve demorar mais de 30 a 60 minutos, e uma vez terminados os seus testes pode avaliar os resultados para determinar os seus próximos passos.

 

Passo 4: Corrigir quaisquer bugs

O objectivo dos testes de fumo no desenvolvimento de software é identificar os maiores bugs ou “showtoppers” antes de se iniciarem os testes de GQ completos.

Se os seus testes de fumo revelarem quaisquer problemas significativos que perturbem as funções centrais do seu software, é importante enviar o software e a sua análise de volta à equipa de desenvolvimento para correcção de bugs antes de continuar com a GQ.

 

Melhores práticas para testes de fumo

 

Os testes de fumo são uma forma confiável de identificar os principais bugs no software construído em todas as fases de desenvolvimento. Seguir as melhores práticas da indústria é a melhor forma de garantir que os seus testes de fumo são eficientes, precisos e produtivos.

 

1. Realizar testes de fumo frequentemente

Nem sempre é possível fazer testes de fumo todos os dias, especialmente se se estiver a fazer testes manuais em vez de testes de fumo automáticos.

Faça testes de fumo com a maior frequência possível, e sempre que estiver a implementar alterações ao seu software. Uma vez que seja possível, a realização diária de testes de fumo é considerada a melhor prática.

 

2. Nunca saltar as fases de teste

Se estiver com pressa, pode ser tentador saltar algumas das fases de teste para progredir mais rapidamente no processo de desenvolvimento, mas tanto os testes de fumo como os de regressão são essenciais para manter o seu desenvolvimento no bom caminho.

Teste sempre as suas construções com testes de fumo e de sanidade antes de passar à fase seguinte.

 

3. Testar cada mudança

Não há uma única aplicação para testes de fumo. Pode e deve usar testes de fumo para testar todas as alterações que fizer a um software construído e para testar o seu software entre diferentes fases de desenvolvimento.

Os testes de fumo devem ser o precursor dos testes de integração, testes de desempenho e testes funcionais.

 

4. Rastreie os resultados dos seus testes

É prática corrente testar os resultados de um teste formal de fumo, mas mesmo quando se realizam testes informais de fumo, os engenheiros devem manter algum registo dos resultados.

Isto torna mais fácil passar os resultados aos programadores e manter um registo de quais as características que estão a falhar no teste.

 

5. Faça o seu teste de fumo duas vezes

Fazer o seu teste de fumo duas vezes pode parecer exagerado, mas se realmente quiser apanhar todos os insectos durante o seu teste, é melhor faze-lo duas vezes.

Isto assegura que o seu teste de fumo tem todas as hipóteses de apanhar os maiores bugs e problemas que podem causar mais problemas se não forem corrigidos imediatamente.

 

6. Escolher o tipo certo de teste de fumo

Se deve utilizar testes manuais ou automáticos de fumo depende do tamanho e das necessidades da sua equipa. Certifique-se de que escolhe o melhor tipo de teste para o seu projecto a fim de optimizar a eficiência sem comprometer a precisão dos seus resultados.

 

Tipos de saídas de um teste de fumo

Quando realiza um teste de fumo, pode esperar que o seu teste de fumo resulte num de dois resultados distintos para cada caso de teste que avaliar: passar ou reprovar.

1. Passe

Um resultado possível para cada caso de teste que se executa é que o teste de fumo seja aprovado. Isto significa que o resultado real do teste se alinha com o resultado esperado do teste.

Por exemplo, se fizer um teste sobre o que acontece quando se carrega a aplicação e esta é carregada no ecrã que é suposto abrir quando é carregada, o seu guião deve exibir isto como um passe.

2. Falhar

Se o seu teste de fumo falhar num caso de teste específico, isto geralmente significa que o resultado real do teste não se alinhou com o resultado esperado do teste.

Por exemplo, se estiver a testar uma aplicação de compras e um dos casos de teste que executa testar a funcionalidade de adicionar artigos ao seu cesto de compras, o teste é reprovado se os artigos que adiciona ao seu cesto não aparecerem no seu cesto como espera que apareçam.

 

Exemplos de casos de teste para teste de fumo

Quando estiver a tentar pensar quais os casos de teste a incluir no seu teste de fumo, escreva uma lista das principais funcionalidades do seu software e considere quais delas são essenciais para executar e utilizar o software.

Alguns exemplos de casos de teste de fumo podem ajudá-lo a determinar quais os casos de teste a utilizar no seu próprio teste de fumo.

 

1. Validação das credenciais de login

Se a sua candidatura exigir que os utilizadores iniciem sessão, poderá querer criar um caso de teste que verifique se o processo de validação das credenciais de início de sessão funciona como deveria.

Para o fazer, criar um guião que automatize os movimentos de entrada, execução do teste, e verificação dos resultados. Se o software iniciar a sessão como esperado, este caso de teste de fumo passa.

 

2. Criação de um novo documento

Poderá criar um caso de teste para avaliar se o seu software permite aos utilizadores criar correctamente um novo documento. Crie um guião que automatize a criação, nomeação e gravação de documentos no seu software e execute-o.

Quaisquer questões importantes que surjam e impeçam este processo significariam que este teste de fumo falharia.

 

3. Sair

Se a sua aplicação tem a funcionalidade de início de sessão, também deve ter a funcionalidade de fim de sessão. Executar um script para testar o que acontece quando os utilizadores clicam em ‘log out’.

Se o utilizador não conseguir terminar a sessão com sucesso ao clicar neste botão, o teste de fumo falha.

 

Tipos de erros e bugs detectados através de testes de fumo

 

Os testes de fumo podem ajudá-lo a identificar erros e bugs que perturbam a funcionalidade central do seu software. Dependendo de quando está a executar o seu teste de fumo e do que pretende verificar, pode encontrar diferentes tipos de erros e bugs através de testes de fumo.

 

1. Erros funcionais

Os erros funcionais são bugs que surgem quando o seu software não se comporta como seria de esperar, ou quando não está a funcionar correctamente.

A maioria dos casos de teste que irá usar testes de fumo para verificar são testes funcionais, pelo que os erros funcionais são mais susceptíveis de serem identificados por testes de fumo como este.

 

2. Erros lógicos

Os erros lógicos representam falhas dentro da lógica do código e podem também fazer com que o software se comporte de forma incorrecta. Os erros lógicos podem causar acções para produzir resultados incorrectos ou mesmo causar falhas de software.

Um erro lógico comum é o loop infinito, que faz com que o software repita as mesmas acções uma e outra vez, até que se bloqueie.

 

3. Bugs de integração

Se estiver a fazer um teste de fumo ao nível da integração, poderá encontrar bugs de integração durante o teste. Estes ocorrem quando dois conjuntos separados de códigos não se integram sem falhas um com o outro. Podem ser causados por uma vasta gama de problemas de compatibilidade no código e podem exigir soluções complexas para a sua reparação.

 

Métricas comuns de teste de fumo

 

Ao realizar um teste de fumo, as equipas de GQ podem usar métricas para avaliar os resultados de um teste de fumo e julgar se o teste foi aprovado ou reprovado.

Para além de considerar se o software é capaz de desempenhar correctamente as suas funções principais, as métricas de teste de fumo podem avaliar a velocidade e os tempos de carga do software, entre outras coisas.

 

1. Velocidade do software

Os testes de fumo podem ser utilizados para verificar se a velocidade do software e os tempos de carregamento satisfazem determinados critérios delineados em casos de teste individuais.

Por exemplo, se estiver a testar como o software se comporta ao carregar a aplicação e a aplicação carrega como esperado, mas demora dois minutos a arrancar, pode marcar isto como Falha porque não cumpre o seu tempo de carregamento esperado.

 

2. Fiabilidade

A realização do seu teste de fumo duas vezes também o pode ajudar a testar a fiabilidade do seu software. Se certos casos de teste passarem uma vez mas falharem uma vez, isto indica que algum erro no código está a causar erros que podem não ocorrer sempre que o software é utilizado mas que ainda podem causar sérios problemas aos utilizadores.

 

Os melhores instrumentos de teste de fumo gratuitos

Os instrumentos de teste de fumo podem ajudá-lo a realizar testes de fumo de forma mais eficiente e rápida para o ajudar a tirar o máximo partido dos seus testes de fumo.

Abaixo estão algumas das melhores ferramentas de teste de fumo disponíveis hoje em dia, sem custos.

 

5 melhores ferramentas de teste de fumo grátis

1. ZAPTEST edição GRÁTIS

ZAPTEST é uma ferramenta gratuita que permite aos utilizadores automatizar os testes de software e RPA sem pagar um cêntimo.

Pode utilizar a edição ZAPTEST FREE para realizar testes de fumo simples em múltiplas plataformas, incluindo plataformas móveis, web, API, e LOAD.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Se quiser experimentar os testes automáticos de fumo, a edição gratuita ZAPTEST pode ajudá-lo a ver em primeira mão os benefícios da automatização. Também é fácil de usar mesmo que não seja de origem técnica, uma vez que tem uma interface sem código e utiliza tecnologia Computer Vision de última geração.

Mais importante, ZAPTEST FREE é bem…. livre para sempre! Pelo contrário, muitos testes de fumo e ferramentas gerais de automatização de software têm um período de teste inicial, após o qual é atraído para o pagamento de taxas de subscrição.

 

2. Selénio

Selénio é uma ferramenta gratuita e de código aberto que pode utilizar para executar vários tipos diferentes de testes no seu software, incluindo testes de fumo e de regressão. Funciona com muitas linguagens de programação diferentes e é particularmente bom para testar aplicações web.

 

3. Appium

Se quiser realizar testes de fumo e sanidade em aplicações móveis, o Appium é uma escolha melhor do que o Selenium. O Appium é fácil de instalar e utilizar e pode ser utilizado para realizar testes simples de fumo em aplicações desenvolvidas tanto para iOS como para Android.

 

4. Testlink

Testlink é uma ferramenta de gestão gratuita, baseada na web, que permite aos utilizadores elaborar planos de teste e testar casos dentro de um único quadro estruturado. A Testlink pode ajudá-lo a planear os seus testes de fumo, bem como a delinear as suas expectativas e métricas antes de iniciar os testes de fumo.

 

5. Lobo de QA

QA Wolf é uma ferramenta de teste gratuita e de ponta a ponta que permite aos utilizadores criar um teste de fumo de QA automatizado juntamente com outros testes funcionais. QA Wolf é utilizável mesmo por pessoas sem competências técnicas ou de codificação, o que significa que é uma grande introdução à automatização de testes para a maioria das equipas de QA.

 

Os melhores instrumentos de teste de fumo empresarial

 

Se estiver preparado para investir um pouco de dinheiro nas suas ferramentas de teste de fumo, pode comprar ferramentas empresariais que tenham capacidades de teste de fumo mais extensivas e resultados mais completos.

Abaixo está uma lista de cinco das melhores ferramentas de automação de teste de fumo empresarial do mercado.

 

5 melhores ferramentas de automação de teste de fumo empresarial

 

1. Edição ZAPTEST ENTERPRISE

A edição ZAPTEST ENTERPRISE é um conjunto de testes de software & RPA que pode automatizar completamente qualquer tipo de teste, incluindo testes de fumo.

A versão gratuita é adequada para pequenas empresas que queiram saber o que o ZAPTEST pode fazer, mas se procura uma solução paga que seja fácil de usar e adequada para testar qualquer software ou aplicação, em qualquer plataforma, browser ou dispositivo, E com a implementação do 1SCRIPT em todas elas, então o ZAPTEST ENTERPRISE é um óptimo local para começar.

 

2. SoapUI

SoapUI é uma ferramenta de teste empresarial que facilita a gestão e execução de testes de GQ end-to-end em software. É uma ferramenta relativamente simples de instalar, mas tem as suas limitações, o que se reflecte no seu ponto de fixação de preços.

 

3. Testemunho

Testim é uma ferramenta de teste de fumo paga que utiliza IA para criar testes sem código que avaliam a funcionalidade do seu software. O Javascript API do Testim pode ser utilizado para refactor, personalizar e depurar testes.

 

4. Robô T-Plano

O T-Plan Robot é uma ferramenta de teste empresarial que os engenheiros de GQ podem utilizar para automatizar acções de utilizador com scripts e Automação de Processos Robóticos (RPA) em Windows, Mac, Linux, e Mobile. Pode utilizar o T-Plan Robot para automatizar testes de fumo numa gama de aplicações e criar scripts automatizados que podem ser executados em pontos-chave durante o desenvolvimento.

 

5. Garantia de Qualidade da Floresta Tropical

Rainforest QA é uma ferramenta de teste de fumo QA que permite aos utilizadores gerir e implementar testes de fumo manuais e automatizados a partir de um único painel de instrumentos. Isto torna-a ideal para organizações interessadas em experimentar a abordagem híbrida, e é adequada para uma enorme variedade de plataformas, incluindo aplicações baseadas em nuvem, Windows, e Mac.

 

Quando deve utilizar ferramentas de teste de empresa versus ferramentas de teste de fumo gratuitas?

 

Os instrumentos de teste de fumos livres e empresariais podem satisfazer necessidades semelhantes de formas ligeiramente diferentes. Normalmente, ferramentas gratuitas servem como uma excelente porta de entrada para organizações que se sentem confortáveis com os testes manuais de fumo, mas que querem explorar os testes automáticos de fumo com mais detalhe.

Podem também ser mais adequados para empresas muito pequenas, onde o dinheiro para ferramentas pagas ainda não existe.

Os instrumentos de teste de empresas tornam-se geralmente uma opção mais viável à medida que as empresas se expandem. Oferecem uma série de vantagens sobre as ferramentas gratuitas, geralmente oferecendo mais flexibilidade, melhor suporte, e interfaces mais fáceis de utilizar que facilitam até mesmo aos profissionais não técnicos a realização de testes de fumo automatizados.

 

Lista de verificação dos testes de fumo

 

Antes de iniciar um teste de fumo, a equipa de GQ do software pode utilizar esta lista de verificação para se certificar de que cobre cada passo do processo de teste de fumo.

● Identificar as ferramentas de teste de fumo que vai utilizar
● Escolha se vai criar um teste manual ou automático
● Seleccione os casos de teste que pretende testar
● Criar scripts de teste para cada caso
● Identificar os requisitos de ‘aprovação’ para cada caso de teste
● Faça os seus testes de fumo
● Analisar os resultados
● Feedback para o desenvolvimento e GQ

 

Conclusão

 

Os testes de fumo são um passo essencial no desenvolvimento de software e GQ. Assegura que um produto é funcional antes de se realizarem mais testes, o que evita o risco das equipas de GQ desperdiçarem tempo e recursos a realizar testes funcionais intensivos em construções que ainda não são estáveis.

Os testes de fumo são um processo relativamente rápido e simples que deve ser levado a cabo por equipas de software o mais frequentemente possível.

medida que as empresas se esforçam por alcançar uma eficiência óptima através da utilização de ferramentas avançadas que apoiam a hiperautomação, RPA, e outras tecnologias relacionadas, os testes automáticos de fumo estão a tornar-se cada vez mais comuns em organizações de todas as dimensões.

Tanto os testes de fumo manuais como automatizados ainda têm um lugar nos ambientes contemporâneos de GQ, mas à medida que os testes automatizados se tornam mais comuns, não há dúvida de que se tornarão a norma.

 

FAQ e recursos

 

Quais são os melhores cursos de automatização de testes de fumo?

 

Se quiser saber mais sobre a automatização de testes de fumo, alguns exemplos de cursos online que poderá frequentar são:

● Cursos de teste de fumo Coursera
● Cursos de teste de fumo Udemy
● Cursos de teste de fumo Skillshare

Um dos melhores cursos para principiantes é o Certified Tester ISTQB Foundation Level (CTFL), disponível na Udemy.

Cada um destes recursos em linha oferece cursos de teste de fumo para alunos com diferentes capacidades, e pode ser possível fazer cursos gratuitos e pagos nestes sítios.

Se quiser ser certificado, procure cursos que sejam acreditados pela CAST.

 

Quais são os melhores livros sobre testes de fumo?

 

Se quiser saber mais sobre os testes de fumo, pode ler livros sobre testes de software e testes de fumo para desenvolver a sua compreensão das abordagens e vantagens dos testes de fumo. Alguns dos melhores livros sobre testes de fumo incluem:

● The Art of Software Testing, de Glenford J Myers, Tom Badgett, e Corey Sandler
● Software Testing, por Ron Patton
● Software Test Automation, por Mark Fewster e Dorothy Graham

No entanto, existem muitos livros fantásticos sobre testes de software que o podem ajudar a compreender melhor os como, porquê e o que são os testes.

Escolha um livro que lhe agrade e explora os tópicos que mais lhe interessam em mais detalhe.

 

Quais são as 5 perguntas principais das entrevistas sobre testes de fumo?

 

Se está a considerar entrevistar para uma posição que possa envolver testes de fumo, prepare-se para a sua entrevista preparando as suas respostas a perguntas comuns de entrevista, tais como

● Quando é o momento certo para realizar testes de fumo?
● Como decidiria quais os casos de teste a utilizar num teste de fumo?
● Como é que os testes de fumo diferem de outros tipos de testes, como os testes de sanidade?
● Quantos conhecimentos de codificação são necessários para realizar testes de fumo?
● O que faria se um teste de fumo falhasse?

 

Quais são os melhores tutoriais do YouTube sobre testes de fumo?

 

Se é um aprendiz visual, poderia usar estes vídeos do YouTube para aprender mais sobre os testes de fumo:

Tutorial de testes de fumo Edureka
O que é o teste de fumo?
Testes de fumo versus testes de sanidade

 

Como manter os testes de fumo?

 

A manutenção dos testes de fumo consiste em assegurar que os testes de fumo que cria permanecem saudáveis e relevantes à medida que o seu projecto de construção de software continua.

Executar diariamente testes de fumo e criar novos casos de teste à medida que e quando forem necessários.

Pode também maximizar os benefícios dos seus testes de fumo, trabalhando em estreita colaboração com os criadores cujas contribuições não conseguem melhorar a qualidade do seu código.

 

O que é o teste de fumo na engenharia de software?

 

O teste de fumo na engenharia de software é também chamado teste de verificação de construção e é um teste simples e rápido para assegurar que a construção de um software é estável.

O teste de fumo é utilizado para testar as funcionalidades centrais de uma construção, e serve como um teste preliminar antes de se realizarem mais testes de GQ.

 

Teste de fumo versus teste de sanidade

 

Os testes de fumo e de sanidade são ambos tipos de testes que envolvem o teste rápido de funcionalidades nucleares de uma construção de software ou produto.

Contudo, enquanto os testes de fumo testam se as funcionalidades nucleares do software se comportaram ou não como esperado, os testes de sanidade são normalmente utilizados para verificar se as reparações de bugs corrigiram problemas identificados.

Os testes de fumo são um processo mais formal e documentado que é geralmente feito antes de uma construção ser verificada como estável, enquanto que os testes de sanidade são um tipo de teste informal que pode ser realizado como parte de testes de regressão sobre construções relativamente estáveis.

 

Teste de fumo versus teste de regressão

 

Os testes de fumo e de regressão são ambos tipos de testes que verificam se o software ainda está a funcionar correctamente depois de terem sido feitas novas alterações.

Contudo, o teste de fumo é um tipo de teste relativamente rápido e de baixa profundidade que simplesmente verifica as funções principais e assegura que o software é estável.

O teste de regressão é um teste de nível mais profundo que leva muito mais tempo e avalia a construção em mais pormenor.

 

Teste de fumo vs teste de sanidade vs teste de regressão

 

Ao comparar os testes de fumo e sanidade com os testes de regressão, é importante compreender que todos estes três tipos de testes são necessários para um bom desenvolvimento de software e GQ.

Os testes de fumo e de sanidade oferecem uma forma rápida de verificar se o software funciona normalmente, enquanto que os testes de regressão oferecem uma visão mais profunda do funcionamento do produto.

Primeiro as equipas de QA testam software de fumo, e depois, se o software passar esta verificação, podem realizar-se testes de sanidade, e mais tarde testes de regressão.

Os testes automatizados de fumo usando ferramentas de teste de fumo estão a tornar-se cada vez mais comuns, mas alguns tipos de testes, tais como testes de regressão, ainda não são possíveis de automatizar completamente devido à natureza complexa do teste.

Finalmente, se procura ferramentas para realizar testes em plataformas Windows, iOS, Android, testes UI, Linux, e muitos mais, vá em frente e descarregue o ZAPTEST GRÁTIS!

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo