배포하기전, 개발자들은 이게 문제없이 돌아갈지 테스트를 한다. 테스트의 방법에도 여러가지가 있는데 그에 대해 알아보겠다
Google Test Automation Conference에서 제안된 테스트 피라미드로 3가지의 테스트방법의 비율을 권고하는 피라미드이다
위코드 1차 프로젝트에서 프론트분들이 크롬을 띄워 실제로 동작시키던게 이것!
크롬 브라우저를 띄운다음에 내가 만든 페이지로 들어가서 직접 하나하나 값을 입력해서 확인하는 방법이다.
시스템 테스트중 가장 까다롭고 어려운 방법이다. 자동화에 있어서도 매우 까다로운 방법이다.
Httpie or Postman으로 테스트하던 백엔드분들이 바로 이것!
두개이상의 클래스 or 서브 시스템의 결합을 테스트하는 방법이다. E2E Testing다음으로 시간적, 재정적 소모가 많이 되는편이다.
자세한 내용은 밑에 기술!
유닛테스트란, 내가 작성한 코드의 가장 작은 단위를 테스트하는 메소드를 말한다. (여기서 가장 작은 단위는함수
이다)
위코드 1차 프로젝트에서 나는 프론트와 맞춰보기전
1.httpie를 통해서 혼자서 테스트 ->Integrating Testing
2.프론트와 맞춰서 테스트 ->E2E(UI) Testing
이 두가지 방식을했는데, 이 방법보다 더 작은 단위로 나눠서 테스트를 하는것이다.
Python의 unittest 모듈을 사용하여 유닛 테스트를 개발할때 일반적으로 다음과 같은 절차를 따른다.
import unittest
class MyCalcTest(unittest.TestCase):
def test_add(self):
def test_add(self):
c = myCalc.add(20, 10)
self.assertEqual(c, 30)
def add(a, b):
return a + b
def substract(a, b):
return a - b
import unittest
import mycalc
class MyCalcTest(unittest.TestCase):
def test_add(self):
c = mycalc.add(20, 10)
self.assertEqual(c, 30)
def test_substract(self):
c = mycalc.substract(20, 10)
self.assertEqual(c, 10)
if __name__ == '__main__':
unittest.main()
> python -m unittest --v
test_add (test_my_calc.MyCalcTest) ... ok
test_substract (test_my_calc.MyCalcTest) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
2차 프로젝트부터 모든 과정을 다 유닛테스트를 실행하고 github에 push할 예정이다. rebase와 더불어 엄청난 공포의 존재지만 한번 도전해보자! 화이팅