This is an AI translated post.
What kind of tests should you run for 1-person app development?
- Writing language: Korean
- •
- Base country: All countries
- •
- Information Technology
Select Language
Summarized by durumis AI
- Emphasizes the importance of writing test code before launching an app, and presents priorities for various testing methods such as human testing, integration testing, unit testing, and acceptance and widget testing.
- Developers should prioritize human testing and integration testing (provider-centric), add unit tests after launch, and consider efficiency when performing acceptance and widget testing, as they are time-consuming.
- Save time and increase development speed through test automation to aim for a faster launch.
"It's not worth it if the cost outweighs the benefit. In other words, it doesn't make sense if it takes longer to write the test."
Will I run out of time writing tests?
The story of writing tests
I'm going to try to do some basic test coding before releasing the app. It's actually automating the test, so I think it's better to write it now than to suffer later.
First, my test priority is
Human testing > Integration testing (only provider) > Unit testing > Widget, acceptance testing
1. Just test with people
"Just having humans try it is the answer"
First, I'm going to go through the user flow roughly while doing integration testing. Then, since I passed the test once, wouldn't it be okay?
2. Unit testing
"Just test if the smallest parts work well"
Actually, since there are no cases where other people merge (because it's one-person development), the priority is a little lower than I thought. First, I'm going to check if it runs roughly, release it, and then write the unit tests. Well, since it's working, I've finished developing it. Unless it's updated or something else is added, the probability of a bug is low for now.
3. Integration testing
"Actually, it's a provider test. Let's just focus on this"
In the app I made, I think it's basically a provider check. I don't have time to remake everything, and most of the flow goes through riverpod, so I think just doing this will significantly reduce bugs.
4. Acceptance, widget testing
"It's important, but... it'll take all my time"
User flow confirmation and widget testing are actually very important. But there's a problem... it takes a lot of time to write this. It's hard to check all the branches, and it's almost impossible to write everything itself... and it doesn't guarantee 100% safety just because you test it. So I think the cost performance is very low. I think I can test the integration test provider, and if there's a part that doesn't work, I can update it when I receive an alert from the user...
It may seem a little irresponsible, but this seems to be the best way.
My thoughts
Testing is basically automation. It's a good way to save time by automating things that people have to test one by one.
First, time is money, so I have to develop the urgent things quickly and quickly move up the release date.
Time is running out. I need to develop quickly.
About the developer
Alien, a global dating app, is being developed and operated together by an actual international couple.
YouTube : https://www.youtube.com/@AlienApp
Email : slugj2020@gmail.com