나는 왜 테스트를 하고싶은가?
인간 피드백은 변수가 많다.
그러나 고품질 소프트웨어 개발을 위해서는
양적으로도, 질적으로도, 시기적으로도 균일하고 예측가능한 촘촘한 피드백이 필요하다.
그래서 테스트가 필요한것같다. 내가 지금 잘 했는지, 못했는지, 못했다면 얼마나 못했고 (기존 대비), 잘했다면 얼마나 잘했는지 (기존대비) - 성능비교 등 을 알아야 그 피드백을 기반으로 내가 낸 산출물을 계속해서 올바른 방향으로 수정해나가고 개선해나갈 수 있을 것이다.
현재 회사 모바일 팀장께서 내가 성능에 대한 고려가 부족하다는 피드백을 하셨다.
나는 왜 성능에 대한 고려가 부족할까?
경험부족, 지식 부족이라고 대답할수도 있겠다.
그건 단기간에 채울 수 없고 꾸준하게 채워나가야하는 부분이겠지만, 어느정도의 경험과 어느정도의 지식을 채워야 성능에 대한 충분한 고려를 할 수 있을까? 에 대해서는 마땅한 답이 없다.
당장 이부분을 개선하려면 어떻게 해야할까 잠시 고민해봤다.
내가 어떻게 했을때 성능이 어느정도로 더 좋아지고, 어떻게 했을때 성능이 어느정도로 더 안좋아지는지에 대한 즉각적인 피드백이 있으면 된다. 그러면 계속적인 양질의 인풋에 따라 점점 더 똑똑해지고 정확해지는 인공지능 알고리즘 처럼, 나도 어떻게 했을때 더 성능좋은 코드를 짤 수 있는지 스스로 체화가 될것이다. 올바른 즉각적 피드백이 매번 코드를 짤때마다 들어온다면.
근데 그걸 팀장님이나 다른 팀원들이 해줄것으로 기대하기엔, 변수가 많다. 그렇기에 테스트가 필요하지 않을까 하는 생각이 들었다.
소프트웨어 테스팅에도 여러 부문이 있겠지만, 일단 당장 내게 필요한 성능 관련 테스트부터, 한번 시작해보자
내 분야에서의 성능 테스트 종류부터, 툴까지, 그리고 당장 아기버전으로 도입해볼 성능테스트는 무엇인지 등을 알아보도록 하자.