jeylabs PowerToolz: Addressing the ‘hidden’ low-code development challenge

RESEARCH REPORT // FREE
 

jeylabs’ PowerToolz is an integrated toolset, designed specifically for K2 customers, that provides targeted test automation and administration tools for teams delivering and supporting business critical K2 applications.

Top takeaways

In-depth knowledge of K2

jeylabs was founded in 2009 by Jey Srikantha, a longtime K2 Insider, a member of the K2 Advisory Board and one of a select few K2 Global Technology Partners. The Australian company was deeply involved with K2 for over almost a decade and in the launch of the current major K2 technology release, K2 Five, jeylabs built automation tools specifically to help K2 customers migrate their legacy workflows to the new platform. jeylabs used its in-depth knowledge of the K2 platform and tools, as well as its experience of how K2 technology is applied in real world solutions, to build PowerToolz.

Real-world test automation and administration

PowerToolz is an integrated toolset, designed specifically for K2 customers, that provides targeted test automation and administration tools for teams delivering and supporting business critical K2 applications.

You can use PowerToolz to automate functional testing across all of the major types of artefact in K2 applications – SmartObjects, SmartForms, Views and Workflows. There’s also test planning and scheduling functionality that together enable very solid regression testing capabilities. Beyond its testing functionality, PowerToolz also provides a set of management, administration and troubleshooting features that are obviously informed by the challenges of delivering real-world K2 implementation projects.

Delivering real business agility at scale

Low-code application development platforms can offer beleaguered teams huge benefits in terms of development velocity. However true application delivery agility – and through that, business agility – only comes when teams can optimise the whole delivery process. Few low-code application development platforms really work in ways that make that broader optimisation easy.

jeylabs’ PowerToolz offers a suite of integrated automated testing and administration tools designed specifically for the K2 low-code application development platform, and through that, addresses the broader delivery agility challenge for K2 customers. All the core test automation bases are covered, and offered at a compelling price point. What’s particularly noteworthy is that by using the K2 application repository itself to store and manage testing artefacts alongside K2 application artefacts, PowerToolz delivers a number of significant Quality management benefits that will help teams work quickly and effectively at scale.

Introducing jeylabs

jeylabs, founded in 2009 in Melbourne, Australia, is a software consultancy business that also offers targeted software products to assist clients with K2 low-code application development projects.

The company was founded by Jey Srikantha, a longtime K2 Insider, a member of the K2 Advisory Board, and is now one of a select few of K2’s Global Technology Partners. jeylabs has a presence in Australia, Sri Lanka, USA, Singapore, and soon Thailand as well.

jeylabs was deeply involved with K2 for over almost a decade and in the launch of the current major K2 technology release, K2 Five, jeylabs built automation tools specifically to help K2 customers migrate their legacy workflows to the new platform. As K2 released K2 Five, it announced an end-of-life support schedule for pre-Five versions. jeylabs’ migration tools, as part of its PowerToolz suite, are widely distributed to assist K2 customers get on with K2 Five fast.

This report focuses on jeylabs’ broader toolset, PowerToolz, rather than looking specifically at the narrower PowerToolz workflow converter and application migration tool. PowerToolz is an integrated toolset, designed specifically for K2 customers, that provides targeted application test automation and administration tools.

Addressing the ‘hidden’ low-code development challenge

The low-code application development promise – fulfilled by K2 (and other vendors and products, too) – is about speed and agility. It’s simple: when you write less application code, you make faster progress.

The promise is enabled by tools that do the ‘heavy lifting’ of application development for you. They abstract away all the messy implementation details associated with low-level system interactions, as well as providing high-level specification tools specialised for building functionality that’s commonly required within particular domains. So, when you work with products from K2 and other similar vendors, you use high-level, graphical ‘model-driven’ specification tools that give you powerful shortcuts to developing workflow management functionality, task interaction forms and other application user interface elements, business data management functionality, reports and dashboards, and so on.

The tradeoff that comes when you use low-code application development platforms like these is that the code that does the ‘heavy lifting’ to deliver working application functionality behind the scenes is, by design, hidden from you. Some generate all the low-level code necessary to run applications standalone, and others provide high-level specifications that are interpreted by a proprietary application server at runtime; however all low-code application development platforms are in essence proprietary.

As the promise of low-code application development becomes more widely realised and organisations deliver more applications with speed and agility, so the applications they’re used to create are becoming more sophisticated, numerous and business-critical. It’s natural, in these cases, for organisations to make application quality assurance a high priority. What’s more, broader ‘DevOps’-related application delivery trends like continuous integration/continuous delivery – driven by cheap and flexible cloud infrastructure – depend on the ability to rapidly test and re-test application functionality.

When it comes to low-code application development platforms like the K2 platform, though, the most widely-established general-purpose software QA toolsets and approaches have limited applicability. This is the challenge that PowerToolz aims to address.

Inside PowerToolz

As mentioned above, PowerToolz is an integrated toolset, designed specifically for K2 customers, that provides targeted test automation and administration tools for teams delivering and supporting K2 applications.

Test automation

The core capability of PowerToolz revolves around functional test automation. You can use PowerToolz to automate functional testing across all of the major types of artefact in K2 applications – SmartObjects, SmartForms, Views and Workflows:

  • SmartObjects. It’s straightforward to create simple functional test cases that exercise all the standard K2 SmartObject methods (create, list, update, delete, etc) as well as any additional defined operations. Where SmartObjects act as internal representations of external services, scheduled execution of these test scripts can exercise the relevant service endpoints and notify teams of potential problems. Because process applications often fail because of unexpected changes in back-end systems and interfaces, data formats or load, testing here is particularly important.
  • SmartForms and Views. You can specify test data against form attributes directly, or alternatively you can enter test data into a preview rendering of a SmartForm directly from within the interactive test design environment. All the standard K2 SmartForm controls are supported for automated testing – including calendar, rating, slider, checkbox, radio buttons and so on. Tabbed forms are also supported, where PowerToolz will automatically detect forms with multiple tabs and allow you to test tabs in the required sequence. You can add delays into form testing steps to simulate natural user actions, and it’s easy to specify assertions to test whether behaviours are as expected. Also noteworthy is the ability to automate (using dynamic parameters) form authentication and authorisation during test execution to represent different users and roles.
  • Workflows. A particularly powerful feature here is PowerToolz’s ability to auto-generate test scripts for processes that ensure complete coverage of all the possible paths that can be taken. In addition, you can define assertions on any or all workflow activities; assertions can test process instance information (for example to test that an instance exists), data field values, related SmartObject method results, script variable values, activity duration, process instance context values (for example to check the identity of the instance originator), and more. You can test for expected behaviour of any or all workflow activities, and you can also define that tests should update process instance data as they execute – enabling you to test workflow behaviour under multiple process context conditions. You can also define particular user accounts to be simulated when running tests, so you can easily see how behaviours change with different users taking actions. Email notifications for task assignments, re-assignments and escalations can also be automatically verified. Lastly, it’s also straightforward to run composite end-to-end tests that combine the automation of actions on SmartForms with the corresponding actions on a Workflow.

Behind PowerToolz’ graphical test specification interface, the technology generates XML-based test scripts using a proprietary format called PowerScript. As well as using the high-level specification interfaces, you can also choose to directly create or edit PowerScript by hand, should you need to. PowerScript supports the definition and use of variables, which means that in use, the execution engine can pass values returned from one test as inputs to (or context for) another test.

PowerToolz can generate random test data for your test cases for SmartObject, SmartForm and Workflow testing, and then apply that test data as it runs tests.

Application repository exploration and analysis

One of the underpinning strengths of PowerToolz is the depth to which it exposes the structure and content of K2 application artefact repositories through a simple tree-view browser – and hand-in-hand with that, the ease with which testers and administrators can explore those repositories. Keyword search and filtering across artefact types are easy, and simple forward/back navigation buttons act just as they would in a web browser – making it easy (with additional history) to quickly navigate between repository browser views. Tests defined to exercise particular K2 application artefacts appear in the tree view alongside the artefacts themselves.

Using this tree view, you can also browse the data held within individual instances of artefacts, as well as browsing the structure of the repository. Equally important is the fact you can easily explore artefact dependencies – so, for example, it’s easy to see which SmartForms, Views and Workflows include references to a given SmartObject, meaning it’s easy to see what will be potentially impacted if someone changes the definition of that SmartObject.

Teamwork

Another key underpinning strength of PowerToolz is that all PowerScripts and test configurations – like K2 application artefacts – are stored alongside K2 application specifications in a K2 server repository.

This means that the same team development features available to K2 application developers are also available to PowerToolz users. It’s easy for teams of testers and administrators to use PowerToolz in a coordinated way, sharing and reusing test specifications – and all test specifications are fully versioned. It also means that teams can create test scripts in a Development environment, then deploy selected of those scripts to a Test environment simply and quickly – mimicking the way that K2’s own development and deployment process works, and making it easy to manage test configurations alongside K2 application artefacts.

Test management, planning and scheduling

PowerToolz provides a number of features that help you manage tests (and suites of tests) that you define. There’s a tagging system that you can use to group tests together to create regression tests (for example, to tag a set of tests that together test a particular application or set of application features). There are also features to help you deploy test scripts across different K2 environments. PowerToolz makes it easy to browse and explore historical test case results in a context-sensitive manner, which makes life easy for test designers looking to expand test coverage or enrich regression testing.

PowerToolz’s Test Planner functionality enables you to create coherent test suites, and configure them with specific input data and expected results. You can create multiple test plans from the same set of tests. Plans are composed of multiple test cases, each of which can contain multiple test steps.

You can schedule tests to run on a repeating basis (for example once a day at 3am); you can define any number of schedules, and associate any number of tests with each schedule. Scheduled tests can be auto-executed even when PowerToolz isn’t running.

Administration and troubleshooting

Separately from its core testing functionality, PowerToolz provides a number of other important K2 application administration and troubleshooting features, including:

  • Side-by-side process version and instance comparison. You can view any two versions of the same process side-by-side, and navigate them in sync so it’s easy to see where the differences are. You can also select any two instances of any given workflow process, and view those side-by-side to compare progress – as well as comparing instance data field values and context.
  • Process fixing. If a given process instance needs ‘fixing’ (perhaps because the workflow was originally wrongly configured, or because of a system error or user error) you can quickly locate that instance, change any instance data, and then restart that instance at its current activity.
  • Bulk process instance administration. You can select any number of instances of a given process, and choose to retry failed execution (after fixing them); delete them; stop them; or shift their current states to a given activity.
  • Definition of additional managed process rules. Separately to the underlying K2 applications, you can define additional rules that determine activity escalation, notification and approval behaviours that PowerToolz manages. Although not a solution for making permanent application behaviour changes, this allows for ‘quick fixes’ in production where issues arise, while properly implemented and tested changes are made via your standard development process.
  • Compare runtime environments. Any two K2 runtime environments can be compared side-by-side, highlighting differences between them in terms of artefacts (SmartObjects, SmartForms, Workflows etc) deployed and their configurations.

Packaging and pricing

jeylabs offers PowerToolz through a very simple licensing model: the products are licensed annually for a fixed fee, regardless of the number of tool users or applications being tested or administered.

Currently, PowerToolz Express costs $4,500 annually; the full product (examined in this report) costs $7,500 annually; and a bundle of both costs $10,800 annually. In addition, jeylabs creates custom pricing for consulting companies wanting to use PowerToolz on engagements with multiple clients.

PowerToolz training is offered remotely (as standard via a 2- or 3-day course with 3 hours of training per day), and charged separately.

Recommendation

Low-code application development platforms can offer beleaguered teams huge benefits in terms of development velocity. However true application delivery agility– and through that, business agility – only comes when teams can optimise the whole delivery process. Few low-code application development platforms really work in ways that make that broader optimisation easy.

jeylabs’ PowerToolz offers a suite of integrated automated testing and administration tools designed specifically for the K2 low-code application development platform, and through that, addresses the broader delivery agility challenge for K2 customers. All the core test automation bases are covered, and offered at a compelling price point. What’s particularly noteworthy is that by using the K2 application repository itself to store and manage testing artefacts alongside K2 application artefacts, PowerToolz delivers a number of significant quality management benefits that will help teams work with K2 quickly and effectively at scale.

You can download and evaluate the software from the PowerToolz website at https://powertoolz.com.au.

Download PDF version
RESEARCH REPORT // FREE