As soon as the project gets bigger the more testing should be performed prior to deployment.
In most cases it is important to execute all tests needed. Keeping all testcases in a single service becomes essential.
All testcases are usually logically grouped in a tree - testsuites. In all known test management services initial testsuite tree is immutable. This lack of flexibility may cause team performance issues, analysis and planning hardship.
In terms of QuAck testsuite is just a pre-set of Filters and Groupings. This means that by loading a testsuite you are loading existing testcases, filtering them and building a testsuite tree in runtime. This gives the flexibility to re-build testsuite trees as many times as you wish.
Users can execute testcases in Launch in parallel without being afraid to interfere with each other. Thanks to the API test Launches could be marked as passed or failed from outside - from external running systems.
Launches could be analysed later on to determine bottlenecks, new testing strategies and measure effectiveness.
Nearly any business has at least several separated projects with their own teams and life cycles. QuAck offers this kind of division. All testcases, testlaunches, testsuites, e.t.c. - they all belong to a single project.
All external integrations are implemented in a plugguble manner. Which means that you can use a variety of plugins suitable of even customized for your business.
Pluggable tracker integration implementation allows to choose the Issue Tracking system you'd like to integrate with.
It could be Jira, Bugzilla or Github. It could be your own internal tracker - you just need to implement corresponding interfaces and configure the service to use your implementation.
Authentication system is abstract. You can use existing authentication providers or implement your own.
E.g. there could be a property or database-based authentication providers, login-though-jira providers, ldap-provider, login-from-your-own-system-providers. You just need to configure the service to use appropriate provider or implement a new one if needed.
External Test Executions
Executors abstraction allows to integrate with external executing systems. Selected testcases could be requested to be executed outside. Testlaunch object will (or will not) be created so that external systems will be able to update it after execution.
Access to the project is granted to groups of users. Authentication provider returns the list of all groups and groups of specific users. It is up to an Authentication provider developer what will be used as groups.
Administrator's credentials are set up in a config file. Administrator can create projects and grant permissions to them.