Traditional Functional Testing :
- Traditionally, not in Agile testing, functional testing is implemented by a team of testers, independent of the developers.
- However Functional tests can be automated.
Agile Testing :
- In the Scrum framework, there is no assigned Role (e.g. QA) who conducts the Test Cases, Developers are responsible for writing and executing the Test Cases.
Automated Tests benefits :
- Running automated tests in automated builds guarantees that every build is tested for bugs.
- If any bug in the code arises, it is better to detect and fix it as soon as it appears.
- Using automated tests in automated builds makes it possible to discover bugs in the shortest period when it is easier to find the reason of the bug and fix it.
- This allows software developers to find and correct more errors before the application is released.
Automated Tests practice :
- The following tests can be automated :
- Unit Test,
- Integration Test,
- Component Test,
- System Test,
- Functional Acceptance Test,
- User Acceptance Test
- Non-functional Acceptance Test
- Capacity Test,
- Security Test,
- Performance Test,
- etc
- However, the following tests cannot be automated :
- Exploratory Test,
- Usability Test,
- Showcase Test.
Scrum Testing and practices
- Acceptance Test Driven Development (ATDD)
- Behavior Driven Development (BDD)
- Black-box Testing (or Behavioral Testing)
- Domain Specific Language (DSL)
- Dynamic Analysis and Glass-Box Testing
- Exploratory Testing
- Functional Testing
- Happy Pass testing (Sunny Day Testing)
- Integration Testing
- Mocks, fakes, and stubs
- Performance Testing
- Regression Testing
- Sad Pass Testing (Unhappy Pass, Rainy Day)
- Sandbox Testing
- Smoke Testing
- Spike Testing
- Static Analysis
- Test Double
- Test Driven Development (TDD)
- Test First Development (TFD)
- User Acceptance Testing (UAT)
- Unit Testing (UT)
- White-Box Testing
More informations for the Scrum PSD certification here.