테스트
는 패스가/임계 값을 실패 의미합니다. 성능 테스트의 경우 이는 너무 느리고 실패하면 빠르며 빠져 나갑니다. 실패하면 재 작업을 시작합니다.
실패 할 수 없다면 실제로 테스트하지 않고 벤치마킹을하는 것입니다.
"시스템 실행 가능"에 대해 이야기 할 때 "유능한"을 정의해야합니다. 많은 하드웨어 성능 벤치 마크 중 하나를 사용할 수 있습니다.숫돌, Dhrystone 등이 유명합니다. 또는 데이터베이스 집약적 인 응용 프로그램을 사용하고 있다면 TPC 벤치 마크를보고 싶을 것입니다. 또는 아마도 네트워크 집약적 인 응용 프로그램을 사용하고 netperf를 사용하려고합니다. 또는 GUI를 많이 사용하는 응용 프로그램이며 일부 종류의 그래픽 벤치 마크를 사용하려고합니다.
이들 중 어떤 것이 든 "기능"측정을 제공합니다. 하나 이상을 선택하십시오. 그들은 모두 좋다. 똑같이 논쟁의 여지가있다. 경쟁자에게 편향되어 있고 멀리 떨어져 있습니다.
일단 벤치 마크를 실행하면 소프트웨어를 실행하고 시스템이 실제로 수행하는 작업을 볼 수 있습니다.
데이터를 충분히 수집 한 경우 일부 벤치 마크 번호와 실적 번호간에 상관 관계를 설정할 수 있습니다. 작업 부하, 하드웨어 구성, OS 버전, 가상 머신, DB 서버 등을 기반으로 모든 종류의 변형을 볼 수 있습니다.
충분한 구성을 가진 충분한 상자의 데이터를 사용하면 결국 성능을 개발할 수 있습니다 "이 하드웨어, 소프트웨어, 튜닝 매개 변수 및 구성이 주어지면 내 소프트웨어가 초당 트랜잭션을 수행 할 것으로 기대합니다."라는 모델이 있습니다. 그것은 "유능한"의 확고한 정의입니다.
해당 모델을 사용하면 소프트웨어를 기능 번호와 비교할 수 있습니다. 매우 완벽한 모델이 될 때까지 어떤 시스템이 초 당 1000 번 코드 조각을 실행할 수 있는지조차 알지 못합니다.
왜 프로파일 러 대신 단위 테스트를 원하십니까? – Paco
다른 사람들은 단위 테스트가 성능 테스트가 아니라 오히려 "예상 기능 테스트"라는 분명한 포인트를 제시했습니다. 성능 프로파일 링은 단순한 짐승이 아닙니다. – STW