![translation](https://cdn.durumis.com/common/trans.png)
AI가 번역한 다른 언어 보기
언어 선택
durumis AI가 요약한 글
- 앱 출시 전 테스트 코드 작성의 중요성을 강조하며, 테스트 우선순위를 사람 테스트, 통합 테스트, 유닛 테스트, 인수/위젯 테스트 순으로 설정했다.
- 개발 시간을 절약하기 위해 우선 사람 테스트와 통합 테스트를 통해 기본 기능 검증 후, 유닛 테스트는 출시 이후에 진행할 예정이며, 인수/위젯 테스트는 시간 소모가 많아 우선순위가 낮다고 판단했다.
- 시간 효율성을 위해 핵심 기능인 provider 테스트를 중심으로 진행하고, 나머지 테스트는 필요에 따라 추후 진행할 계획이다.
"배보다 배꼽이 커지면 안된다. 즉, 테스트 작성하는데 더 오래걸리면 의미가 없다"
테스트 작성의 이야기
앱을 출시하기전에 앞서 테스트 코드를 간단하게나마 진행하려고 한다. 사실상 테스트를 자동화시키는 것이기 때문에 나중에 된통 당하지말고 지금 당장 작성해놓는것이 괜찮다고 판단.
우선 내가 생각하는 테스트 우선순위는
사람 테스트 > 통합 테스트 (provider만) > 유닛테스트 > 위젯, 인수테스트 이다
1. 걍 사람으로 테스트
"걍 인간이 해보는게 답이다"
우선 통합테스트를 진행하면서 유저플로우를 대략적으로 훑으려고 한다. 그러면 우선 한번은 테스트를 합격했으니 괜찮지 않을까?
2. 유닛 테스트
"가장 자잘한 부품들이 잘 되는지만 테스트"
사실 다른사람이 merge를 한다던지 그런경우가 존재하지 않기때문에 (1인 개발이기 때문) 생각보다 우선순위가 조금 낮다. 우선은 대략적으로 돌아가는지 확인 후 출시를 한 뒤 유닛테스트를 기입할 예정. 뭐 돌아가니까 개발을 완료했겠지. 업데이트되거나 다른것이 추가되지 않는이상 버그가 날 확률은 당장은 적다.
3. 통합테스트
"사실상 provider 테스트. 이것만 위주로 진행하자"
내가 만든 앱에서는 사실상 provider 체크라고 생각한다. 모두 다시 만들 시간도 없고, riverpod 로 보통 모든 플로우가 진행되기 때문에 이것만 해줘도 버그가 확 줄지 않을까? 라는 생각이다.
4. 인수, 위젯테스트
"중요하긴 한데... 이거할려면 시간 다간다"
유저플로우 확인과 위젯의 테스트는 사실 엄청 중요하다. 하지만 문제가 있으니... 이거 작성하는게 엄청나게 시간이 많이 걸린다. 모든 분기를 확인하기도 힘들뿐더러 그 자체를 모두 작성하는것도 사실상 불가능에 가까워서... 그렇다고 이걸 테스트한다고 안전을 100% 보장하는것도 아니다. 그러다보니 가성비가 많이 떨어진다고 생각한다. 통합테스트 provider를 테스트하고 만약 되지 않는부분이 존재한다면 그부분을 유저에게 알람을 받거나 해서... 그부분을 그때그때 업데이트하면 되지 않을까 싶다.
나의 생각
사실상 테스트는 자동화와 같다. 사람이 하나하나 테스트해야하는 것들을 이렇게 자동화를 시켜줌으로써 시간을 절약할 수 있는 좋은 방법이다.
우선 시간은 금이니까 빨리빨리 급한것들만 개발하고 빨리 출시일을 앞당겨야겠다.
개발자에 관하여
유튜브 : https://www.youtube.com/@AlienApp
이메일 : slugj2020@gmail.com