O que os CIOs estão pensando sobre testes e
qualidade de software em 2016
2 Todo ano três grandes multinacionais do setor de TI se unem para elaborar o mais importante relatório sobre o setor de testes e qualidade de software dos dias de hoje. As três multinacionais são a HP, a Capgemini e a Sogeti. O relatório em questão é o World Quality Report e já está chegando na sua oitava edição. O relatório deste ano pode ser obtido na íntegra neste link.
Por que esse relatório é tão importante para os profissionais e as empresas de teste e QA?
Ele é imprescindível porque é uma pesquisa feita com 1600 CIOs e líderes de TI de 32 países diferentes. Na pesquisa eles respondem sobre vários temas, dentre eles destacam-se:
Como eles estão investindo em testes e QA O que consideram os tópicos mais importantes Onde irão investir nos próximos meses
Como eles enxergam o valor de testes e QA nas suas organizações
O relatório tem 80 páginas, é todo ilustrado e bem detalhado. Vale a leitura. Neste artigo vamos explorar os principais objetivos dos executivos com testes e QA e as principais recomendações do relatório.
Objetivos dos Executivos com testes e QA
A listagem abaixo indica percentuais por tópico. Sendo que cada percentual indica a quantidade de entrevistados que indicaram aquele tópico como objetivo. Por exemplo, 65% dos entrevistados entendem que aumentar a segurança é um dos objetivos de testes e QA, indicando uma elevada preocupação com esse tema.
Tópico Percentual
de respostas
Comentários
3 no topo dos objetivos.
Aumentar a qualidade das soluções de software
44% Essa é a preocupação tradicional e histórica com qualidade de software. Não é surpresa estar no topo dos objetivos.
Melhorar a experiência do usuário
42% Hoje em dia não basta apenas o software estar correto. Os executivos querem que seus softwares atendam a requisitos não funcionais que deixem seus usuários mais satisfeitos e produtivos.
Otimizar os custos de TI
42% Quantificar o quanto o investimento em testes e QA pode gerar de economia financeira é um exercício bem difícil. Porém, saber que os executivos
enxergam que testes e QA podem ajudar a reduzir custos é uma ótima notícia para todos os
profissionais da área.
Aumentar a
"responsividade" às demandas de negócio
42% Esses quatro itens falam basicamente da mesma coisa. Os executivos querem entregas mais rápidas com qualidade.
Sabemos bem que para conseguirmos atender a esse objetivo temos que dominar a automação de testes, conceitos de entrega contínua, virtualização, gerenciamento de dados etc.
Implementar DevOps 38% Diminuir o tempo de chegada de um produto/versão ao mercado 37% Aumentar o output 37%
Principais recomendações para testes e QA em
ordem de importância
4 Com o intuito de reduzir custos, o relatório deste ano defende em várias oportunidades o uso de ferramentas e metodologias que facilitem a identificação do que devemos testar e onde mais testes são necessários.
Nesse contexto entram ferramentas que são capazes de inferir tais informações a partir do processamento de um grande volume de dados. Informações que podem ser obtidas, por exemplo, através de dados sobre o que acontece com os sistemas em produção.
O relatório cita muito análise preditiva. Em um resumo grosseiro, a análise preditiva envolve analisar dados do passado para inferir o que vai ocorrer no futuro. No contexto de testes seria inferir onde os bugs mais críticos vão aparecer. Através desse tipo de informação poderíamos focar nossos testes para evitar esses bugs apenas, reduzindo custos.
Adicionalmente, o relatório recomenda o uso de ferramentas que: analisam a causa raiz de um defeito, analisam a cobertura e a eficiência dos testes, analisam a utilização de recursos e ambientes, prevêem a estimativa de testes baseando-se nos requisitos, prevêem áreas de risco e níveis de risco de projetos e planejam a priorização dos casos de testes.
As perguntas que o relatório não responde são: quais ferramentas são essas? Já estão disponíveis no mercado? Ou será que teremos que construir nossas próprias ferramentas?
2. Adotar uma abordagem de QA para DevOps e métodos ágeis
O DevOps quer todas as equipes envolvidas no deploy de aplicações em produção trabalhando juntas em sinergia para que a entrega seja cada vez mais frequente e com maior qualidade.
Nesse contexto o QA exerce papel crucial. Se o nível de automação não for suficiente o QA será potencialmente o maior gargalo do processo de deploy. É o QA que vai ditar o ritmo do DevOps.
5 Parece que isso dá maior poder ao QA, mas ao mesmo tempo é um risco para os profissionais que não estiverem preparados para trabalhar não só com automação, mas também com virtualização, integração contínua, build contínuo, gerenciamento de dados para testes etc. Quem não estiver preparado será atropelado pelo DevOps e sua acelerada adoção pelas empresas.
3. Investir em soluções as-a-service para gerenciamento de ambiente de testes, gerenciamento de dados de testes e execução de testes
Em um cenário ideal os profissionais de testes gostariam sempre de ter ambientes de testes exclusivos, com um banco de dados dedicado para realizar seus testes manuais ou automáticos. Quem trabalha com testes sabe que isso já não é algo tão fácil de conseguir, mesmo em um ambiente onde a frequência de mudanças e deploys é baixa.
Acrescente na equação mudanças incrementais cada vez mais frequentes nos softwares. Pense nas dificuldades em manter vários ambientes de testes com versões de software e dados atualizados. Acrescente ainda algumas situações onde teremos integrações entre diferentes software e serviços. Para finalizar acrescente as variações dos ambientes (e.g. smartphones) dos usuários finais.
A expectativa é que teremos fornecedores capazes de nos oferecer soluções que facilitem gerenciar esses ambientes e dados.
Mais uma vez o relatório não indica nenhuma solução. De fato não é papel dele fazer isso. Será que existe/haverá uma solução capaz de montar ambientes de testes atualizados com um clique? Ou será que teremos que integrar várias ferramentas para atingir esse objetivo?
Notem que a necessidade de soluções desse tipo surge da necessidade crescente de aumentarmos a frequência de entregas em produção.
6 4. Desenvolver estratégias de testes específica para IoT (Internet of Things)
A IoT (Internet of Things / Internet das Coisas) é um conceito abstrato que define as mudanças tecnológicas resultantes a partir do surgimento de novos dispositivos eletrônicos conectados. Por exemplo, câmeras de vídeo, geladeiras inteligentes, termostatos, casas inteligentes, medidores de pulsação, carros etc.
85% das pessoas que responderam a pesquisa afirmaram que IoT é parte do dia-a-dia das suas empresas. Por outro lado 68% dessas empresas nas quais IoT é uma realidade não possuem estratégia específica para testes de IoT.
Como a presença de IoT na vida das empresas só tende a aumentar, os analistas de testes precisam estar preparados. Requisitos não funcionais de testes aumentam sua importância nesse contexto: segurança da informação, conectividade, confiabilidade dos equipamentos, facilidade de uso e desempenho.
5. Manter uma visão crítica da qualidade na organização como um todo
A adoção de metodologias ágeis e DevOps na empresa trazem uma série de benefícios que culminam em mais velocidade e flexibilidade. Porém, em contrapartida dificulta ter uma visão global do status da qualidade do software para a organização.
O relatório recomenda que se mantenha um dashboard dinâmico capaz de mostrar métricas de qualidade da organização. O mínimo que ele recomenda é ter métricas que consigam indicar:
Qualidade de uma versão Produtividade dos testes Velocidade dos testes
Status dos incidentes em produção Status dos defeitos de uma release
Percentual de funcionalidades que passaram pelo critério de saída dos testes Número total de funcionalidades entregues em produção
7 Felizmente, boa parte desses indicadores conseguimos com ferramentas tradicionais de bug tracking e gerenciamento de testes.
Conclusão
O conteúdo desse artigo é um resumo das principais conclusões do World Quality Report 2016-2017. O relatório contém muito mais informações valiosas para a empresas e profissionais de testes e QA. Em especial para refletirem sobre seu futuro como profissionais da área.
Sobre o autor Hugo Barros
Innovation and Entrepreneurship Program (Stanford University), MBA Executivo em Finanças (Ibmec-MG), Bacharel e Mestre em Ciência da Computação (DCC/UFMG), Certified Tester Foundation Level (CTFL / ISTQB), Certificação Brasileira de Teste de Software (CBTS / ALATS).
Com uma experiência de 10 anos combinando desenvolvimento, processos, qualidade de software e gestão de projetos, Hugo atua como sponsor de projetos estratégicos na Base2 desde sua fundação em 2005. Além do trabalho na Base2, Hugo também participou da gestão da Fábrica Mineira de Software (Fumsoft/MG), foi consultor no PNUD – Programa das Nações Unidas para o Desenvolvimento (ONU) – e participou de projetos de incentivo ao software livre junto ao DCC/UFMG.
https://www.linkedin.com/in/hvbarros/pt
Sobre a Base2
A Base2 é uma empresa de tecnologia criada em 2005 para garantir a qualidade de sistemas de software prontos e em desenvolvimento. Prestando serviços de consultoria, terceirização, homologação e capacitação em testes, a Base2 possui um processo próprio e adaptável à realidade de seus clientes.
8 Nossa fábrica de testes mantém um núcleo fixo de profissionais especializados, e varia sua capacidade de acordo com a demanda dos projetos. Além de homologar e auditar sistemas de forma independente, a Base2 pode também assumir e gerenciar a área de testes de seus clientes com indicadores precisos de qualidade.