문제

거기에 어떤 좋은 온라인 리소스에 대한 방법을 만들고,유지하고 생각하는 쓰기에 대한 테스트 루틴을 위한 수치해석 코드?

하나의 제한 사항습니다 볼 수 있는 무언가 다음과 같 테스트 행렬의 곱셈이는 뻔한 테스트(한 매트릭스는 id)지 않을 수 있습이 완전히 테스트하는 기능의 코드입니다.

또한,가 있다는 사실 당신은 일반적으로 다루는 대형 데이터 구조뿐만 아니라.누군가는 좋은 아이디어에 대한 접근하는 방법이고,또는 포인터를 하기 좋은 장소 보이나요?

도움이 되었습니까?

해결책

그것은 소리를 필요로 하는 경우에 대해 생각에서 시험하는 적어도 두 개의 서로 다른 방법:

  1. 일부는 수치적 방법을 허용 일부에 대한 메타 생각입니다.예를 들어,반전 운영를 설정할 수 있도록 테스트 사례를 보면 그 결과에 오류가 허용 범위의 원래 있습니다.예를 들어,매트릭스 M-역 시간 매트릭스 M *임의의 벡터 V 결과 V 다시 내에서 일부는 허용되는 측정 오류가 있습니다.
    물론,이 예는 운동에 역행렬,행렬의 곱셈과 행렬-벡터 수 있습니다.나는 체인처럼 이기 때문에 생성할 수 있습니다 꽤 많은 임의의 테스트 사례를 얻는 통계 범위는 것이 강타하게 쓰입니다.그들이 운동하지 않는 하나의 작업에서 분리,하지만.

  2. 일부는 수치적 방법을 폐쇄 형태의 표현 그들의 오류가 있습니다.할 수 있는 경우 설정 상황을 알려진 솔루션을 비교할 수 있습 사이의 차이 솔루션과 계산 결과 보고를 위한 차이를 초과 하는 이러한 알려져 있습니다.

기본적으로,이 질문에 문제를 보여하는 테스트는 복잡한 방법론이 필요 아주 많은 도메인 지식입니다.특정 참조를 필요로 조금 더 특정 정보에 대해 당신이 무엇을 테스트합니다.나는 확실히 하는 것이 좋습도 스티브 Yegge 의 추천 도서 목록 손에 있습니다.

다른 팁

만약 당신이 일을 하려고 하는 행렬 계산에 사용 LAPACK.이것은 매우 잘 테스트 코드입니다.아주 똑똑한 사람들이 그것에 노력하고 합니다.그들은 깊게 생각 문제에 대한 미숙한 것에 대해 생각하지 마십시오.

일반적으로,내가 권하고 싶은 두 종류의 테스트:체계적이고 무작위입니다.에 의해 체계적인 내 말을 탐험자의 경우 등입니다.그것은 당신을 읽을 수 있는 소스 코드입니다.종종 알고리즘의 분기점:계산이 방법으로 숫자는 이 범위에서,이는 다른 방법으로 숫자에 다른 범위,etc.테스트 값을 가까이 점점 어느 한쪽에 곳이기 때문에 근사치 오류가 종종 가장 큰 것입니다.

의 랜덤 입력 값이 너무 중요하다.는 경우 합리적으로 선택하의 모든 테스트는 경우도 있습을 체계적으로 피하지 않으면 뭔가 깨닫이 문제입니다.때때로 당신은 좋은 사용을 만들 수 있습의 랜덤 입력 값에도 없는 경우 정확한 값을 테스트합니다.예를 들어,코드가 있는 경우를 계산하는 기능과 역을 생성할 수 있습 1000 임의의 값지 여부를 확인 함수를 적용하고 그 역 당신을 넣어 가까운 곳에 당신을 시작했다.

체크아웃 책 다윗이 그리스프로그래밍의 과학.그것의 증명에 대해의 정확성 프로그램입니다.는 경우에 당신이 있는지 확인하려면 프로그램이 올바른(의 점을 증명을 자신의 정확성),이 시작하기 좋은 장소입니다.

아마 정확히 무엇을 찾고 있지만,그것은 컴퓨터 공학에 응답 소프트웨어 엔지니어링 질문입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top