문제

이제 우리는 간단한 함수 정의에서 의사의 언어입니다.

List<Numbers> SortNumbers(List<Numbers> unsorted, bool ascending);

우리는 전달에서는 숫자를 지정하는 부울을 오름차순 또는 내림차순으로 정렬 순서입니다.에 반환을,우리는 얻을 정렬된 목록을의 숫자가 있습니다.

내 경험에 어떤 사람들은 더 나은에서 캡처하는 경계 조건보다는 다른 사람입니다.이 질문은"어떻게 알 수 있을 때는'짓'를 캡처하 테스트 사례"?

우리가 시작할 수 있는 목록은 경우에는 지금과 몇몇 똑똑한 사람 것입니다 의심 할 여지없이 생각하는'한'더 경우에는 적용되지 않습니다 어떤 이전.

도움이 되었습니까?

해결책

지 않아 너무 많은 시간을 낭비하려고 생각의 경계 조건입니다.귀하의 테스트를 할 수 없을 잡아 버그를 처음.아이디어를 테스트 매우 좋, 한 다음 각 시간을 버그 표면,새로운 테스트를 위해 특별히는 버그 당신에게서 듣고 그것을 다시합니다.

다른 참고 싶게 만들에 대한 코드 검사 도구입니다.에서 같은 언어는 C#또는 자바의 많은 get/set 및 이와 유사한 방법은,당신 촬영 한 100%범위입니다.즉,당신은 너무 많은 시간을 낭비하에 대한 테스트를 작성하는 사소한 코드입니다.당신 원하는 100%범위에서 복잡한 사업 논리입니다.는 경우 귀하의 전체 코드베이스에 가까운 70-80%범위에,당신은 좋은 일을하고있다.는 경우에 당신의 코드 검사 도구를 사용 여러 개의 적용 지표,최고의 중 하나는'블록 적용'하는 조치의 적용 범위의 기본 블록'.다른 유형은 클래스와 방법을 적용(는 제공하지 않으로 많은 정보)과 라인 범위(선택할 때 더 많은 유연성을 제공합 곡물).

다른 팁

어떻게 알 수 있을 때는'짓'를 캡처하 테스트 사례?

당신은하지 않습니다.당신이 얻을 수 있습니 100%를 제외한 대부분의 사소한 경우입니다.또한 100%검사(의 라인 경로,다)당신이 말해주지 않으면 당신은 모든 경계 조건입니다.

가장 중요한 것은,테스트되지 않은 경우 쓰기고 합니다. 각 시간에 당신이 버그를 발견하고,쓰고 추가적인 테스트입니다. 체크인 실패하는 원래 체크 프로그램과 함께 프로그램을 수정 및 추가 테스트를 설정합니다.

에서 발췌 예술의 소프트웨어를 테스트 여 Glenford J.마이어스:

  1. 는 경우에는 입력 조건을 지정하는 값의 범위 작성 테스트 사례에 대한 끝의 범위,그리고 잘못된 입력의 테스트 사례한 상황에서 그냥 넘어서 끝납니다.
  2. 는 경우에는 입력 조건을 지정한 값을 쓰 테스트 사례에 대한 최소 및 최대 수의 값이고 하나 아래를 넘어 이러한 값입니다.
  3. 사용 지침서 1 위해 각각 출력 상태입니다.
  4. 사용 지침서 2 위해 각각 출력 상태입니다.
  5. 만약 입력이나 출력 프로그램은 주문정에 주의를 집중하는 첫 번째와 마지막 요소의 설정합니다.
  6. 또한,사용하여 당신의 독창성을 검색에 대한 다른 경계 조건

(나만 붙여 최소한 저작권을 이유입니다.)

포인트 3.4.위에서 매우 중요합니다.사람들을 잊지하는 경향이 경계 조건에 대한 출력이 있습니다.5.괜찮습니다.6.정말 도움이 되지 않:-)

짧은 시험

이보다 더 어려운 그것은 보인다.마이어스 제공 테스트:

프로그램을 읽는 세 개의 정수 값을 입력합니다.세 값을 나타내의 길이의 측면은 삼각형이다.프로그램이라는 메시지를 표시하는지 여부를 나타내는 삼각형은 부,이등변,또는 정삼.

을 기억하는 부 삼각형 중 하나는 두 개의 측면은 동등한 반면 이등변삼각형은 동일한 두면,그리고 정삼각형은 세 가지 측면의 동일한 길이 있습니다.또한,각 반대 동등한 측면에서 이등변삼각형 또는 동등한(그것은 또한 다음과 같습니다면 반대의 동일한 삼각형의 각도는 동일),그리고 모든 각도에서는 정삼각형이 같습니다.

쓰의 테스트 사례.얼마나 많은 있습니까?마이어 요 14 에 대한 질문에 당신의 테스트 설정과 보고서는 고도의 자격을 갖춘 전문가 프로그램 평균 7.8 가능한 14.

실용적인 관점에서,내가 목록을 만들의 테스트는 믿을 통과해야하기 전에 합격입니다.나는 이러한 테스트 및 자동화가 가능합니다.에 기반한 시간이 얼마나 나가 추정한 작업 또는 시간이 얼마나 나에게 주어진 기간 연장을 테스트 범위를 포함하는 품목과해야 하는 이전에 합격입니다.물론,인해야는 주관적이다.그 후 업데이트 자동화 테스트로 버그를 발견되었습니다.

@스

나는 당신이 그것을 못을 박았,코드 범위를 보는 것이 중요하를 보시려면 어떻게"done"당신은,그러나 내가 생각하는 100%비트 비현실적인 목표가 있었다.을 위해 노력 75-90%줄 것이다 당신은 매우 좋은 범위에 바다로 가지 않고...지 않 테스트에 대한 순수 위해 타격의 100%기 때문에,그 시점에서 당신은 단지 당신의 시간을 낭비하고 있다.

좋은 코드 검사 도구를 정말 도움이 됩니다.

100%범위는 것을 의미하지 않는 그것은 확실히 적절하게 테스트,하지만 그것은 좋은 지표이다.

습니다.Net NCover 의 아주 좋은,하지만 더 이상 오픈 소스입니다.


@마이크톤- 그래도 해야되었다"고 범위"-우리는 목표 80%최소한,과거에 대한 95%그것은 일반적으로 체감이 있는 경우에 특히 벨트'n'중괄호 코드입니다.

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