Cantata é uma ferramenta de testes dinâmica para testes unitários e de integração em C e C++. A estrutura de testes proporciona um elevado grau de automação para a geração, execução e análise de testes que se adaptam ao seu fluxo de trabalho de desenvolvimento.

A sua estrutura de automação de testes integrada permite que os desenvolvedores cumpram com os requisitos dos testes das normas de segurança de software e implementem as melhores práticas do setor.

A estrutura de testes Cantata capacita-o para selecionar as formas mais eficientes e eficazes para desenvolver e gerir testes que se adaptem ao seu fluxo de trabalho.

A estrutura de testes Cantata também pode ser facilmente estendida ou integrada diretamente na integração contínua e nas ferramentas de análise estáticas para uma maior sincronização e automação das atividades de teste.

Cantata fornece uma estrutura de testes integradav (scripts de teste e uma biblioteca de suporte) que permite qualquer combinação de estilos de teste tanto para testes de integração unitários e escalonáveis. Os testes podem ser editados na interface gráfica do utilizador (GUI) ou no código C/C++ e executar os executáveis nas plataformas anfitrião e em múltiplas plataformas alvo.

 

O código do utilizador é impulsionado por scripts de teste portáteis com bibliotecas alvo compatíveis e criado como um executável de teste único para ser executado em múltiplas plataformas anfitrião ou alvo. É utilizada instrumentação para acesso à caixa branca e cobertura de código, pelo que o código de produção nunca é alterada para testes.

"Cantata can be used for different targets without problem. We have done this for both our A380 EMU and EIPM systems."

Philippe Lomazzi, Head of Software Development, Meggitt Avionics

"Soon, all developers were testing to exactly the same standard. Maintaining each other's test scripts became much easier as a result of this standardization."

Philippe Lomazzi, Head of Software Development, Meggitt Avionics

"We found errors using Cantata that we know we would otherwise have missed until later."

Dave Parker, Software Engineer, Marconi Communications

Configurar projetos de testes para se adaptarem ao seu fluxo de trabalho

Os projetos de teste Eclipse da Cantata pode ser configurados de 5 formas flexíveis de modo a melhor se adaptarem ao seu fluxo de trabalho normal:

  • Utillizar um projeto Eclipse existente
  • Criar um espaço de trabalho sobre o código-fonte
  • Criar um projeto em ou sobre o código-fonte
  • Associar o diretório de origem a um projeto
  • Copiar o código-fonte para um projeto

Os projetos de teste podem ser configurados para abordagens de teste unitários de baixo para cima, de cima para baixo ou de isolamento, e são testes de integração impulsionados pela Cantata ou externamente.

Geração de testes

O código-fonte é analisado para obter um modelo abrangente (ficheiro .csi) do código, de modo a poderem ser gerados testes estruturados a partir deste. Os scripts de teste C/C++ são gerados nos projetos de teste com makefiles Cantata correspondentes para teste de regressão automatizados.

Os scripts de testes da Cantata são gerados a partir de um ou mais ficheiros de código-fonte selecionados e podem conter múltiplos estilos de casos de teste:

  • Caso de teste único por função no código
  • Casos de testes impulsionados por múltiplas tabelas, utilizando múltiplos valores de entrada definidos pelo utilizador
  • Testes de robustez, utilizando múltiplos valores de entrada predefinidos
  • AutoTest (consultas AutoTest para obter detalhes)

Edição de testes

Os scripts de teste e os makefiles podem ser editados utilizando o Test Script Manager gráfico sincronizado ou qualquer editor de código C/C++.

São definidos valores padrão iniciais para as entradas, saídas esperadas e ordem de chamada esperada para uma edição de casos de teste iterativa rápida. As chamadas de função são controladas (simuladas ou intercetadas) no script de testes.

Consulte o recurso de controlo de chamada exclusivo para obter detalhes.

Controlar a criação e execução no alvo

Todos os ficheiros relacionados com a Cantana são armazenados no diretório “CANTATA” no nível superior de um projeto. Isto permite que os ficheiros de teste coexistam com os seus ficheiros de origem numa hierarquia auto-contida e sejam facilmente geridos utilizando ferramentas de controlo da versão.

Os testes são criados com o código a ser testado, utilizando o seu mecanismo de criação padrão nos executáveis binários compatíveis do anfitrião e descarregados para execução na plataforma alvo através do IDE ou da linha de comando.

A Cantata pode ser implantado numa extensa gama de alvos (consultar Trabalhos Cantata no seu ambiente). A implementação flexível e utilização de diferentes opções de criação e as opções I/O, significa que a Cantata funciona perfeitamente com o seu ambiente de desenvolvimentoalvo, e permitelhe testar o código com software, hardware ou processador no loop.

Os testes independentes na plataforma podem ser reutilizados em múltiplos destinos, através do controlo de múltiplas configurações de implementação alvo da Cantata.

Automatização da integração contínua e dos testes de regressão

Assim que os testes são criados e aprovados, continuar a executá-los de modo a não serem introduzidos erros de regressão no código de trabalho anterior, é a razão pela qual se realizam testes de regressão. Os testes de regressão automatizados com a Cantata são suportados pela utilização de ferramentas de integração contínua, tais como a Jenkins®.

Os testes da Cantata são desenvolvidos na GUI, o conjunto de Makefiles são gerados para compilar, associar, implementar, executar e recuperar resultados da plataforma alvo. As Makefiles da Cantata podem ser utilizadas com a sua árvore de código existente e as suas próprias Makefiles (evitando cópias separadas de código na sandbox apenas para testes).

As Makefiles da Cantata também pode executar qualquer combinação de ações ou ações pré e pós criadas permitindo-lhe o controlo completo da inicialização do ambiente e de criação de relatórios. Permitem a integração com outras ferramentas, tais como QA-C (para manter os testes estáticos e dinâmicos sincronizados) e Jenkins® (para integração contínua) durante o desenvolvimento e os testes de regressão.

Diagnóstico e criação de relatórios

A Cantata fornece poderosas visualizações detalhadas Eclipse para diagnósticos de identificação de testes funcionais e resultados integrados da cobertura do código. Mesmo quando existe necessidade de diagnósticos mais detalhados, a execução do teste pode ser gradual sob controlo de um depurador.

São gerados relatórios configuráveis RTF, XML e HTML, juntamente com a texto ASCII e HTML pronto para certificação.

Os diagnósticos e relatórios podem também ser melhorados e agregados a múltiplos utilizadores através do complemento opcional Comunicação para a Equipa da Cantata.

Produção de evidências de certificação

A Cantata é fornecida com orientação específica padrão de segurança de ferramenta abrangente para a criação, execução e gestão de testes para testes de padrões de segurança de software.

O teste funcional pronto para certificação da Cantata e os resultados da cobertura do código são produzidos automaticamente no formato de texto asci, diretamente da plataforma alvo.

Juntamente com o kit adequado de certificação/qualificação de ferramentas e evidências de implementação alvo, fornece todas as evidências necessárias de testes de software obrigatórios para a submissão da certificação do software do dispositivo.

A Estrutura de Testes Integrada da Cantata descrita acima pode ser utilizada para cumprir os requisitos das normas de segurança de software e as melhores práticas do setor. Para mais informações sobre a criação e execução de testes e sobre os requisitos de uma norma específica, consulte o nosso extenso conjunto de recursos.