The Lomnido software delivery process follows an “Rolling Release” concept and has a continuous deployment pipeline that enables frequent and rapid deployment.
The QA process is highly automated.
As soon as a developer has committed new code, the build server starts building the artifacts and runs the Unit Tests. If no error occurs, the newly created version is provided to a “Test Runner” and three test environments.
Automated Test Phase
The automated tests consist of three different types:
The GUI tests are based on Selenium and executed with a Google Chrome and a Firefox browser. Since the Lomnido user interface (UI) is mainly intended for administrators, we focus on this two browsers.
There are currently 121 GUI test cases available. All tests together cover the entire graphical user interface. Each test case is recorded and enables errors to be found very quickly.
Here is an example of an recorded GUI test case:
API & Workflow Tests
The main component of Lomnido is the workflow engine. With many workflow tests, we ensure that all types of connectors and workflow options are tested and that new functions are fully backwards compatible.
As soon as a new feature is implemented, the developer is obliged to also implement new test cases.
There are currently around 700 API and workflow test cases available. Since everything is configured with a REST API, these tests also ensure the correctness of the full API.
SIAM Core Tests
The SIAM Core tests are special workflow test cases for the SIAM Core.
At the moment we have 203 SIAM Core test cases in place.
When we recognize special or complex patterns in customer projects, we also build also a test case to ensure the compatibility of future version.
Manuel Test Phase
The manual test phase is an explorative testing of existing features and functions, and structured testing of new features and functions.
If there are no findings, the version is marked as “Latest Stable” and then this version can be used for any platform.
Before the QA process begins, we have already defined rules for the development process to ensure high quality of the software. Here are some rules:
- Code reviews
- Pair programming for major changes
- Test driven implementation – implement test cases parallel with the implementation
- Make sure that developers have an deep understanding of “secure coding”
- We follow strongly the OWASP Security Knowlege Framework https://owasp.org/www-project-security-knowledge-framework/
Long running tests
Beside of testing all builds and running all testcases once, we have also a longrunning testcase in place to check for memory leaks or any other “unusual” behaviour like too many open files or database connections. Therefore we manually take a build from time to time and throw all testcases for at least one week onto this test environment. Then we analyze the performance graphs and we see hopefully nothing unusual.
Update Lomnido Platform
The platform owner can decide how to update his platform. Therefore we have settings in the Setup-System menu:
This is a setting for automated updates.
The setting “Day” can also be “DISABLED” – then no automated updates are executed.
At this point in time, if “Day” and “Time” are selected, the Lomnido platform checks whether all workflows are idle and whether a newer version is available. If so, the update will be executed and an email will be sent to “Email Receivers”. If the workflows are not idle, the platforms waits 5 minutes for 3 times and try to update. If all of these update attempts fail, the update is postponed to the next week.
If a newer version is available, you can upgrade to this newer version manually at any time. You will also see release notes for the newer version.
There is also a version history to see when the platform was updated.