# Smoke Testing We generally consider smoke testing using this definition [from Wikipedia](): > **Smoke Testing** is a subset of test cases that cover the most important functionality of a component or system, used to aid assessment of whether the main functions of the software appear to work correctly. It is a set of tests run on each new build of a product to verify that the build is testable before the build is released into the hands of the test team When testing builds the following things should be tested to ensure critical parts of the Blocks plugin are still functional. ## Setup To make future testing more efficient, we recommend setting up some Blocks in advance so you can repeat tests on them whenever smoke testing. ### 1. Create a page with most blocks
You can copy and paste (Ctrl+Shift+V) the following code into a new page to add all the blocks (click): Note: some blocks might fail to render because they are based on products having a specific id or depend on the site URL. You will need to remove and re-insert them. ```html
```
### 2. Create a page with the Products block, and filter blocks, setup to test that functionality in isolation. Using the columns block here too is a good idea to keep things organized
You can copy and paste (Ctrl+Shift+V) the following code into a new page to add all the blocks (click): ```html

Filter by price

Filter by attribute

Filter by stock status

Filter by rating

Active filters

```
### 3. Add the Cart and Checkout block to the relevant WooCommerce pages ## Editor Tests - [ ] Ensure all WooCommerce Blocks are shown in the Block Inserter. - [ ] Check behaviour of Blocks added to a previous saved page from earlier plugin version - [ ] Do they look correct? - [ ] Ensure there are no block invalidation errors for blocks added to a page in a prior version. - [ ] Can you change options/attributes in the Block inspector? - [ ] Are changes persisted on save? - [ ] Is the Browser error console free from errors/notices/warnings? - [ ] Test inserting various blocks into the editor - [ ] This can be verified by copying and pasting the code examples above. However, please do also test manually inserting the next three blocks as representative examples for related blocks. - [ ] All Products Blocks (this is powered by the Store API) - [ ] Featured Product (this is powered by the REST API) - [ ] On Sale Products (this is SSR) - [ ] Is the Browser error console free from errors/notices/warnings after inserting them? - [ ] Do they persist and continue to display correctly after save/refresh? ## Frontend Tests - [ ] Do the blocks on your pre-made pages render correctly? - [ ] Are the blocks with user facing interactions working as expected without errors in the browser console or user facing errors (such as All Products block and filter blocks). - [ ] Do critical flows for the Cart and Checkout blocks work? - [ ] Address and shipping calculations - [ ] Payment with core payment methods - [ ] Payment with Stripe (extension) and saved payment methods - [ ] Payment with Express payment methods (Chrome Pay or Apple Pay) - [ ] Make sure you test with logged in user and in browser incognito mode.