Testing
Summary
Where possible there are automated unit tests. These are built into the build
pipeline and can be run independently with npm run test.
However, this app needs to run in all combinations of the following:
Architectures:
Operating systems:
- Debian 10 Buster
- Debian 11 Bullseye
- Debian 12 Bookworm
- Arch
Node versions
Browsers
Mode
- Container
- Native
- Installing DEB over legacy
- Upgrading DEB
Where possible, the app has been designed to minimise the differences with all
permuations.
- Docker builds a deb file and installs that
- Docker uses Debian 12 and Node 18
- There are no known architecture differences
Nonetheless there is a lot to cover.
Test plan
Depending on the scope of change any of the following may be required. For a
major release, all tests should be run. For a minor one, the scope can be
reduced.
Application testing
- Find scanners
- Test config overrides
- Preview
- Filters
- Any changed pipelines
- Scan
- Settings
- About and system info
Docker
- Build the image
- Run the container
- Verify find scanners and system info
DEB
- Verify install, remove
- Verify install, update
- Verify purge
- Run on Buster, Bullseye, Bookworm, RaspberryPi OS