๐ŸŒŸ Inspiration

Modern software development demands fast, reliable testing, but writing test functions can be cumbersome and most tools either feel too rigid or too complex for everyday function-level validation. We wanted to build something that felt like a developerโ€™s sidekick: intuitive, interactive, and smart enough to catch issues before they escalate. TestFriend was born from that need - a lightweight companion for automated function testing that feels approachable yet powerful.

โš™๏ธ What it does

TestFriend is an interactive testing tool designed to validate individual functions in real time. Developers can select functions -> define inputs -> check the function output and instantly mark as pass/fail. It supports:

  • Auto-generated test cases based on function signatures
  • Live assertion feedback
  • Mocking and edge case detection
  • Visual summaries of test outcomes

Whether you're writing Python utilities or debugging algorithmic logic, TestFriend helps you test smarter, not harder.

๐Ÿ› ๏ธ How we built it

We built TestFriend using:

  • Python as the choice of programming language
  • Kiro for vibe-coding the application
  • Modular architecture to support extensibility (e.g., adding new test types)

๐Ÿšง Challenges we ran into

  • Balancing simplicity with flexibility - especially around custom test inputs
  • Ensuring fast feedback loops without compromising accuracy
  • Handling edge cases like class inputs and class methods

๐Ÿ† Accomplishments that we're proud of

  • Built a fully functional prototype with real-time test feedback
  • Intelligent generation of inputs using LLM
  • Created a friendly UI that lowers the barrier to entry for new developers
  • Designed a scalable architecture that can support multiple codebases

๐Ÿ“š What we learned

  • Interactive test feedback encourages better coding habits and faster debugging
  • Even simple tools benefit from thoughtful UX and modular design

๐Ÿš€ What's next for TestFriend

  • Add support for function testing in other languages - JavaScript, Rust, TypeScript and C#
  • Add support for testing input ranges
  • Build a plugin for IDEs
  • Expand test summary visualization with code coverage overview
  • Integrate with other LLM APIs for generating intelligent inputs
  • Automatically Generate PyTest-based functions using LLMs

Built With

Share this project:

Updates