Functional testing types include:
- Testing functionality according to requirements
- Testing web services interfaces and compliance with standards
- Conducting testing for software version changes and data migration
Non-functional testing types include:
- Performance testing to ensure systems meet specified performance levels
- Load testing to identify bottlenecks and determine behavior under heavy loads
- Stress testing to detect errors under excessive operational capacity
- Compatibility testing to ensure applications work in different environments
- Security testing to adopt security procedures and probe for vulnerabilities
- Usability testing to evaluate from an end-user perspective