Testing Types and Methodologies Flashcards
Explain Regression Testing
Regression testing is run whenever new code is introduced into the existing codebase, to make sure new code did not break the existing logic
“Did this code break any of the previous or existing logic/functionality?
Explain Sanity Testing
- Subset of regression testing
- Sanity testing is performed after receiving a new build to ensure critical functionalities of the app are working correctly and to make sure that the new features were implemented properly
- Ran by entire QA team
Explain Smoke Testing
- Subset of regression testing
- Whenever we first get a build, we run a basic functionality test to make sure the most critical functions work and see if we can do further testing
- Usually done by QA team, but anyone else can jump in
Explain Unit Testing
- Tests individual components in isolation from the rest of the application
- Usually done by devs during the development process to make sure their code works as intended
Explain Integration Testing
- Testing of multiple modules or units integrated together
- Done by QA engineers and devs if automated
- Usually done before release
- sometimes when dev is done with multiple features, he’ll try to test them together
Explain End-to-End testing
- Verifies the entire application flow, from start to finish
- Simulates real-world user scenarios and interactions
- Run by pretty much everyone
- Usually done right before release, pretty much simultaneously with regression
Explain System Testing
- Combines both unit and integration testing
- Testing the entire system all together and verify all functionalities work
- usually done by QA team, sometimes devs and PMs
- Usually run before release, right when we run regression we’ll also run a system test
What is performance testing
Assesses system response times and resource utilization under different load conditions
What is Load testing
- evaluating system performance under expected load conditions, to see if it performs within acceptable response times
- We are trying to find out the point where performance will start to degrade
- ex: how many users need to login to slow down the page loading
What is stress testing
Evaluates system performance while pushing it to its limits or breaking points, to identify failure points and weaknesses
Who does the performance, load, and stress tests?
Devs, Devops, QA automation engineers, SDETS
When are the performance, load, and stress tests done?
- Before every release
- It would be part of the regression testing
What is black box testing?
- doesn’t involve any knowledge of the internal application
- Testing from user perspective, as user will use it
What is grey box testing?
- Testing with some access to internal parts
- trying to prevent future integration bugs
- one example is API testing
What is white box testing?
- Testing from dev’s perspective, with access and knowledge of the internal code of the application
- Usually done by developers
- Trying to prevent all future bugs