Quality Assurance

Automated tests

Our testing process involves planning, designing, implementing, executing, and automating functional tests.

The test suite, comprising more than 32.000 automated tests, are executed prior to each release. The test suite is also extended to accommodate any new functional tests and test scenarios that have been introduced for that release. We run about 8000 tests for each supported operating system.

The tests are executed on all the supported operating systems and environment. Including Windows Server, Linux, AIX and macOS.

The release process and publishing of a new release is a fully automated process that depends on the result of our automated tests Releases will need to pass all automated tests. Even if there is one failed test, this will block the release until all tests have passed.

Soak, Systems Integration and Unit Integration Tests

Manual smoke test scenarios include checking that the release can be installed, upgraded over an existing installation and can perform basic file transfer operations.

Soak testing coverage is currently low and it only slightly increases the test coverage already in place.

We do not cover benchmark and performance testing. Due to the number of unique environments in which the product is used, it is not possible to design and implement all possible production scenarios.

We recommend that system integration testing / black box testing and unit integration testing be performed.

This is to evaluate the product and ensure that it meets the actual systems, environments, processes and interactions that are specific to your requirements.

Interoperability testing

As part of our automated process we perform end to end interoperability testing using 3rd party client and server implementation across all the supported protocols.

Below is a non-exhaustive list of products included in our automated testing. The list include both commercial and open source solutions:

This list is not an endorsement of any product or solution.

The exact version of each 3rd party software is changed over time. There is no guarantee of interoperability with older or future version of 3rd party implementations.

Testing your configuration

You may want to use different deployment environments in order to test not only the configuration but also the entire system supporting the file transfer operations.

Our customers can deploy SFTPPlus on "development", "testing" and "staging" environments as part of the process of supporting a final production environment.

The following are examples of different environments:

Local / Development

Each team member can install SFTPPlus on her/his machine for testing. The sysadmin may have some servers on which they test with SFTPPlus and consider various configuration variants. In this environment, you may run partial transfers.

Testing / Integration

This environment could include a server where a specific configuration is applied and on which end to end transfers can be executed. They target the functional requirements. In this stage, security / monitoring / performance testing are not implemented and firewall rules might be relaxed. Syadmins, developers and QA team members have access to this type of environment for testing.

Staging / Pre-Production

This stage is a very similar environment to the production environment. The same hardware is used to help with performance testing. The same firewall rules are also used to test security. Only the sysadmin might have access to this environment in order to mirror production access restrictions.

Please see the Installation Validation and Troubleshooting page for additional notes to test your SFTPPlus configuration and installation.

We allow the use of existing SFTPPlus licenses for the use of setting up testing environment/s prior to the production stage.

For any further questions about how testing is done or for a trial, please do not hesitate to get in touch with us. For further questions about licensing during the testing stages, please contact our Sales team.