【My Study Note】Types of testing
Types of testing
There are several ways that you can test your software projects.
3 common types of testing
e2e testing

Key Points
- You test the entire finished software product from the perspective of the end user
- The person testing the app doesn’t have to be a developer
- It’s the slowest and takes the most time to set up and run
A real-life example of e2e testing would be a laptop manufacturer letting his employees open some of the assembly line laptops, turn them on and use them just like an average user would do, to ensure that the entire product behaves as it should.
More specifically, web development e2e testing tries to imitate how a user might interact with your app. This means that in e2e testing you need to open your web application in a browser and then test it by interacting with the page the same way a user might interact with it. For example, clicking on the log-in button or going through the process of adding an item to the shopping cart.
Few examples of e2e testing frameworks
- WebdriverJS
- Protractor
- Cyprus
Integration testing
Integration testing is testing how parts of your system interact with other parts of your system. In other words, it’s testing how separate parts of your apps work together. Integration tests are faster and cheaper than e2e tests but not as fast or as cheap as unit testing.
2 integration testing software
- React testing library
- Enzyme
Unit testing
Unit testing is the process of testing the smallest units of your source code in isolation.
A unit is the smallest piece of code that you can test separately from the rest of the app. Practically the smallest unit of testable code in Js is usually a function or a method.
Unit tests are self-contained. They’re meant to test code in isolation, preferably separate from the rest of your app. This makes unit tests fast to run and easy to write.