Feature Release - Ponicode Flash Test

Hello Ponicode Community,

 

We are delighted to share the release of our new feature: Ponicode Flash Test! A new feature of our VS Code extension dedicated to getting software engineers closer to one click unit test file generation through the power of AI and automation.

🎉🌈🦄

Why did we build this?

Today, the Ponicode VS Code extension assists you in your unit testing efforts with a table driven interface, which, thanks to the power of AI, can help you build a unit test file, mixing Ponicode input suggestions and your test cases, and run them to generate assertions. Our extension already supported an accelerated production of robust unit tests, but we needed to push the speediness of our tool up a notch.

Ponicode Flash Test is a feature that we developed thanks to the feedback we received from our community, but it’s also the result of a maturing AI, a year after launching Ponicode Unit test. Three key observations led us to design this new feature:

  • AI improvements: First of all, we have been working continuously since the launch of our VS Code extension on the improvement of our AI and in the last few months we've observed that our tool feels more autonomous than ever. Users from the Ponicode community who have taken the time to share feedback and show us how they use Ponicode in their coding routine showed us that they were accepting more input suggestions for a given function than before. This is the consequence of higher accuracy from our algorithms and it means that we are well on track to close the gap between assisting and automating the unit testing process. 
  • Connecting with Enterprise users: Since spring 2021, we have been distributing our Enterprise solution. Thanks to this new offer, we have had the chance to work hand in hand with software engineers working in the corporate world and specifically in Fortune 500 companies. Their feedback was key to this new feature. Their priority is to reach the code coverage level required by their management, under time constraints. As it is sometimes hard to respect deadlines, they often sacrifice the robustness of the tests they produce and create unit tests that run through many lines of code with weak test scenarios. With the original Ponicode unit test solution, they had an assistant to support their unit testing effort. We realised that a solution automatically generating files with a good range of inputs was more powerful than our current assistant to help them get closer to their end goal quicker. We made sure it didn't push automation so far that they would lose the freedom to dig deeper in their unit test files. 
  • Focus on robustness and complex functions: The third observation that confirmed how Flash Test could fit many developers' needs was feedback from the community on how eager they were for a tool that enabled them to produce the exoskeleton of their unit test files at speed. For some, the basics meant the simple functions, for others, the basics meant writing the test cases and selecting from a wide range of inputs. Since Ponicode was handling the simple functions with high accuracy, we were convinced we needed to design a feature that could increase the automation of functions that developers were not interested in spending too much time on testing and accelerate parts of testing that slow them down. 

 

Our new feature

Today we are very happy to introduce you to Ponicode Flash Test. This feature available for Javascript, Typescript and Python, makes one-click unit tests a reality. 

Ponicode Flash Test takes over most of your unit testing process thanks to the power of AI. It will read your function, understand its language and its purpose. Without any action required from the developer, the Ponicode Flash test takes 5 or 6 AI-generated inputs and writes your unit test file with these test cases. Each test case asserts that the function does not throw for the given inputs. In some cases, the unit tests are not perfect, but Ponicode takes engineers over the first 80% of the unit testing process and saves them the hassle of a lot of code writing as well as the effort of finding an exhaustive range of scenarios. All they have left to do is check if they are pleased with the range of inputs and work on their assertion.

Ponicode Flash Test Software engineers
  • Read the function
  • Find relevant inputs
  • Create a test file
  • Write unit test cases
  • Check that the function does not throw for the given inputs
  • Check inputs suggestions
  • Work on their assertions
  • Focus on unit testing complex functions: mockup, spying

 

With this new feature, we truly believe that we are bringing a fuller experience in unit testing acceleration to the developer community. We developed a feature that does not overlap or replace the Ponicode Unit test, but which elevates the value of our assistant and brings it closer to the developers' routine. 

With this smart boilerplating new feature developers can skip the tedious task of writing the imports, the before each, the inputs and the body of the test and they can focus on robustness. We hope to provide time savings to developers and enable them to refocus on the high value parts of unit testing.

What’s next?

This is a beta version of Ponicode Flash Test; we are committed to improving its user experience over time. It’s evolution relies on the incremental intelligence of our models and the feedback from our community.

 

Your feedback is essential to the success of this new feature. Please reach out to our team on our community Slack to help us spot bugs and areas of improvements so we can become your best unit testing partner. Your voice matters to us!

We hope you'll love it as much as we do! 🦄 😁

Bye for now,

The Ponicode Team

Check out these videos to learn exactly what the Ponicode Flash Test is and hear testimony from a developer of how it changed his coding life 😉


Green blobred blob