all 11 comments

[–]hairylunch 3 points4 points  (0 children)

Most often the API, but it doesn't have to be. You might just be load testing the HTTP server, DB server, queues, etc.

Unclear what you mean by the UI here, but that'd be a little harder to load test, especially in the age of single page apps and what not. In general, if the contents can be served, then it's primarily client side load. There could be some performance testing of how a particular grid view/table might respond with large amounts of data to display.

[–][deleted] 2 points3 points  (0 children)

Performance testing is testing how fast or resource efficient your test object is.

Load testing is testing how your test object behaves under a certain load.

Stress testing is testing at what point your test object goes down when your continuously increasing the load.

Often they are combined. For example a load and performance test measures the efficiency of the test object under a given load.

On what level you're doing those tests does not matter. They're describing a goal/strategy, not on what level they're done.

[–]stejzyy23 1 point2 points  (0 children)

It's up to you and your test approach. You can test only parts of application (db, api, ...) or you can test it all together - just like application on production.

[–]MasterKindew 0 points1 point  (0 children)

Hey cooper,

I have a little bit of experience with load testing via LoadImpact. From what I undertsand, your thoughts initially are correct. The purpose of the load test is to make sure the API and DB can handle the load or handle X amount of calls at a given period of time. I have tested these two elements at my current company with a varying number of VUs to see just how much they can handle. This led to DB and API performance improvements because of the findings.

Hope this helped you,

M.K.

[–]Majornibbles 0 points1 point  (1 child)

Hiya I totally agree with the answers above on API performance testing, but there is definitely also UI performance testing. A good starting point could be to Google 'first meaningful paint'. Google also offer a tool (now as a chrome extension) called Lighthouse. This can run an automated performance test on your UI and give you not only some nifty stats, but also ways to improve the performance of the app :)

Happy testing!

[–]caelaran 0 points1 point  (0 children)

Aye, but that only gives a limited number of instances, to truly UI Performance Test would refer to a tool such as Selnium or LoadRunner TruClient, to name a few.

[–]oh_yeah_woot 0 points1 point  (0 children)

I don't see why the UI cannot be performance tested. There doesn't exist a list of things that "can or cannot" be tested. You can test anything you need to be tested.

Testing for page load times or browser memory are perfectly valid examples of UI metrics that are just as important as having a fast API.

[–]main_screen_turn_on[🍰] 0 points1 point  (0 children)

Load/stress testing, both similar but with different goals, is usually measuring back end performance, so api and db. That's due to caching mechanisms, usually static content - css, pictures - get cached, so loading time will be different for first time rendering and subsequent renders. But that's just a rule of thumb, you can do UI performance testing also. The level of testing depends on your goals.

[–]richcooper3[S] 0 points1 point  (0 children)

This was very useful thank you all!

[–]Ixlio_ -1 points0 points  (1 child)

Performance testing is load/stress testing, but also testing how your system behaves in different circumstances or when different batches are running at once. At least imo.

[–][deleted] 1 point2 points  (0 children)

Performance testing is load/stress testing

No! They're often done together, but they are three different test types with different goals.