Live data from Hacker News

Show HN: Checksum – generate and maintain end-to-end tests using AI

news.ycombinator.com

1–10 of 34 posts

Show HN: Checksum – generate and maintain end-to-end tests using AI

#1
Hey HN!

I’m Gal, co-founder at Checksum (https://checksum.ai). Checksum is a tool for automatically generating and maintaining end-to-end tests using AI.

I cut my teeth in applied ML in 2016 at a maritime tech company called TSG, based in Israel. When I was there, I worked on a cool product that used machine learning to detect suspicious vehicles. Radar data is pretty tough for humans to parse, but a great fit for AI – and it worked very well for detecting smugglers, terrorist activity, and that sort of thing.

In 2021, after a few years working in big tech (Lyft, Google), I joined a YC company, seer W21, as CTO. This is where I experienced the unique pain of trying to keep end-to-end tests in a good state. The app was quite featureful, and it was a struggle to get and maintain good test coverage.

Like the suspicious maritime vehicle problem I had previously encountered, building and maintaining E2E tests had all the markings of a problem where machines could outperform humans. Also, in the early user interviews, it became clear that this problem wasn’t one that just went away as organizations grew past the startup phase, but one that got even more tangled up and unpleasant.

We’ve been building the product for a little over a year now, and it’s been interesting to learn that some problems were surprisingly easy, and others unusually tough. To get the data we need to train our models, we use the same underlying technology that tools like Fullstory and Hotjar use, and it works quite well. Also, we’re able to get good tests from relatively few user sessions (in most cases, fewer than 200 sessions).

Right now, the models are really good at improving test coverage for featureful web-apps that don’t have much coverage (ie; generating and maintaining a bunch of new tests), but making existing tests better has been a tougher nut to crack. We don’t have as much of a place in organizations where test coverage is great and test quality is medium-to-poor, but we’re keen to develop in that direction.

We’re still early, and spend basically all of our time working with a small handful of design partners (mostly medium-sized startups struggling with test coverage), but it felt like time to share with the HN community.

Thanks so much, happy to answer any questions, and excited to hear your thoughts!

Re: Show HN: Checksum – generate and maintain end-to-end tests using AI

#2
I'm always suspicious of tests when test coverage is the main metric. I've seen developers write tests that don't really check anything but run all the code paths. I've also seen tests that check every bit of output, which end up being brittle.

How well do the tests hold up over time, and how well are the tests validating the contract of the code instead of just historical behavior and quirks?

Re: Show HN: Checksum – generate and maintain end-to-end tests using AI

#3

I'm always suspicious of tests when test coverage is the main metric. I've seen developers write tests that don't really check anything but run all the code paths. I've also seen tests that check every bit of output, which end up being brittle. How well do the tests hold up over time, and how well are the tests validating the contract of the code instead of just historical behavior and quirks?

That's a great question!

We actually use real user sessions to train our model, so when I use the term coverage our main metric is covering as many user behaviors as possible.

We collect data in a privacy-focused way essentially anonymizing all sensitive information, as we don't need to know the user specific context. Only the main flow.

Re: Show HN: Checksum – generate and maintain end-to-end tests using AI

#5
This is a really compelling idea – but I'm having a little trouble making the leap from the high level description to what it would mean for my projects in more concrete terms. Would it be possible to show off some example tests that the model generated and maybe even a story about how the generated tests caught a bug before the code made it to production?

Re: Show HN: Checksum – generate and maintain end-to-end tests using AI

#6

How is the product different from the other test generation tools? How do you check if the are testing the intended behavior. My experience with automated testing solutions has been lukewarm so far.

I agree! My experience with test generation tools was also lukewarm which is why we founded Checksum.

> How is the product different from the other test generation tools

We train our models based on real user sessions. So our tests are: 1. Completely auto-generated 2. Achieve high coverage of real user flows, including detecting edge cases 3. Automatically maintained and execute with our models so they are less flakey.

> How do you check if the are testing the intended behavior

Our models are trained on many real sessions so it learns how your website (and others) should behave. In that sense, it's similar to a manual QA tester which can detect bugs. To supplement for functionality that is not obvious by the UI, we are now looking at adding LLMs to parse code, but most of the functionality can be inferred from the UI

Re: Show HN: Checksum – generate and maintain end-to-end tests using AI

#7

This is a really compelling idea – but I'm having a little trouble making the leap from the high level description to what it would mean for my projects in more concrete terms. Would it be possible to show off some example tests that the model generated and maybe even a story about how the generated tests caught a bug before the code made it to production?

Our landing page at checksum.ai has a video in the hero section of test. We added some graphics (e.g. the green checkmark), but the steps executed are real tests that we generated.

But the tl;dr is 1. We learn how to use your app based on real sessions (we remove sensitive information on the client side) 2. We train a model on this data 3. We connect this model to a browser and generate Playwright or Cypress tests

The end result is code written and Playwright or Cypress. You can edit and run the tests regularly

Re: Show HN: Checksum – generate and maintain end-to-end tests using AI

#8
Congratulations on all the progress you've made! We are all learning as we're building and talking to users. I know for my team, E2E/Integration testing is our main priority (over unit tests), and maintaining E2E tests is definitely a struggle. I imagine this problem is even more of an issue for larger codebases so I see why you're going after medium-size startups where the product isn't completely rebuilt every few months.
Post reply on HN