8 ms·
Launch HN: Codeparrot (YC W23) – Automated API testing using production traffic
Hi HN, we’re Royal and Vedant, co-founders of CodeParrot (https://www.codeparrot.ai/ https://www.codeparrot.ai/). CodeParrot automates API testing so developers can speed up release cycles and increase test coverage. It captures production traffic and database state to generate test cases that update with every release.
Here’s a short video that shows how it works: https://www.loom.com/share/dd6c12e23ceb43f587814a2fbc165c1f https://www.loom.com/share/dd6c12e23ceb43f587814a2fbc165c1f .
As managers of engineering teams (I was CTO of an ed-tech startup, Vedant was the founding engineer of a unicorn company) both of us faced challenges in enforcing high test coverage. We ended up relying a lot on manual testing but it became hard to scale, and led to reduced velocity and higher production bugs. This motivated us to build CodeParrot.
How it works: we auto-instrument backend services to capture production traffic. Requests and responses coming to your backend service, as well as the downstream calls made by it like DB calls are stored. As part of your CI pipeline, we replay the captured requests whenever your service is updated. The responses are compared with the responses from production env and regressions are highlighted to the developers. To ensure that the same codebase gives the same response in CI environment and production, we mock all downstream calls with the values from production.
Most tools to record and replay production traffic for the purpose of testing capture traffic on the network layer (as sidecar or through load balancer), CodeParrot instead relies on an instrumentation agent (built on top of OpenTelemetry) to capture traffic, enabling us to capture downstream request/response like database responses which are otherwise encrypted on network layer. This helps us mock downstream calls and compare the response from CI environment vs production environment. Additionally, this helps us sample requests based on code flow and downstream responses which provide better test coverage compared to just relying on API headers & parameters.
Our self-serve product will be out in a few weeks. Meanwhile, we can help you integrate CodeParrot, please reach out at royal@codeparrot.ai or you can choose a slot here - https://tidycal.com/royal1/schedule-demo https://tidycal.com/royal1/schedule-demo. We’ll be selling CodeParrot via a subscription model but the details are TBD. In addition, we will be open sourcing the project soon.
If you’ve already tried or are thinking of using tools in this space, we’d love to hear your experience and what you care about most. We look forward to everyone’s comments!
- pixelatedindex 4y agoNeat idea! Two nitpicks from reading the website: > How does CodeParrot work This part without a question mark is making me feel like I’m left hanging. If you don’t want a question mark, I would much prefer this to be “How CodeParrot works”. > CodeParrot … What’s more? … There’s no question mark where there should be one, and where I don’t expect one I do see one. Here it can be a simple comma instead of a question mark. This flow of language works if you’re speaking live to an audience but on paper it feels awkward. It bothers me more than it should, mostly because of my reading cadence. Hopefully others can chime in and let me know if I’m off base here or not.
- royal0203 4y agoNice catch, thanks for taking the time to review the website! Have updated it, should reflect in sometime.
- YPCrumble 4y agoHow is this different from Meticulous, another YC company?
- royal0203 4y agoit's similar in the sense that both rely on production traffic and user sessions to generate tests. However, we are focusing on API testing and I think Meticulous is building for UI testing.
- Jarobq18 4y agoIsn't your tech fragile? Feels like it'd break/provide false positives easily. Integration is also not easy, the matrix of possible tech stacks is big. It doesn't test new edge cases, so it's useful only for regression, which is important but if your testing hygiene is good, which means devs are writing tests, you wouldn't have the need for your product, am i wrong? Good luck either way. Seems like VCs are gambling at products that save costs.
- 4y ago