소프트웨어 테스트 기법을 읽고 배운 내용

4421 단어 테스트

샀던 책



소프트웨어 테스트 기법
Part1을 마쳤기 때문에 배운 것을 기록

동치 분할법



테스트 결과에서 같은 결과가 되는 것을 그룹으로 나누어 그 안에서 대표가 되는 값만 테스트를 한다.
예를 들어 이달의 획득 포인트에 따라 다음 달의 회원 랭크가 결정되는 처리
다음과 같은 조건이었을 경우

그림 1 동치 분할 방법의 예


아니
획득 포인트
다음 달 회원 순위
대표값


1
0-100
일반
50

2
101-500
청동
300

3
501-1000
실버
750

4
1001-

2000년


동일한 값 분할 방법은 동일한 결과로 범위로 나누어 그 중 하나만 테스트를 수행합니다.
그렇게 함으로써, 그 범위 내의 동작이 맞다고 판단하는 테스트.
다만, 소스 코드의 편성에 따라서는, 대표치만의 테스트에서는 부족한 경우도 있을 수 있다.
public static String getRank(int point) {
    switch(number) {
        case 0:
            return "ノーマル";
            break;
        case 1:
            return "ノーマル";
            break;
        // caseが100まで続く
        case 32:
            return "ブロンズ";
            break;
        // caseが100まで続く
        case 100:
            return "ノーマル";
            break;
    }
}

이런 소스 없다고는 생각하지만, 만약 잘못해 32때에 브론즈를 돌려준다고 쓰고 있었던 경우,
동치분할법의 테스트에서는 결함을 발견할 수 없다.
정적 분석 도구, 검토에서 위와 같은 문제가 해결되어야하므로 큰 문제가되지 않을 것입니다.

경계값 분석



동치 분할법으로 분할한 클래스의 경계치를 테스트하는 수법
도 1을 예로 들어, 정상과 청동 사이의 경계 인 100, 101을 테스트한다.
100은 일반
101은 청동이어야합니다.


// こんなメソッドがあった場合に不具合に気づくことができる。
public static String getRank(int point) {
    if (0 <= point && point < 100) { // <= 100とすべきだが間違っている!!
        return "ノーマル";
    } else if(101 <= point && point <= 500) {
        return "ブロンズ";
    }
}

지식으로 가지고 있는 것을 사용해, 실제로 테스트 케이스를 작성해 가는 연습을 할 수 있었습니다!

좋은 웹페이지 즐겨찾기