Types Of Testing Flashcards
Manual testing
Doing all the testing yourself (clicking around, interacting, and comparing expected results to reality
Automated testing
Develop a program or script to perform a lot of the manual work. The script performs what you tell it to, gets results, and compares those results with expectations
When to test manually
At the beginning, to make sure you catch as many things as possible and test as a human would
Advantages of Manual Testing
Easy to do
Ideal for exploratory and usability testing
Works well for small projects with fast changing requirements
Disadvantages of Manual testing
Time consuming and repetitive
Prone to human error
Not scalable
Advantages of Automated Testing
Fast and efficient for repetitive tasks
Reduces human error and improves accuracy
Scalable for large projects
Disadvantages of Automated testing
High upfront cost for scripting/set up
Limited to programmed tasks, not suited for exploratory testing
Requires maintenance as application evolves
Functional Testing
Checking the functionality of a product
Examples of Functional Testing
Test the logic of trip cost calculation
How does a map’s scale change
Data display (how is information displayed to a user)
Non functional testing
Testing for things that don’t have to do with a single user
Types of non functional requirements/tests
Security testing
Performance testing
Usability testing
Localization testing
Regression Testing
Testing old features that were already released to make sure they still work
Smoke Testing
Surface level testing
Checking only the most important features. Done first, and quickly, to allow time for changes
Makes sure the product is good enough to release
Extended Testing
Uses all the requirements from planning to test
Done for particular features that are more extensive/important
Eg: checking price calculation logic
Exhaustive Testing
Test all parts of the service in as much detail as possible
Component Testing
Checking individual parts of an application without consideration the whole thing and interactions between parts
Integration Testing
Test how components of an application without consideration work together
Test that a route is calculated when two addresses are provided and the calculate button is pressed
System Testing
Testing the whole system to make sure that all parts work well together
Usually means testing a whole workflow from start to finish
Scripted Software Testing
Checklist and testing are prepared in advance
Involves test analysis and design
Common when you have enough time and requirements are clear
Exploratory testing
Product is analyzed and checked at the same time
Best when tester doesn’t have enough time and there are many gray areas in requirements
Exploratory testing may not be ideal because
Big systems require a lot of time, and key areas may be missed
Scripted testing acts as a preventative measure by identifying potential problem areas before development begins
Black box testing
QA engineer has no access to the code
White-box testing
QA tester can see alp the code
Grey box testing
Somewhere between black and white