Home
Starting Up
Case Studies DB
Products
Ideas DB
Vibe Coding Tools
Subscribe to IH+
Starting Up
Case Studies
Ideas DB
Products DB
Join
2
Likes
14
Comments
Do you use test driven development for your indie projects?
by
Amando Abreu
Wondering how you all develop your side/indie projects π
TDD in software is a must, not an option. As well as documentation.
I do test, mostly after writing a feature, which is not TDD.
I do it because of the amount of uncertainty, but once I am sure about a certain feature, then I write tests to give me confidence once I comeback later to refactor it or change it for some reason.
How do you "test" the feature as you build it? Is it something like:
?
This comment was deleted 4 years ago
+1 , I do the same
I think you should always write tests for your core functionality, not necessarily do TDD.
Personally for a long time I wasn't keen on writing tests as I thought it would be better to just crank out features (I always told myself I'd write tests eventually, after this feature...). But then I was always paranoid about breaking the login or signup functionality so I made a new account after every... single... update... just to make sure it still works...
So eventually I transitioned to writing tests for the basics, so at least I don't have to worry about my signup being broken and losing potential users. Or the app not working at all.
You can write tests, you just have to be careful to balance it with moving the app forward with more features so writing tests doesn't eat up all your time. Manual testing is fine, but once you have a certain feature set it can get overwhelming and you need to automate it.
TBH, for personal projects, I don't get that much time to write proper test cases (unit/integration). I usually do manual testing.
But If I am building something professionally or for my own startup, mostly, I do.
For me, the reason behind writing test cases after building a feature is, that it helps me catch any kind of changes that were done unknowingly. As a solo developer, I tend to work on a lot of files at the same time while doing R&D (initial phase).
But again, it really depends on if you have got that kind of time. Because in my experience, writing test cases can take a lot of time. Sometimes, more than the time it took to develop that particular feature.
If you are starting up with writing test cases, do it for critical services first e.g. Auth, Payments, Emails (if email delivery is important).
Then, once you have some time, you can do it for others.
I prefer automating the basic tasks, when I'm are in trouble, it saves a lot of time & worry in knowing that the fundamental components are at least working
I do write tests, which in itself was a controversial topic among indiehackers, but I don't do TDD. Unless you're very clearly defining everything up-front, TDD isn't really practical. I don't see that happening as a solo founder. You need to be super efficient.
How do you "test" the feature as you build it? Is it something like:
?
Typically I build a feature, and then write a test for it if:
For the most part it's e2e tests, with a few unit sprinkled in.
I mean like during the building phase, how do you ensure the feature works? Do you manually open the browser and test it? Or do you assume it works and deploy? Surely you go from IDE to browser and back a few times?
Yes, manual
You are actually doing TDD, but with manual tests. It's slower and more error prone than automated ones.
Not for personal, but try to do it for clients project
This comment was deleted 3 years ago