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

3.9 KiB
Raw Blame History

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?