You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

3.2 KiB

Test plan

This is the test plan that I follow for every release. I use it to ensure that no regression has been introduced.

Step 1: Preparation - build and flash the firmware

  • Use the latest stable release for ESPHome (to make sure that my code builds and works with that release). In my clone I make sure that I checked out the master branch and that it's up-to-date with the origin.

  • Remove the cached framework package: /bin/rm -fR ~/.platformio/packages/framework-arduinoespressif32

  • Copy example.yaml to a clean build directory, and update the first two sections for the local setup (substitutions, wifi, api, ota).

  • Use esphome example.yaml compile to build the code.

  • Upload this code to the lamp.

Step 2: Perform the tests

  • Touch the power button --> the light must turn on.

  • Touch the power button again --> the light must turn off.

  • Touch the slider at any level --> the light must turn on, using the level at which the slider was touched as the brightness. The front panel illumination is turned on and shows the brightness level.

  • Touch the slider at various points and touch the slider while moving your finger up and down --> the brightness of the light and the brightness level on the front panel must follow the touches.

  • Touch and hold the power button --> the light must go into "night light" mode. This means that it will become very dim. The front panel illumination must be turned off.

  • Touch the slider at a random level --> the light must go back to its normal brightness levels and the front panel illumination must be turned on again.

  • Touch the color button a few times in a row --> the light must loop through the various preset light colors.

  • Touch and hold the color button --> the light must switch to a different preset group. There are two groups: one with rgb colors and one with white light colors, and holding the color button will switch between these two.

  • Touch the color button to select a light color, long touch it to switch to the other preset group, then long touch again to switch the preset group again -> the lamp must remember what light colors were active within the preset groups. If the red preset was selected, you switch to the white light group, select a different white preset and then go back to the rgb presets, then the light must become red again.

  • Go to Home Assistant and check:

    • if you can turn on/off the lamp
    • if you can select colors from the RGB color model
    • if you can select colors from the Color Temperature model
    • if you can set the brightness of the lamp
    • if selecting the lowest possible brightness results in the lamp switching to "night light" mode
    • if a transition from off to on with a long transition time works (e.g. 10s)
    • if a transition from on to off with a long transition time works
    • if a transition from night light to some bright light (e.g. 10s) can be interrupted by a transition back to night light (e.g. after 5 seconds), resulting in a transition back (not an instant drop to night light)

Step 3: Release the new version

Only after performing these tests successfully, the new version can be released. Release steps are documented in releaseplan.md.