전통적인 수동 테스트를 사용할 수 있는데 왜 phpunit을 사용합니까?


14

웹 앱을 만들 때 브라우저에서 작업을 테스트하여 오류가 있는지 확인하고 수정합니다. 복잡한 응용 프로그램을 만들고이 방법으로 테스트하는 것이 쉽고 빠릅니다. 나는 phpunit과 관련하여 YouTube에서 많은 비디오를 보았고 그 목적을 찾을 수 없습니다. 이 라이브러리가 왜 유용한가요? phpunit은 cakephp 또는 zend와 같은 PHP framworks에 더 많은가요? 나는 핵심 PHP로 모든 프레임 워크를 사용하지 않습니다. phpunit이 나에게 유용할까요? 그렇다면 어떻게?

xdebug도 있지만 관련이 있는지 확실하지 않습니다.


5
모든 구석에서 복잡한 응용 프로그램을 다시 확인하는 데 얼마나 걸립니까?

@ user1249, phpUnit은 여전히 ​​자동화 된 기능 테스트를 수행 할 수 없습니다. 자동화 된 단위 테스트 만 수행합니다.
Pacerier

답변:


12

phpunit이 나에게 유용할까요? 그렇다면 어떻게?

물론 이죠

phpunit은 xUnit 테스트 라이브러리 제품군에 속합니다 . 이 라이브러리를 사용하여 응용 프로그램의 동작을 확인하는 자동 실행 테스트를 만듭니다. 변경 사항이 기존 기능을 손상시키지 않도록하는 것이 중요합니다.

자동 테스트의 모든 이유를 나열하면 다양한 종류와 기술이 너무 많습니다. 다음 링크를 확인하십시오.


아이러니하게도, o'reilly 404'd의 첫 번째 링크
Félix Gagnon-Grenier

6

응용 프로그램을 배포 할 때마다 수동으로 테스트하려고한다고 가정 해 봅시다. 어떻게 하시겠습니까?

글쎄, 우선 테스트하고 싶은 모든 것들의 목록을 작성하여 나중에 무언가를 테스트하는 것을 잊지 않을 것입니다. 그런 다음 각 테스트마다 단계를 동일하게 작성하여 매번 동일한 방식으로 수행했는지 확인하십시오. 사용한 테스트 프로세스가 일관된 지 확인하지 않으면 결과가 일관되지 않습니다.

이제 수행해야 할 테스트 목록이 준비되었으므로 브라우저를 열고 첫 번째 테스트 단계를 읽고 수행 한 후 결과를 기록하십시오. 목록의 각 테스트에 대해이 프로세스를 반복하십시오.

응용 프로그램이 커지고 새로운 버그를 발견함에 따라 수행하는 테스트 수가 계속 증가 할 것입니다. 물론 이러한 테스트는 사람의 속도로 수행하는 것으로 제한되어 속도가 느려집니다.

아이러니 한 점은 운영 목록을 기계적으로 단계별로 처리 할 때 컴퓨팅하는 것입니다. 컴퓨터보다 더 느리게 진행하고 있습니다.

이것은 많은 다른 좋은 이유들 중에서도 우리가 단위 테스트를 작성하는 이유입니다. 컴퓨터가 컴퓨팅을 수행하도록 할 필요가 없습니다.

배포하기 전 일주일에 한 번이 아니라 개발 중에 자주 사용할 수있을 정도로 포괄적 인 단위 테스트 스위트를 빠르게 실행할 수 있습니다. 이를 통해 오류를보다 신속하게 감지하여 시간과 비용을 절약 할 수 있습니다.

시스템의 동작을 예측하는 테스트 작성한 다음 테스트 중심 개발이라고하는 프로세스 (방금 테스트했기 때문에 이미 알고있는 동작) 작성할 수도 있습니다.


5

수동 테스트 (예 : 브라우저에서 응용 프로그램 클릭)는 실제로 기능 테스트라고합니다. 기능 테스트와 단위 테스트는 QA에서 사용되는 두 가지 방법입니다. 왜 둘 다 사용할 수 없다고 생각하십니까?

단위 테스트코드 가 예상대로 작동하는지 테스트하는 데 사용됩니다 (예 : 웹 서비스가 오류를 적절하게 처리하거나 예상대로 결과를 반환하는 경우).

응용 프로그램을 클릭하면 응용 프로그램 기능테스트 합니다 .

phpunit이 나에게 유용할까요? 그렇다면 어떻게?

단위 테스트에는 많은 이점이 있습니다. 리팩토링시 코드가 예상대로 작동하는지 확인할 수 있으므로 매우 유용한 도구가 될 수 있습니다. 또한 누군가 코드를 읽을 때 단위 테스트에서 코드의 의도 된 사용을 보는 것이 매우 도움이 될 수 있습니다.


단위 테스트는 동작도 테스트합니다. 잘못된 이분법을 만들고 있습니다.
Rein Henrichs

@ReinHenrichs, 기능 테스트는 PHPUnit이 아닌 Selenium에 의해 수행됩니다.
Pacerier

1

예!

예. 확실히 맞아요.

실제로, 그것은 자격이 필요합니다. PHPunit과 같은 단위 테스트 프레임 워크는 다른 사람들이 사용할 것으로 예상되는 응용 프로그램을 작성하고 유지 관리하는 경우에 유용합니다.

단위 테스트가 유용한 이유는 다음과 같습니다.

  • 노출 된 특정 버그에 대한 회귀 테스트

  • 실행 단위 테스트는 수동 테스트보다 훨씬 빠르므로 훨씬 더 철저 할 수 있습니다.

내가 일하는 회사에서는 단위 테스트를 작성하기 전에 단위 테스트를 작성합니다. 이것은 우리가 작성하기 전에 작성할 내용에 대해 생각해야하기 때문에 정상적이고 테스트 가능한 디자인을 생성하는 데 도움이되고 코드가 사용자의 요구 사항을 충족한다고 쉽게 주장 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.