Stop Hunting for Test Files: I Built a Better Solution

Tired of hunting for test files every time you need a PDF, image, or CSV for testing? I created test-data - a curated repository of sample files accessible via GitHub URLs. Perfect for developers writing automated tests and QA teams running manual scenarios. MIT licensed and community-driven.

Stop Hunting for Test Files: I Built a Better Solution
Photo by UX Indonesia / Unsplash

You know that feeling when you're deep in a coding session or setting up test scenarios, and then you hit that wall? You need test files. A PDF for document upload validation, an image for file processing tests, maybe some CSV data for import functionality. So you start hunting around your computer, grabbing random files, or worse - creating mock data from scratch. Again.

Whether you're a developer writing automated tests or a QA engineer designing test cases, I've been there too many times, and frankly, it was getting old. That's why I created the test-data repository. A curated collection of sample files that both developers and QA teams can rely on for testing, automation, and quality assurance workflows.

What Exactly Is This?

The test-data repository is essentially a testing toolbox for both developers and QA professionals. It's packed with various file types - PDFs, images, documents, media files, structured data - all ready to be used in your automated tests, manual testing scenarios, quality assurance processes, and development workflows.

But here's the thing: it's not just about having files available. It's about having consistent, reliable test data that you can count on across different environments, team members, and testing approaches - whether you're writing automation scripts or executing manual test cases.

Why This Matters to Me (And Should Matter to You)

When I started working on more complex projects with diverse testing teams, I noticed a pattern. Different team members - developers writing unit tests, QA engineers running manual test cases, automation engineers building test suites - would all use different test files. This led to those dreaded "works on my machine" moments and inconsistent test results across manual and automated testing.

Our CI/CD pipelines were unreliable, manual test cases couldn't be easily reproduced by developers, and QA teams were spending valuable time hunting for appropriate test files instead of focusing on actual testing.

The solution was obvious: centralize the test data and make it accessible to everyone. But the implementation? That needed to be dead simple.

How I Made It Work

The beauty of this approach is in its simplicity. Every file in the repository is accessible via GitHub's raw content endpoint:

https://raw.githubusercontent.com/jonasclaes/test-data/main/path/to/file.ext

Your tests can fetch exactly what they need without cluttering your application repository with large test files. And for production test suites, you can use commit-specific URLs to ensure your tests always use the exact same file content:

https://raw.githubusercontent.com/jonasclaes/test-data/{commit-hash}/path/to/file.ext

This works with any HTTP client, testing framework, or even manual testing approaches. Whether you're using curl in automation scripts, fetch in JavaScript tests, your language's standard library for API testing, or simply downloading files for manual test case execution, it just works.

Building for the Community

I'm releasing this under the MIT license because I believe tools like this should be accessible to everyone. Use it, modify it, distribute it - whatever works for your project, including commercial use.

The repository is designed to grow with contributions from the community. If you've got useful test files that could help other developers, I'd love to see a pull request. The guidelines are straightforward: keep files reasonably sized (under 10MB when possible), use descriptive names, and never include sensitive information.

What's Next?

This repository represents something I'm passionate about: making testing workflows more efficient and collaborative for everyone involved in quality assurance. Instead of developers and QA teams reinventing the wheel with test data, we can build on a shared foundation that benefits both automated testing pipelines and manual testing processes.

Whether you're a developer validating file uploads through automated tests, a QA engineer testing document processing functionality manually, or an automation engineer building comprehensive test suites, the test-data repository is designed to make your life easier and your testing more reliable.

I'm excited to see how the community uses and contributes to this project. The goal is simple: spend less time setting up tests and more time building great software.


Ready to streamline your testing workflow? Check out the test-data repository and start building more reliable tests today. If you find it useful, I'd love to hear about your use case!