Testes funcionais
Os testes funcionais de qualidade de software são os mais comuns (nenhum software deve ser implantado sem pelo menos verificar esse aspecto) e são desenvolvidos ao longo de todo o ciclo de vida.
Dependendo do momento e dos objetivos de cada nível de teste, bem como das características do software, várias abordagens podem ser assumidas:
- Testes de qualidade de software unitários: focados em verificar a funcionalidade de cada método ou função. Nos métodos ágeis e, em geral, como boas práticas, a automação é cada vez mais comum
- Testes de qualidade de software de integração: focados em verificar a resposta apropriada para cada interface. Geralmente, requer conhecimento da arquitetura dos sistemas (física ou lógica).
- Testes de qualidade de software de sistema ou de certificação: focados em verificar, a partir de uma perspectiva especializada, a resposta correta do aplicativo aos usuários. Esses testes geralmente são o prelúdio para os testes de qualidade de software de aceitação, que exigem um grau adequado de perfeição e o uso de técnicas ajustadas ao tipo de entrega (tecnologia, criticidade...). A automação também é frequente neste nível de teste.
- Testes de qualidade de software de aceitação: focados em validar, por parte dos usuários, a operação planejada. Embora possam cobrir seções funcionais e não funcionais, os usuários tendem a se concentrar, principalmente, no tipo de teste funcional
- Testes de qualidade de software exploratório x testes formais: os testes exploratórios são aplicados como complemento aos testes formais ou em circunstâncias específicas, como documentação insuficiente, tempo curto, manutenção mínima esperada...
Um aspecto importante a se considerar é o conhecimento da área de negócios - terminologia, tipo operacional... - necessário para obter qualidade e cobertura adequadas, mesmo nos casos em que a documentação é insuficiente ou sua qualidade é limitada. As equipes da MTP desfrutam de um alto grau de experiência em testes funcionais de garantia da qualidade de software em vários setores - Bancos, Telecomunicações, Serviços Públicos, Seguros, Indústria, Administração Pública... - e têm um alto domínio das várias técnicas a serem aplicadas em seus projetos.