O projeto agora aprovado tem como objectivo definir uma metodologia e procedimentos para integrar testes automatizados de usabilidade e acessibilidade na suite TestC da PT Inovação e Sistemas, além de identificar e analisar ferramentas/procedimentos/bibliotecas de mercado que possam ser integradas na suite TestC para suportar e ou facilitar a execução de testes integrados de sistema sobre requisitos não funcionais de uma forma automatizada.
A atividade de teste, na sua compreensão industrial passada mas relativamente recente, era considerada como uma fase intermédia do processo de desenvolvimento que poderia ser realizada de forma rápida antes da entrega do artefacto de software ao cliente. Empresas de desenvolvimento de software não estavam interessadas em dedicar os recursos necessários para completar esses processos de forma adequada. Os testes eram simplesmente uma marca na caixa entregue.
O resultado inevitável dessa política foi a produção frequente de software incompleto, com funcionalidades em habitual desacordo com as necessidades reais dos clientes, ou ambos. Em alguns casos, o software fornecido estava totalmente inutilizável. Era assim figura comum, infelizmente, ver orçamentos ultrapassados ou até mesmo descontinuação do desenvolvimento. A inadequação do processo de testes em prática é, nestes casos, factor agravante nas dificuldades sentidas e na causa do fracasso de projeto de software.
Para além destas consequências, destas dificuldades resultavam danos graves para a empresa em causa, como a imagem da empresa, perda de reputação, incapacidade em manter negócio, desperdícios de recursos e tempo, custos adicionais, perda de confiança dos clientes, quebra de contrato. Citemos a título de exemplo um estudo recente da Universidade de Cambridge (publicado em 2012) que estima que os custos dos erros de software são superiores ao dobro da dívida soberana da zona económica europeia. De facto, este custo é estimado em 312 mil milhões de dólares anuais.
Um processo de teste forte, bem planeado e bem executado não é a solução mágica para o sucesso de um projeto, mas projetos de software bem sucedidos não o são sem o recurso a uma fase abrangente de testes adequadamente planeada.
Assim, a importância dos testes nos dias de hoje é bem entendida e em consequência a prática do teste tem claramente melhorado e reveste um papel central nos ciclos de desenvolvimento de software em qualquer empresa de software que visa produzir software de primeira qualidade.
O engenho nesta atividade passa muito por um processo muito bem estruturado e uma escolha cuidadosa dos cenários por testar, aliado à capacidade em considerar volumes importantes e pertinentes destes cenários de testes. Uma optimização admitida na comunidade é a de minimizar o peso da intervenção manual na elaboração dos testes, na sua execução e na sua análise. É sabido que automatizar o processo de geração de teste e da sua execução melhora a eficácia, a eficiência, a análise e a cobertura dos testes de software.
Este é já o terceiro projeto aprovado pela PT Inovação e Sistemas em dois anos. Os anteriores foram investigações nas áreas da privacidade e segurança na cloud e segurança de dispositivos móveis para transações “Machine to Machine" no contexto da internet das coisas.