예를 들면 : 테스트가 아닌 것으로 간주되는 것에 대해 많은 혼란이있는 것 같습니다. 물론 모든 개발자는 코드를 작성할 때 코드를 테스트해야하며 코드가 작동하는지 확인해야합니다. 그녀는 그것이 완료되고 충분하다고 생각하기 전에 테스터에게 건네 줄 수 없습니다. 그러나 개발자는 모든 것을 볼 수는 없습니다. 버그를 인식하지 못할 수 있습니다. 이러한 버그는 철저한 테스트를 수행 할 때 개발주기 후반에 발견 될 수 있습니다. 문제는 개발자가 이러한 종류의 테스트를 수행해야하는지 여부이며, 겸손한 견해로는 프로젝트 관리자의 관점에서 볼 필요가 있습니다.
개발자는 테스터가 될 수 있지만 테스터가되어서는 안됩니다 . 개발자는 의도하지 않게 / 부주의하게 응용 프로그램을 손상시킬 수있는 방식으로 사용하지 않는 경향이 있습니다. 그것은 그들이 그것을 작성하고 주로 사용해야하는 방식으로 테스트하기 때문입니다.
반면에 좋은 테스터는 응용 프로그램을 고문하려고합니다. 그의 주요 의도는 그것을 깨는 것입니다. 그들은 종종 개발자들이 상상하지 못한 방식으로 응용 프로그램을 사용합니다. 개발자보다 사용자에게 더 가까우며 종종 워크 플로를 테스트하는 다른 방법이 있습니다.
또한 개발자를 테스터로 사용하면 개발 비용이 증가하고 전용 테스터를 보유하는 것만 큼 제품의 품질에 도움이되지 않습니다. 테스터가 저렴한 가격으로 더 잘 할 수 있다면 개발자가 자신의 작업을 교차 테스트 할 수는 없습니다. 개발자와 테스터 사이의 피드백 루프가 너무 비싸면 개발자가 서로의 코드를 교차 테스트해야하지만 내 경험상 거의 그렇지 않으며 프로세스에 크게 의존합니다.
그렇다고 개발자가 느슨하고 모든 것을 테스터에게 맡겨야한다는 의미는 아닙니다. 소프트웨어는 단위 테스트로 백업해야하며, 소프트웨어를 테스터에게 전달하기 전에 기술적 오류를 최소화해야합니다. 아직도, 당신은 때때로 여기에서 고쳤습니다. 개발자가 볼 수 없었던 문제 나 다른 버그를 해결하십시오 . 또한 통합 테스트는 대부분 개발자가 수행해야합니다. 테스터의 주요 목표는 요구 사항이 충족되는지 확인하는 것입니다.
이러한 소규모 팀 (및 응용 프로그램의 크기에 따라 다름)에서는 테스터가 하이브리드 역할, 단위 테스트 및 UI 테스트 작성에서 볼 수 있습니다. 당신은 확실히 하나를 고용해야합니다 .
그러나 테스터보다 더 중요한 것은 정기적 인 동결 / 분기입니다. 제대로 테스트되지 않은 것을 제시하지 마십시오. 기능을 추가하거나 변경 한 경우 주변의 모든 사항을 다시 확인해야합니다. 회사가 그렇지 않으면 평판이 나빠질 것입니다. 불안정한 것을 놓지 마십시오. 고객이 특정 날짜까지 소프트웨어를 보유하고 싶을 때는 개발을 조기에 중지하고 올바르게 테스트하여 버그를 수정하십시오. 마지막 기능 요청을 제대로 구현하지 않거나 적절한 테스트없이 릴리스하는 것보다 마지막 기능 요청을 거부하는 것이 종종 좋습니다.