Touca
p/touca
Continuous regression testing for engineering teams
Pejman Ghorbanzade
Touca 2.0 — Find the unintended side-effects of day-to-day code changes
Featured
21
Touca provides open-source tooling and infrastructure that helps software engineers write high-level tests for complex workflows and run them continuously with different inputs to get fast feedback about changes in behavior or performance of their software.
Replies
Pejman Ghorbanzade
Hello Product Hunt Community! 👋 It’s been almost 2 years since I left my job as a software engineer to build this product. Now 21 months after the launch of our MVP here, @mohajer and I are excited to share the result of all our work with you: Touca 2.0. It is still too difficult and time consuming for software engineers to gain confidence in their day-to-day code changes. Most engineering teams suffer through long QA feedback cycles or resort to writing hard-to-maintain unit tests and integration tests. Sadly, for most types of software, writing reliable, automated, and developer-friendly tests is still very difficult. We’ve built Touca to solve this problem. Touca lets you describe the behavior and performance of any version of your software for any number of inputs. It then submits your description to a remote server that automatically compares it against a previous baseline version and reports any differences. You can use the Touca server to browse through the submitted test results and inspect new differences. You can share insights about new versions with your team and collaborate on resolving regressions and managing baseline versions. It’s been a long and winding journey to get here. We started Touca as a regression testing solution for enterprise software companies building mission-critical systems. When I launched our MVP on PH, our server was closed-source and we only had an SDK in C++. After numerous rounds of iterations, Touca has evolved to better support individual developers and smaller teams. Touca is now fully open-source with numerous new features, has SDKs in Python, Java, Node.js and C++, and boasts a powerful CLI that makes writing tests optional for most common scenarios. Our mission is simple: It should be easy for any software engineer to get instant confidence that their changes are safe to ship. Touca 2.0 is the closest we’ve come towards this goal. And we’d love for you to give it a try. We’ll be here all day answering your questions and look forward to hearing your feedback! ❤️
ZHENG Haibo
@mohajer @pejman_ Congratulations on the launch , Touca 2.0! identifies unintended side-effects of day-to-day code changes, and allows user to collaborate with their team to manage baseline versions. Well done and looking forward to further updates!
Pejman Ghorbanzade
@oe_zheng Thank you, Zheng. We appreciate it.
Kris
Congrats, @pejman_ & the Touca Team! Your passion and dedication in growing Touca shine through!
Pejman Ghorbanzade
@eulent Thank you for your continued support, Kris. 🙌🏼
Nishchit Dhanani
Congratulations @pejman_ for the launch. It's an amazing SDK to get rid of coding side effects. Great Job.
Pejman Ghorbanzade
@nishchit_dhanani Thank you, Nishchit. I appreciate your support.
Jack Bridger
So glad you're innovating in the testing space!
Pejman Ghorbanzade
@jack_bridger Thank you, Jack. It's about time! We are taking concepts from visual regression testing that have worked well for testing web interfaces, and are applying them to enable easy testing of other types of software, from data pipelines and machine learning algorithms, to one-off scripts and command-line tools.
Dan Cleary
Congrats on the launch @pejman_ ! What is the newest problem 2.0 solves?
Pejman Ghorbanzade
@dan__cleary Thank you, Dan! Our primary focus in v1 was to make it easy for software engineers to write high-level tests to find regressions in new versions of their code by capturing the behavior and performance of their software workflow across a variety of inputs. Because you had to write tests and curate a large set of test inputs, v1 was primarily suitable for large engineering teams who could afford the initial investment. But individual developers and small teams often don't have the time or priority to write tests. In v2, we've kept most of the features that make Touca appealing to large businesses but have heavily invested in making the product more developer friendly and suitable for smaller teams. We now have a handy and powerful CLI that helps you capture snapshot files and other outputs and remotely compare them against a previous version without having the write code. You can use the CLI or our GitHub Actions plugins to continuously run tests as part of the CI and find breaking changes before merging PRs. And we have added numerous features to our open-source Touca server that makes it easy for developers to see changes in behavior and performance during day-to-day refactoring. We want v2 to be a superior alternative to snapshot testing that is extensible to support different use cases but scalable to support the testing needs of teams building complex products that others depend upon.
Harsh Gupta
Hey @pejman_ love the new positioning, all the best :)
Pejman Ghorbanzade
@harsh_gupta14 Thank you very much, Harsh! Glad to hear!
Sam Weaver
Congrats on the launch! Great to see the progress!
Pejman Ghorbanzade
@sam_weaver Thank you, Sam!
Masoud Farivar
Congratulations on the launch of Touca 2.0. @pejman_ ! It's impressive to see how far Touca has come since v1. Wishing you all the success you deserve as you continue to take Touca to new heights! 🚀
Pejman Ghorbanzade
@mfarivar Thank you so much, Masoud! Really appreciate your longtime support.
Aliaksei Saskevich
Salutations everyone ! 🤚 Well done on getting your product on PH! 🎉 It looks amazing! I'll test it! I only have one question. Which languages do you support?
Pejman Ghorbanzade
Hi @asaskevich, thank you. Would love to hear about your experience. We have SDKs in Python, Java, JavaScript, and C++ that let you write tests to capture values of interesting variables and runtime of important functions from within your code. We also have a CLI that removes the need for writing tests for common day to day use cases such as for comparing generated files and standard output of processes, or collecting performance benchmark reports. The getting started tutorials on our documentation website are good places to start. If you have further questions, I am happy to help.
Hayr Hotoca - 1limx.com
That looks like a great idea! Congrats on the launch!
Pejman Ghorbanzade
@hayr_hotoca Thank you very much, Hayr! Great to hear.