Pergunta

Os testes podem ser classificados principalmente em testes manuais e automatizados. No que diz respeito a isso, certas perguntas vêm à mente.

Eles incluem:

  • Qual é a diferença básica entre os dois tipos de teste?

  • Quais são os elementos de desafios envolvido em testes manuais e automatizados?

  • Quais são os diferentes conjunto de habilidades exigido por um testador de software para testes manuais e automatizados, respectivamente?

  • Quais são os diferentes perspectivas de emprego e oportunidades de crescimento Entre os testadores de software que fazem testes manuais de testes automatizados, respectivamente?

  • É teste manual subestimado para testes automatizados de qualquer maneira? Se sim, como?

  • Quão diferentes os testadores manuais são tratados em comparação com os testadores automatizados no mundo corporativo? (Se eles realmente são diferenciados em qualquer termos como tal)

Foi útil?

Solução

O teste automatizado é qualquer tipo de teste em que você esteja usando uma peça de código / programa para testar outra parte do código / programa. Isso pode ser o teste de unidade, conforme descrito acima, ou pode ser através de uma ferramenta de automação específica, como TestComplete, QTP, Selenium, etc. Os testes de unidade tendem a ser criados e executados pelo desenvolvedor do Código em questão, enquanto a automação da GUI Provavelmente será realizado por um especialista em controle de qualidade de software. Certos tipos de testes, como desempenho e teste de regressão, são adequados para automação, enquanto outros, como testes de usabilidade, não são.

O teste manual é um processo em que uma pessoa testa diretamente um software, geralmente realizando o tipo de ação e o usuário final pode realizar. Muitos testadores profissionais, como os envolvidos nos testes exploratórios, sugerem que você, enquanto os testes de unidade são econômicos, os testes manuais são igualmente importantes e econômicos.

Para uma visão maravilhosa das armadilhas dos testes automatizados, você deve ler Blog recente de Linda Wilkinsons. Outros bons recursos para ler incluem discussões de o clube de testes de software, e as Testes automatizados Parte dos Sqaforums.

Se você ainda não fez isso, Sqaforums Vale a pena participar para fazer qualquer pergunta relacionada ao que está envolvido nos testes, bem como às perspectivas de emprego.

Outras dicas

Bem, só posso falar de minhas opiniões e experiências, e sou apenas um desenvolvedor que trabalhou bastante com testadores e engenheiros de controle de qualidade. Enfim, meu 2C:

O manual de diferença mais básico é feito manualmente e o automático é feito por computador :) Como conseqüência, o processo de teste manual pode ser ordens de magnitude mais lentamente que uma totalmente automatizada. Por outro lado, os testes automatizados só podem detectar problemas que deveriam detectar e não podem detectar fundamentalmente novos comportamentos de um sistema. Isso basicamente significa que os testes automatizados são ideais para testes de regressão, quando é sabido o que deve ser feito, como e quais devem ser as saídas.

Quanto aos conjuntos de habilidades, os testes manuais podem ser basicamente feitos por qualquer pessoa na mentalidade certa, enquanto os testes automatizados devem ser feitos por alguém com pelo menos alguma experiência do desenvolvedor. Existem estruturas que permitem a gravação fácil de testes da Web automatizados, por exemplo, mas geralmente é necessário ajustar os cenários gravados para melhor atender às necessidades dos testes. Obviamente, as habilidades básicas necessárias para testes também devem estar presentes em quem deseja um trabalho em controle de qualidade, como paciência, atenção aos detalhes, grandes habilidades organizacionais, ótimas habilidades de comunicação, etc ...

E, por último, não acho que os testes manuais sejam subestimados, se é que alguma coisa, acho que os testes automatizados são subutilizados na maioria dos ambientes corporativos que eu já vi. Mas, sim, algumas pessoas (principalmente gerentes, para ser honestas) interpretam meu parágrafo anterior como "qualquer um pode fazer testes manuais".

O teste automatizado (especialmente o teste de unidade automatizado) é bom porque significa que você pode testar no início do ciclo de desenvolvimento e pode guarda testando regularmente; Ele permite que os desenvolvedores identifiquem onde cometeram erros antes de envolver a equipe de controle de qualidade. Mas isso não significa que o controle de qualidade seja desnecessário. Além da questão de garantir que os testes automatizados sejam adequados, também há a questão de descobrir se o aplicativo está fazendo o que deveria; É muito raro ser entendido completamente.

Também é difícil testar automaticamente as interfaces do usuário. Por exemplo, avaliar se um ícone é adequadamente significativo e posicionado é uma questão para pessoas não computadores, porque o computador não se importa, mas o usuário.

  • A principal vantagem dos testes automatizados é que você pode fazer o teste de regressão rapidamente. O desenvolvedor pode verificar a funcionalidade anterior, se estiver funcionando bem ou não depois de adicionar novas funcionalidades ao sistema.
  • Portanto, quando você está trabalhando com um prazo apertado, usando ferramentas de automação, você pode reduzir o esforço de teste. (Como testes de notificações por e -mail/sms, compatibilidade do navegador/UI etc. etc.)
  • Hoje, muitas empresas estão usando ferramentas de automação de código aberto (como Selenium, OpenSta, Jmeter etc.) para seus esforços de teste normais. Portanto, é melhor se você souber como testar um aplicativo usando essas ferramentas de freeware em vez de ferramentas pagas.

A diferença mais básica é como o teste é verificado. É feito através de uma verificação programática ou é feita uma inspeção humana?

O grande desafio com testes automatizados é fazer com que os testes manuais sejam automatizados e garantindo que não haja a necessidade de uma interpretação humana do resultado, por exemplo, se um programa envolver uma saída de áudio ou vídeo, isso pode ser muito difícil de verificar exatamente.

Ambos exigem atenção aos detalhes, paciência e habilidades organizacionais para ter credibilidade ao dizer: "Sim, este é um produto/serviço de alta qualidade". As diferenças podem chegar onde os testes automatizados usam um software especial geralmente.

Os testes manuais podem ser caros, pois há alguém assistindo aos testes sendo executados enquanto os testes automatizados geralmente podem ser executados sem alguém assistir. No entanto, os testes manuais podem ser subestimados quando se trata das áreas em que as coisas podem ser muito subjetivas, como estilo de páginas da web ou quão bem essa música soa se fizer essas alterações nela? Esses seria onde eu veria um ser humano preferido sobre uma máquina.

Quanto às carreiras e oportunidades de emprego, isso é até certo ponto uma questão em aberto. Como nem todos os lugares contratam testadores e, às vezes, os testadores são trazidos conforme necessário para os projetos, existem diferentes perspectivas nos testes. Isso é sem entrar em questão de quanto os desenvolvedores devem escrever seus próprios testes e isso faz de um desenvolvedor um testador também? Suponho que isso não está respondendo à sua pergunta, porque estou olhando para isso na maior escala de quem está fazendo os testes, pois isso é outra coisa a considerar aqui.

A única maneira de escrever todos os testes objetivamente é deixar de fora uma fração significativa dos detalhes necessários para garantir que o software seja adequado ao objetivo. O resultado é sempre o software que você precisa pagar a alguém uma taxa horária para usar.

Isso nem sempre pode ser um problema, mas o conjunto de casos em que está é uma grande parte da indústria de software.

Para responder apenas a primeira de suas perguntas: a diferença básica é que os testes manuais parecem testes, enquanto os testes automatizados (geralmente) estão testando. Se você não pode escrever uma especificação completa e detalhada dos testes a serem executados, não está realmente testando. E se você puder, pode fazer testes automatizados. Isso é verdade se o seu script de teste é executado por um programa ou uma forma de vida baseada em carbono, seguindo-o rigidamente.

Deixarei que você divinei minhas respostas para o restante das perguntas da premissa básica que iniciei.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top