Pythagora is an open-source tool that creates automated integration tests by analyzing server activity without you having to write a single line of code. Within 30 minutes of analyzing, it gets your web app from 0 to 80% code coverage.
Hi Product Hunters! 👋
After a year of iterating on 4 different test automation products, I believe we finally hit the market need so I’m super excited to present to you Pythagora - an open-source dev tool that creates automated integration tests by analyzing server activity without you having to write a single line of code!
🤔 Why we decided to build Pythagora?
As a developer, I always struggled with time, and creating automated tests was always the last priority so I talked to people about how much time do they spend on writing tests.
70% of developers said they spend 20-40% of their time on writing and maintaining automated tests.
Then, I asked Reddit, how people feel about writing automated tests. The answers were as I suspected - 75% of devs hate writing tests and would rather work on the core codebase (Reddit discussion - https://redd.it/122z3pf).
So, @leon_ostrez and I created Pythagora - a dev tool that cuts those 20-40% down to ~0.2% of dev time.
It’s super easy to install and within 30 minutes of capturing you can get from 0 to 80% code coverage!
🏗️ How Pythagora works?
Pythagora has only 2 commands - capture and test.
There is no config so after you install it, you can just repeat this 3-step process until you’re satisfied:
1⃣️ Run Pythagora capture command that starts your web app wrapped with Pythagora
2⃣️ Make API requests to your app any way you’re used to (through the browser, with cURL or Postman, etc.)
3⃣️ Check Pythagora code coverage report, identify endpoints that will trigger untested code and repeat from step #1
That’s basically it! Now, when you want to run captured tests, just run Pythagora test command.
🏆 How Pythagora helps?
🟣 Pythagora creates detailed integration tests that check API response, database queries and responses, 3rd party API requests, and more
🟣 Within a couple of hours of playing around your app while Pythagora capturing is on, you can cover your codebase with 100% code coverage
🟣 You don’t need to think about covering edge cases - our GPT-4 integration creates negative tests to superpower your test suite
🟣 If you have a QA team, you can easily give them access to creating automated tests for backend with Pythagora
📖 Additional resources
🎥 As devs, we want to know how things work so we created this tech deep dive video in which we show exactly how Pythagora works under the hood (17 min) - https://youtu.be/ferEJsqBHqw
🎥 How devs workflow looks like with Pythagora to maintain 100% code coverage without coding automated tests (4 min) - https://youtu.be/opQP8NMCiPw
📝 You can find full docs here - https://pythagora.io/faq
We are thrilled to hear what you think! Let us know if any questions, suggestions, or feedback in the comments.
Thanks @davorrunje 🙏 Yes, that was exactly my thinking while mocking up the idea for Pythagora since all mocks are actually there while you're developing and testing the features. They just need to be saved for later use.
@davorrunje That is exactly why we started working on Pythagora. Lot of developers go through same process and never end up having proper test suite. Let us know how it works on your project! Oh, and thank you for support!
Hey guys, this looks great!
Do you have any estimate on when you'll start supporting other web frameworks, e.g. Rails?
I'd love to play with it but I'm mostly working in Rails.
Thanks for the support @dragocrnjac 🙏🙏 We don't have any estimations at the moment since we are still looking on the best way forward but I'll definitely note your vote for Ruby.
Hey @dragocrnjac , thank you for support! As @zvonimir_sabljic1 mentioned, we still don't know what will be supported next but it is great to hear interest so we know what to focus on. Thanks for feedback!
So glad somebody as smart as you guys is working on integrating the new power AI models give us to ship software faster and safer.
Kudos for going closer to the customer, and generating e2e tests, instead of working on the code-level only.
@pranabgohain That's great to hear, let us know how Pythagora works for them! Definitely contact us if you run into any issues, we'll be happy to help!
This is amazing! 🤩 It’s exactly what we need. We really should level up our testing, but it’s hard to find the time. Do you have an approximate timeline for when you will support Postgres?
@joanreyero Thank you for the feedback! Postgresql support is probably going to be our next bigger feature and we hope it will be done in next 2 months. You can watch our github repository for new updates, sign up for newsletter on our page or follow us on twitter. We will make sure our community is aware when Postgresql support is live!
I've known @zvonimir_sabljic1 and @leon_ostrez for a while, and there's no better team to attack this problem. They've been exploring this space for a while and spend countless hours talking with developers to understand their struggles with testing.
From all that effort and their laser-targeted focus, Pythagora emerged. This is an idea I'm personally excited about!
Thank you so much for the support @matijash 🙏🙏🙏 Yes, we did spend hours and hours and over a hundred interviews on 4 different product iterations until Pythagora emerged.
Hey guys, Pythagora looks really cool! As someone who primarily works on mobile dev, I wish it was also available for mobile devs. Regardless, I'm excited to see what Pythagora can do and encourage everyone to try it!
@david_prusa1 Thank you for support! For now we don't have mobile in mind but in future it will be covered. Let us know how it goes, if you try out Pythagora!
Very excited to see this!
Let's face it, nobody *likes* writing tests, much less integration tests where setup is always complicated. Having a tool that can record and replay tests means I can go from single-digit number of these to dozens or hundreds without breaking a sweat. I also appreciate it's open source and not walled off behind some SaaS garden.
Congrats on the launch @zvonimir_sabljic1 !
Yes, exactly @senko_rasic ! That was our main motivation behind Pythagora. Tech behind Pythagora is quite cool so we wanted to show it to the world so others can learn from it as well. Thanks for the support 🙏
This is truly remarkable! I am certain that Pythagora will be an invaluable asset for any development stack, and I can already envision the countless hours it will save my team when writing tests. Congratulations on the launch!
@willvargas Thank you very much for support! I completely agree with you, and at the end that is our goal, to save countless hours on writing and maintaining tests
@prashanth_kunapaneni1 we have it planned but we are still not sure when that will be. We will make sure to notify our comunity on twitter, yt and discord! Thank you for interest!
As a software developer, I know firsthand how time-consuming and error-prone integration testing can be. That's why I'm excited to see Pythagora Automated Integration Tests - it looks like a powerful tool for automating and streamlining the testing process. I appreciate the range of features, from customizable test scenarios to test scheduling and detailed reporting. Looking forward to giving Pythagora a try!
Pythagora
Finally, since Pythagora is open source, we’d be so grateful if you could star Pythagora repo on Github - https://github.com/Pythagora-io/pythagora.