Today I Learned - Rocky Kev

TIL the definition of various testing types - part 1

POSTED ON:

TAGS:

This is probably a part 1 of many, since there's so many different test types out there. Since I always forget, it becomes a constant TIL reminder.

Smoke Test:

What is it
Also called sanity test, or build acceptance test.
It's usually a quick test to see if your code didn't break anything.

Via Microsoft docs:

The term smoke testing originated in the hardware industry. The term derived from this practice: After a piece of hardware or a hardware component was changed or repaired, the equipment was simply powered up. If there was no smoke, the component passed the test.

Example
Using a e-commerce example -- a quick smoke test would be if you added a feature, does it break checkout?

So a tester can simply run a quick order to see if there's any conflicts.
If it breaks, then something else down the line may have happened.

How to actually do it
Depends!

The basic level is using a pipeline or automation building tool. If it pops out an error, then something's wrong.

End-to-end test:

What is it

Testing the application or software from beginning to end. Hence, end-to-end.

(via Tutorialspoint)
The purpose of performing end-to-end testing is to identify system dependencies and to ensure that the data integrity is maintained between various system components and systems.

The entire application is tested for critical functionalities such as communicating with the other systems, interfaces, database, network, and other applications.

Example
Using a e-commerce example -- a end-to-end test would be to simulate the customer adding a item into their shopping cart, and running it all the way to the checkout complete stage.

Depending on your needs, you can even earlier starts and later end points. For example, the testing can start where the user clicks on the ad, lands on the store page, logs in. And it ends with the user receiving the receipt via email.

How to do it

Manually! Usually a user does it all.
For web development, you can automate it using Selenium, or Cypress

UI test:

What is it

User interface or UI testing, also known as GUI testing, is where you test the visual elements of a application to ensure they work and was what the stakeholder wanted, as well as it meets specific needs (like accessibility, or conversion)

It can involve testing all visual indicators and graphical icons, including menus, radio buttons, text boxes, checkboxes, toolbars, colors, fonts, and more.

(yoinked from perfecto.io)

Example

Using a e-commerce example -- The Story is asking for a way to switch between t-shirt colors.

One proposal was to use a selector that simply changes the color of the shirt's graphic with CSS.

After setting up that behavior, through UI Testing, someone may notice that the CSS colors are actually inaccurate to how the shirt actually looks, and suggests the radio button switches t-shirt graphics itself. So Red shirt is a photo of a red shirt.

How to do it

Typically manual. A human goes through it all.

REFERENCES:
https://en.wikipedia.org/wiki/Smoke_testing_(software)
https://www.browserstack.com/guide/end-to-end-testing
https://www.perfecto.io/blog/ui-testing-comprehensive-guide


Related TILs

Tagged:

TIL Scoping with Cypress

So you wanted to find a specific element called `heading`. But you have a BUNCH of elements called `heading`. By using `within()` helper, you can force it to only look inside `main` elements.

TIL MSW for mocking

MSW is a API mocking tool. Mock by intercepting requests on the network level. Seamlessly reuse the same mock definition for testing, development, and debugging.

TIL writing a clean function

Write an assert at the beginning of the function. Then, write down all the conditions that must be met.