O desenvolvimento de software trás uma série de desafios e entendê-los é a chave para o sucesso para atender bem os seus clientes.
O desenvolvimento de software é um processo que começa na idéia, imaginada pela criatividade, necessidade ou oportunidade. Deste ponto em diante, sua idéia irá ser transformada várias vezes, sendo adicionada a cada etapa, a interpretação de cada interlocutor.

Garantir que um software tem a qualidade esperada consiste em entender o processo de desenvolvimento, seja ele em cascata ou ágil, avaliar as ferramentas, pessoas e buscar melhorar cada aspecto.
Controlar a qualidade de um software é como procurar agulhas no palheiro, a engenharia de software vem desenvolvendo técnicas, ferramentas, métodos para encontrar os erros de software (agulhas), mas ainda assim, assistimos erros memoráveis em apresentações de grandes produtos.
O que nós fazemos diferente?
A SysMap busca continuamente melhorar o processo de garantia e controle da qualidade de software, aplicando essas melhorias na suas fábricas de software e obtendo o feedback dos resultados.
A combinação das corretas ferramentas, pessoas e métodos têm assegurado um bom resultado para os nossos clientes.
Pessoal qualificado
Nossa visão é que as pessoas envolvidas no processo de Controle de qualidade necessitam ser qualificadas e constantemente atualizadas com novas tecnologias e métodos, a SysMap investe na sua área de pesquisa para aprimoramento dos testes de software e na comunidade de código aberto (Open Source).
Análise estática do código
Sempre que disponível, a área de qualidade da SysMap avalia o código-fonte estaticamente, aplicando um conjunto de regras selecionada pelos nossos arquitetos de software e apresentadas para o corpo técnico dos nossos cliente. Monitoramos o código-fonte, em base de tempo constante, para medir as melhorias e indicar potenciais riscos à aplicação.

Gestão dos testes
Todo o processo, desde a abertura do projeto de testes, desenvolvimento do plano de testes, elaboração dos casos de testes, execução e obtenção das evidências e registro de defeitos, são gerenciadas de forma integrada pela nossa ferramenta de gestão de teste o TestLink.
Todos os testes estão integrados numa única visão, incluindo os testes automatizados, através do Plugin desenvolvido para integrar o Hudson e o TestLink, utilizando Tap4J como protocolo de informações de testes.
Desta forma, o planejamento e execução dos testes automatizados e manuais convivem lado a lado, fornecendo uma visão unificada de todo o processo e progresso.
Todas as informações dos testes estão disponíveis em tempo real para os gerentes de projeto, oferecendo transparência e informação precisa para tomada de decisão e planos de mitigação de riscos.
Planos de testes e casos de testes
Os planos de testes são elaborados por profissionais graduados, após um profundo entendimento dos sistemas e tecnologias envolvidas e envolvem, além do tradicional teste integrado, a avaliação das dependências e a utilização ou construção de ferramentas que simplifiquem o processo de teste e melhore nossa produtividade.
Sistemas desenvolvidos utilizando a arquitetura SOA trazem para a empresa maior flexibilidade, agilidade e economia, porém oferecem um novo desafio para a qualidade do software, que passa a ser distribuído.
Uma arquitetura distribuída, cada elemento com suas equipes, tempo de disponibilidade e resposta, roadmap de manutenção e evolução e defeitos. Tudo isso combinado aumenta muito a complexidade dos testes.
Esse desafio nos levou a desenvolver ferramentas que isolassem as camadas de software e nos propiciasse testá-las independentemente.
Cobertura dos testes
Durante a elaboração do plano de testes, aplicamos técnicas para ampliar a cobertura dos testes (código e requisitos) e ao mesmo tempo, reduzir o número de testes, entre elas, destacamos o PairWise, que nos fornece uma visão da análise combinatório e reduz drasticamente a quantidade de casos de testes a serem executados, mantendo uma excelente cobertura.
Automação de testes
Totalmente integrada no nosso processo de testes, a automação de testes é realizada utilizando as principais ferramentas como o Selenium, TestNG, SoapUI e JUnit.
Desde a escolha dos casos de testes a serem automatizados até as evidências geradas, todo o processo é automatizado e integrado com controle de versão.
