Changelog 22.09.30

This week we shipped support for image visualization, programmatic testcase declaration, ability to capture external files and standard streams as test results, and 7 smaller improvements.

Pejman Ghorbanzade
Pejman Ghorbanzade
Oct 1, 2022
3 Min

Happy Friday, last day of a long week, last day of September, and last day of Q3 for those who celebrate.

Here's a recap of what we shipped this week:

Comparing and visualizing images

Touca server can now ingest and compare any binary data as test result, with first-class support for comparison and visualization of JPEG and PNG images.

We released Python SDK v1.8.0 this week that supports passing binary values to touca.check and other data capturing API functions.

We also published two new examples that showcase how this feature can make investigating regressions in image processing and computer vision applications so much easier.

trytouca/examples/python/04_python_image_processing at main · trytouca/trytouca
Open-source continuous regression testing for engineering teams. Get real-time feedback when you write code that could break your software. - trytouca/examples/python/04_python_image_processing at ...

Capturing external files and standard streams

Python SDK v1.8.0 also shipped with touca.check_file that lets you submit external text or binary files (often generated during the test run) to the Touca Server to be treated as test results.

If you prefer using our CLI, we also added a touca check sub-command that helps you easily capture any file or directory of files and submit them to the Touca server.

We designed touca check as a convenient way to compare the test artifacts of a development version of your software against artifacts of a prior trusted version, without the need to keep the latter artifacts around. This is specially useful for local development or for finding regressions in the CI pipeline environment.

But what if you want to capture and compare the standard output or error of a process? Instead of writing them in files and passing those files as arguments to touca check, we’ve added a special mode in which you could pipe your output stream directly to touca check:

These features unlock so many opportunities. Bear with us as we work on refining and extending these new developer workflows over the next few weeks.

Declaring test cases programmatically

Python SDK v1.8.0 has yet another feature to impress you: the ability to pass test cases as code. Decorator @touca.workflow, now accepts a testcases parameter that could be a list, a generator, or a generator function.

This feature makes it intuitive to infer your test cases based on your test inputs, be they files or datasets in a given directory, or rows of a given column in a CSV file, or a nested array of JSON response of a particular API endpoint, etc.

Here’s how our new image processing example uses the names of image files as test cases:

This feature and other features highlighted above are all backward compatible. We encourage you to upgrade to Python SDK v1.8.0.

Other fixes and improvements

  • Server: Improve comparison of arrays of objects
  • Server: Improve logic for version auto-increment
  • Server: Install script should run Docker containers as current user
  • Python SDK: Add new computer vision example
  • Python SDK: Fix shadow local variable name in v1.5.8
  • Python SDK: Remove duplicate examples in open-source repository
  • Business: Update pricing page

Thanks for reading! “Are you not entertained”?

Other Articles

This week, we were in Des Moines, Iowa to celebrate the completion of our Techstars accelerator program, and to take the stage to showcase Touca at Techstars Demo Day.

Oct 15, 2022

This week, we added support for submitting sample test results to any empty team, enhanced support for comparing binary files, and shipped 5 smaller improvements.

Oct 8, 2022

This week, we shipped a much improved JavaScript SDK, a better getting started guide, and a new stable version of Touca Server.

Sep 24, 2022

This week, we were in Des Moines, Iowa to attend in-person Techstars events and to do some team bonding. We also shipped a new CLI sub-command to inspect and manage local binary test results.

Sep 17, 2022

Build Better Software, Faster.

Spend less time finding and fixing regressions.