2024-12-07 21:07:38 +01:00

54 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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? |