티스토리 뷰

테스트의 유용한 점을 조금 알게 됐다.


  현재 나는 코드스쿼드에서 iOS레벨2를 하고 있다. 레벨2 과제 중 JSON문자열 분석기를 하다가 테스트의 유용한 점을 조금 알게 됐다. 일단 코드스쿼드의 과제를 단계별로 하는데 단계별로 요구사항이 추가 된다. 추가된 요구사항을 반영하려면 소스코드 추가가 필요하다. 더불어서 기존 코드도 수정을 해야 한다. 물론 기존 코드에 수정이 일어나지 않게 짜는 게 가장 좋지만 그렇게 짜기란 정말 쉽지 않다.) 기존 코드 수정을 하면 전에 있던 요구사항을 만족하지 못할 수도 있다. 그래서 전에 요구사항을 일일이 입력해서 테스트를 해야 한다. 적어도 난 그랬다. 지금 과정에서는 단순 문자열을 입력하고 결과를 확인한다. 근데 이게 많아지다 보니까 테스트 하는 것도 시간이 꽤 많이 걸렸고, 너무 귀찮았다. 그래서 테스트를 한 번 만들어봤다. 


 결과는 대 만족이었다. 사실 이전 과제에서도 단위 테스트를 했는데 하나의 과제 처럼해서 느끼지 못했다. 하지만 이번에는 내가 필요해서 한 번 해봤는데 "아 이래서 단위테스트를 하는구나"라고 정말 많이 느꼈다. 이 테스트가 없었을 때는 기능을 추가하면 그 기능에 대한 테스트도 일일이 하고 그 전 기능에 대해서도 테스트를 일일이 했다. 기능이 몇 개 없을 때는 괜찮았는데 2~3개 이상 됐을 때는 감당이 안 됐다. 하지만 이렇게 작성하고 나니 기능을 위해 코드를 추가하거나 기존 코드를 수정해도 테스트 하기가 너무 쉬었다. 일일이 입력하지 않고 버튼 하나만 누르면 테스트를 할 수 있다. 너무 너무 좋았다. 

 물론 테스트코드를 작성하는 것도 일이긴 하다. 또한 테스트 코드 자체도 틀릴 수가 있어 맞게 작성했는지 신경도 써야 한다. 하지만 이런 과정도 시간낭비가 아니다. 오히려 코드를 작성하는데 도움이 된다. 테스트코드를 정확하게 작성하려고 기존 로직을 한 번 더 생각하게 되고 내가 뭘 하려고 했는지도 다시 생각하게 해준다. 지금은 UI가 없어서 UITest는 못하고 단위 테스트만 하고 있지만 나중에 레벨3으로 가면 UITest도 꼭 해보고 싶다. 잠깐 해보니까 너무 신기하다. 테스트 버튼 누르면 자동으로 시뮬이 켜지고 앱이 로드가 되면 버튼도 자동으로 눌린다. 내가 테스트코드를 작성한 대로 움직인다. 레코드 버튼을 누르면 내가 테스트하고 싶은 동작이 코드로 바뀌기도 한다. 재밌는 경험이었다. 어서 레벨3으로 가서 UI있는 iOS를 하고 싶다. 


반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함