54 lines
3.9 KiB
Markdown
Raw Normal View History

2024-12-07 21:07:38 +01:00
---
type: practical
---
## Pyramid
![[Testing Pyramid.png]]
## Negative results
- **Error**: Mistake made by a human
- **Fault**: A manifestation of an error in software
- **Bug and Defect** are basically the same as Fault
- **Failure**: Inability of a system or component to perform its required function
## Types of tests
### Functional testing
| Fancy Words | Simpler Explanation | Stupid Dumb Word |
| ------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| Unit Testing | Testing individual components or pieces of code in isolation. | Piece by piece testing |
| Integration Testing | Testing the interaction between integrated modules or components to ensure they work together as expected. | Mix and match testing |
| System Testing | Testing the entire system as a whole to verify it meets specified requirements. | Whole thing testing |
| Acceptance Testing | Testing to determine whether the system meets the business needs and requirements, often performed by the end-users. | Ready or not |
| Regression Testing | Re-running tests to ensure that new code changes havent broken existing functionality. | Did we break it again? |
| Sanity Testing | A quick round of testing to check if a specific function or bug fix works as intended. | Quick check testing |
| Smoke Testing | A basic check to ensure the softwares core functionality works and it's stable enough for more in-depth testing. | Is it on fire? |
| Usability Testing | Testing how user-friendly and intuitive the software is for the end-user. | Easy of use testing |
### Non-functional testing
| Fancy Words | Simpler Explanation | Stupid Dumb Word |
| --------------------- | ----------------------------------------------------------------------------------------- | -------------------------- |
| Performance Testing | Testing how well the software performs under different conditions. | How fast does it run? |
| Load Testing | Testing how the software behaves under expected user load. | How much can it carry? |
| Stress Testing | Testing the limits of the software by pushing it beyond normal operational capacity. | When will it break? |
| Volume Testing | Testing the software with a large amount of data to see if it handles it well. | How much data can it take? |
| Scalability Testing | Testing how well the software scales when the user load or data volume increases. | Can it grow? |
| Recovery Testing | Testing the software's ability to recover after a failure or crash. | Can it unfuck itself? |
| Compatibility Testing | Testing how well the software works across different environments, platforms, or devices. | Does it work with others? |
| Security Testing | Testing how well the software protects against unauthorized access and vulnerabilities. | Can it be broken into? |
## Black box vs White box
| Black box | White box |
| --------------------------------- | ---------------------- |
| Done by tester | Done by devs |
| Internal code unknown | Knowledge is required |
| Functional testing | Structure testing |
| No programming skills necessary | bruh |
| Do it break, do it work, is nice? | Do it cover all cases? |