Skyve Confidence provides extended testing functionality to Skyve applications. By leveraging the metadata describing the domain, it can build on the generated unit test capabilities of Skyve Enterprise and add semi-automated user interface test generation. Skyve Confidence also adds the ability to include manual testing in your test results, as well as obfuscate development and test environments for privacy and security.
Declarative UI testing / SAIL
So, we’re pretty proud of this feature. Writing user interface tests can be difficult, finding time during development is even more difficult, and maintaining UI tests as part of an ongoing regression test suite is expensive.
The Skyve Abstract Interaction Language (SAIL) is a way to define tests in an abstract manner detached from specific user interface elements which allows non-technical users to assist in writing test specifications. The SAIL test is then processed and generates the specific script to test the user interface.
Using Selenium, Skyve can generate basic tests based on the domain metadata, and these tests are then extended by the business to test all functional areas of the system.
Regression test generation
Because Skyve knows which attributes constitute the domain and understands the interactions between models, as your application evolves during development, it can update the UI tests automatically to keep them in sync with changes.
This provides the ability to have a powerful regression test suite which can continue to test functional areas of the system as the system evolves and massively reduce the maintenance test cost and risk over the life of the project.
Human test plugin
Skyve test sets can be augmented with manual test scripts or additional automated tests as required, allowing for 100% regression test coverage where required.
To increase the privacy and security of data, sensitive fields can be specified in the metadata which will automatically be obfuscated when restored to non-production environments. This allows copies of the system to be given to developers or to outside testers safely without exposing sensitive information such as email addresses or customer details.