Junior
What stages and types of testing exist in the application build process?
sobes.tech AI
Answer from AI
- Unit Testing: Testing the smallest independent parts of code (functions, methods, classes). Checks their correctness in isolation.
- Integration Testing: Testing the interaction of multiple modules or system components. Checks how they work together.
- Functional Testing: Testing the application's functional requirements. Checks whether the application performs the declared functions.
- Acceptance Testing: Testing for compliance with end-users or customer's expectations. Checks whether the application meets business requirements.
- System Testing: Testing the integrated system as a whole. Checks full compliance with specifications.
- Performance Testing: Testing system performance, scalability, and stability under various loads. Includes:
- Load Testing (testing under expected load)
- Stress Testing (testing under load exceeding expectations)
- Soak/Endurance Testing (testing stability under prolonged load)
- Spike Testing (testing reaction to sudden load increase)
- Security Testing: Testing the system for vulnerabilities and data protection. Includes:
- Penetration Testing (attack simulation)
- Vulnerability Scanning (automatic vulnerability detection)
- Security Auditing (code and configuration analysis)
- Usability Testing: Testing the application's ease of use for end-users.
- Regression Testing: Re-testing after making changes to code or configuration to ensure new changes haven't broken existing functionality.
Types of testing during the build process (often automated):
- Static Analysis: Code analysis without execution to find potential errors, coding standard violations, and vulnerabilities.
- Dependency Checking: Checking versions and licenses of used libraries and dependencies.
- Code Coverage Analysis: Determining the percentage of code covered by automated tests.
- Container Scans: Scanning container images for vulnerabilities and misconfigurations.
- Integration Tests: Often run as part of CI/CD pipeline after successful Unit Tests.
- End-to-End Tests: Testing the full user flow through the system. They can be part of automated build tests but are often run less frequently due to execution time and maintenance complexity.