Principais tendências em testes de software do SmartBear: tipos e tendências de testes

Em 2019, a SmartBear realizou sua pesquisa anual pela comunidade de testadores de software pela terceira vez . Alyona Batitskaya, desenvolvedora front-end, professora e líder do curso na faculdade de Programação em Netology, traduziu a pesquisa e coletou os principais resultados sobre metodologias de desenvolvimento, ferramentas e tecnologias de teste, automação e tendências de desenvolvimento da indústria nos próximos dois anos.  

Quem foi entrevistado


A empresa entrevistou 2.526 pessoas de diferentes países e indústrias, entre as quais prevalecem engenheiros de controle de qualidade e engenheiros de automação - 37%. Também entre os entrevistados estavam desenvolvedores (15%), gerentes de controle de qualidade (14%), arquitetos (8%), testadores manuais (7%), gerentes de análise de produtos / negócios (5%), consultores (4%), DevOps engenheiros (4%).


As profissões dos entrevistados são consistentemente diferentes:

existem muitos tipos de teste de software e, na maioria das vezes, várias abordagens são aplicadas. O número médio de tipos de teste nas equipes respondentes é 2,2. Isso mostra que os departamentos de teste não são hiperespecializados, ou seja, eles não usam muitas abordagens de teste, mas não param na mesma forma.  


A maioria dos entrevistados testa software ou entra nas equipes apropriadas
 
Em relação aos testadores que trabalham independentemente, há mais gerentes de controle de qualidade que definem e controlam tarefas. Os pesquisadores explicam isso pela melhoria contínua das qualificações dos entrevistados e pela transição para os próximos passos na carreira.  
  
Desde 2017, o tamanho das empresas nas quais os entrevistados trabalham mudou. Antes, todo mundo queria entrar em uma grande empresa (mais de 10.000 funcionários), mas agora prefere empresas menores (menos de 500 funcionários).  

O que foi testado




Aplicativos web mais testados (79%) e APIs / serviços web (77%). 

Desde 2017, o número de testes de APIs / serviços da web e aplicativos da web para dispositivos móveis aumentou em cerca de 10%. Ao mesmo tempo, há uma tendência de queda nos testes de aplicativos de desktop, aplicativos da web híbridos e progressivos e soluções in a box. 

Tempo de teste


O tempo gasto em testes não mudou muito desde 2018 - em média, isso é 61% do tempo de trabalho.

A tarefa que consome mais tempo, 23% dos entrevistados, considera a realização de testes. Criação de testes automatizados em segundo lugar (18%), seguidos de scripts para testes manuais (17%). Os relatórios / análises dos resultados dos testes permaneceram no mesmo nível - quarto lugar, com 12% dos entrevistados, mas isso é significativamente superior a 3%, que disseram que essa era a tarefa que mais consumia tempo em 2017. 
 
Funcionários de grandes empresas estão mais satisfeitos com o processo de teste de software embutido. O motivo pode ser que as grandes organizações, em contraste com as pequenas, têm os recursos, histórico e conhecimento para melhores testes. 
 
A seguinte correlação foi revelada: os entrevistados que passaram menos de 20% do tempo testando ficaram menos satisfeitos com o processo de teste, ao contrário dos que testaram de 20 a 80%. Isso pode refletir uma maior conscientização dos processos e sua conveniência, ou um nível mais baixo de interesse e satisfação entre os que testam com menos frequência. 
 

Ciclos de teste


As empresas continuam a mudar para ciclos mais rápidos de teste de software.

A combinação mais popular de metodologias de desenvolvimento é Agile e DevOps. Isso sugere que as empresas que já usam o Agile continuam melhorando esses processos e estão começando a implementar os processos do DevOps. 

Somente uma abordagem O DevOps usa empresas pequenas e grandes. E o uso de ambas as abordagens - Agile e DevOps - é observado mais em grandes empresas. 
 

As metodologias Agile e DevOps não estão crescendo rapidamente, obtendo lentamente participação de mercado da Waterfall. A maioria dos entrevistados indicou que usa uma combinação de abordagens no processo de mudança para o DevOps.
 

Ferramentas e tecnologias de teste


Entre as ferramentas, Jenkins lidera o terceiro ano consecutivo (52%). Ao mesmo tempo, o número de pessoas que não usam ferramentas de CI / CD em seu trabalho diminui de ano para ano - em 2019, havia apenas 14% do total. 


Apesar da forte liderança de Jenkins, o mercado de ferramentas de teste parece fragmentado.As
 
linguagens mais comuns para escrever aplicativos são Java (49%) e JavaScript (44%). A frequência de uso de C # (24%) e VB.net (11%) está diminuindo, mas a frequência de uso de Python está aumentando (18%). A popularidade de Swift, R e Go continua a crescer, mas todos mantêm aproximadamente o mesmo nível de resposta. 

O número médio de linguagens de programação para escrever aplicativos aumentou: de 2,36 para 2,54. 

Uma distribuição semelhante entre os idiomas foi preservada na redação de testes automáticos. A menos que o Python troque de lugar com C #. 
 

Gerenciamento de teste 


Surgiu um padrão claro: quanto menor a empresa, mais eles não gostam de usar programas para gerenciar o processo de teste.  


As empresas pequenas são menos propensas a usar as ferramentas de gerenciamento de testes. 

Entre as que ainda usam esse software, não há um único programa líder:  



Teste de estresse 


De 30% para 35%, o número de entrevistados aumentou que o teste de carga é realizado antes de cada publicação do projeto.  


A popularidade do teste de carga para diferentes tipos de software
 
Entre as ferramentas de teste de carga, o Apache JMeter de código aberto começa com uma margem confiável - 37% dos testadores o escolhem. A tendência de código aberto está crescendo na comunidade de TI, portanto, esse líder não é surpreendente. 

Segundo lugar - no LoadRunner (18%). As “outras” ferramentas não designadas são usadas por 17%. 
 

 

Automação de Teste 


O grau de cobertura de software por testes automáticos não mudou desde 2017:
 

apenas 18% dos aplicativos são cobertos por autoteste em mais de 75%
 
e, novamente, há um padrão no tamanho das empresas. 
Quanto maior a empresa, maior o grau de cobertura de aplicativos com autotestes. 
 Manter a relevância dos testes à medida que o aplicativo muda e cresce ainda é o maior problema - 21% das respostas. A falta de tempo para o teste é registrada em 15%. Qualificações insuficientes dos funcionários são observadas em 12%.

Teste de UI 


Dificuldades e principais desafios




Na lista das principais dificuldades nos testes, a interface do usuário lidera os testes de estabilidade (18%).

Uma nova resposta "Comece a fazer isso" [eles não testaram a interface do usuário antes, agora está pronta para prosseguir. - Aproximadamente. Ed.] Imediatamente ficou em segundo lugar com 17%.  
 
Distribuição de outras respostas:
 
  • Determinação do objeto de teste e controle do processo (15%).
  • Testes em diferentes ambientes (dispositivos, sistemas operacionais) (13%).
  • Teste de cobertura de teste (11%).
  • Serviço de teste (11%).
  • Criação de dados sintéticos (9%).

 

Ferramentas


Entre as ferramentas para teste automatizado da interface do usuário, existem muitos aplicativos com baixa popularidade. 

Pelo segundo ano consecutivo, o Selenium Webdriver continua sendo o líder (27%). Em segundo lugar, está o TestNG (10%). O TestComplete fecha os três primeiros (8%).



 

Executando testes ao mesmo tempo


A execução de vários tipos de testes ao mesmo tempo economiza tempo nos testes, o que é crucial nas condições de um curto ciclo de desenvolvimento.  
Ao mesmo tempo, muitos testadores usam esse chip: apenas 30% dos entrevistados executam mais de 10 testes por vez.



O número de testes iniciados simultaneamente

Outra regularidade: quase todo mundo que não executa testes em paralelo não automatiza os testes. 

Quase todo mundo que usa scripts ou outros métodos de teste de interfaces de usuário está usando testes paralelos, ao contrário daqueles que escolheram Gravar e repetir como a principal maneira de testar as interfaces de usuário. 

Escolhendo uma abordagem de automação versus testes paralelos
 

Executando testes na nuvem 


O número de pessoas que executam testes na nuvem está aumentando lenta mas constantemente. Em 2017, havia 45% dessas respostas, e em 2019 já 50%.  

Navegadores populares


Os três líderes não mudam desde 2017. O navegador mais popular para testar aplicativos da web é o Chrome (53%). Em seguida, vem o Firefox (41%) e o Internet Explorer (35%). 

O Chrome, o FireFox e o Internet Explorer caíram acentuadamente em 2018, mas os dois primeiros cresceram cerca de 5% em 2019, mas o Internet Explorer continua caindo.  

38% dos entrevistados testam em três ou mais navegadores. A grande maioria (51%) é testada apenas na versão mais recente dos navegadores, 20% - nos últimos dois, 11% - nos últimos três.  

Navegadores sem cabeça 


A tecnologia dos navegadores sem cabeça aumenta significativamente o número de testes executados em paralelo, acelerando assim todo o processo de teste em quase três vezes. Até agora, apenas o Chrome e o FireFox têm versões sem cabeça. 
 
Segundo a pesquisa, 25% dos entrevistados usam essa tecnologia. Os 75% restantes não estão cientes do uso de navegadores sem cabeça na empresa ou têm certeza de que essa tecnologia não foi implementada.  

Teste Móvel


Todos os anos, cresce a necessidade de as empresas testarem o produto em dispositivos móveis: apenas 15% dos entrevistados disseram que não testam dispositivos móveis. 
 
O líder, como no ano passado, são dispositivos iOS. O Android está logo atrás. 
 


— , , . 

 



Em 2018, 45% dos testes foram automatizados, em 2019 - 46%. Embora não seja substancial, mas crescimento estável. 

De acordo com os planos dos entrevistados, até 2021 eles querem automatizar 69% dos testes. Os engenheiros de controle de qualidade têm as maiores expectativas.  

Segundo a pesquisa, aqueles com uma taxa de automação atual de 1 a 25% planejam aumentá-la para 26 a 50%. E aqueles com 26 a 50% querem 51 a 75%. Ou seja, ninguém reivindica automação absoluta, realmente avaliando suas capacidades.  

A opção mais eficaz é um lançamento semanal do produto, cerca de 37% dos entrevistados o escolheram. Em segundo lugar, está o ciclo mensal de desenvolvimento (28%). O terceiro lugar é ocupado pelo lançamento trimestral do produto (12%). 


Os entrevistados alcançaram a maioria das metas estabelecidas em 2017

O gráfico acima permite comparar as expectativas dos participantes da pesquisa do ano passado em relação à frequência das publicações e à realidade. As metas para publicação semanal e mensal não foram apenas alcançadas, mas também superaram as expectativas. Mas todos os dias, ou publicar várias vezes ao dia, não funcionava para muitos - as expectativas eram exageradas. 

Tendências no horizonte por dois anos


Os entrevistados tentaram prever as direções que ganharão popularidade no campo dos testes nos próximos dois anos. Das respostas mencionadas mais de 10 vezes, coletamos uma nuvem de tags simplificadas.  


Segundo as previsões, as áreas mais populares serão automação, inteligência artificial e aprendizado de máquina. 

a coisa principal 


A frequência de lançamento continua a crescer à medida que mais e mais empresas estão migrando da metodologia Waterfall para uma combinação das metodologias Agile e DevOps.

O teste é dominado por aplicativos da web e APIs.  

Existem muitas ferramentas de teste diferentes em uso, entre as quais o teste manual é líder. 

A tarefa mais difícil para o teste automatizado é sincronizar os scripts de teste com a versão atual do aplicativo. 

O script é a abordagem mais comum para a automação de teste, e o Selenium é a ferramenta de script mais popular. 

De acordo com os planos dos entrevistados, até 2021 eles querem automatizar 69% dos testes. 

Os entrevistados ainda veem a necessidade de testar em diferentes navegadores e versões do navegador, mas o número de versões do navegador é insignificante, mas diminuiu. 

Um quarto dos testadores usa navegadores sem cabeça, enquanto pouco mais de um quarto não tem certeza se suas organizações usam essa tecnologia. 

Nos próximos dois anos, as áreas mais populares na indústria de testes serão automação, inteligência artificial e aprendizado de máquina.

Dos editores da Netology


Convidamos você a se familiarizar com a profissão de testador na lição aberta " Testador: quem é e como se tornar o principal em termos de qualidade em TI " - o próximo será realizado em 23 de abril às 19:00.

E para quem já deseja obter essa profissão de TI, sugerimos estudar o programa " Software Tester ". 

All Articles