Brad Barker
그는 물었다 12년 전
6

엄격한 캡처을 의 유닛 테스트를 위해 테스트 케이스

39 의 말하도다 let& 우리는 간단한 함수를 정의해야 dtep 욕금지

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

우리는 목록 번호 및 부울입니다 specifying 올림차순 또는 내림차순으로 작업공간에서 전달하십시오 정렬하지 않음. 얻고 정렬할지 보상으론, 숫자 목록.

내 경험상, 어떤 사람들은 다른 사람들보다 더 잘 캡처을 경계 조건이 있다. 문제는, # 39, & # 39 done& &quot 때, 어떻게 알 수 있습니다. 테스트 cases&quot 캡처을,?

우리는 이제 & # 39 건, 일부 똑똑한 사람이 열거합니다 시작할 수 있게 한 more& # 39, 생각할 것이라고 말합니다. # 39, t isn& 경우 이를 다루는 모든 이전.

Dan Bryant
그는 10년 전 댓글을 달았습니다
0

일체형 이용한 간단한 방법을 통해 이를 실행하십시오 페스. 놀랄 것도 찾을 수 있습니다. http://research.microsoft.com/en-us/projects/pex/

답변 5 개

, T # 39 don& 그들이실천하는 시간이 너무 많이 하는 모든 조건을 보런드리 것 같다. , T # 39 너회의 won& 버그 테스트를 한 번에 모든 잡아낼 수 있다. 이 아이디어는 테스트를 할 때마다 아주 좋다고 은 않는비즈니스 후 버그가 있는 버그 도왔으매 서피스를 쓰기 위해 특별히 새로운 테스트 다시 의견을 들어 본 적 없어.

코드 커버리지 툴들은 대한 다른 메모를 만들고 싶은. C #, Java 언어로 get / set 과 유사한 방법을 많이 같은 위치의 합니다 100% 를 투여했습니다 슈팅 수 없습니다. 즉, 너무 많은 시간을 낭비하고 틀렸다니까 대한 테스트를 먹어서나 사소한 코드입니다. 만 복잡한 비즈니스 로직을 100% 에 서비스 하고 있습니다. 코드 커버리지 경우 전체 70-80% 에 가까울수록 잘하고 있습니다. 코드 커버리지 범위 메트릭에 경우 & # 39 는 여러 도구를 사용하면 가장 한 블록 coverage& # 39;; # 39, & # 39, 기본 적용 범위를 blocks& 있는 것이다. 다른 유형은 클래스 및 방법을 제공 (don& 있는 많은 정보를 제공하십시오 # 39, t) 과 선 서비스 (원하는거요 너무 좋아 같으니이).

&gt. # 39, & # 39 done& 때 어떻게 알 수 있다. 테스트 케이스 캡처을?

39, t.유 너회가 don& can& 100% # 39 건, 가장 가벼운 제외한 수 없다. 또한 100% 범위 (라인 패스이므로 로드하십시오.) # 39 doesn& you& # 39, ve, t tell you hit 모든 경계 조건.

무엇보다 테스트 케이스를 잊고, 쓰기 않습니다. 찾을 때마다 추가로 test. 버그 체크 실패하고, 쓰기, 원본 프로그램을 통해 확인해 교정됨 패스 테스트 프로그램 및 추가해 설정되었습니다.

[ The Art of 소프트웨어 테스트 ] [1] 에서 발췌한 내용입니다 마이어스 (글렌퍼드 j.:

  1. 입력 값 범위, 쓰기 테스트 케이스를 지정하는 경우 찼음을 끝의 범위 및 테스트 케이스 잘못된 입력입니다. 경우 그냥 넘어 끝난다.
  2. 입력 값의 개수를 지정하는 경우 조건, 쓰기 위한 테스트 케이스 최소값과 최대값입니다 가치와 한, 그 아래에 있는 이 값을.
  3. 각 출력 1 을 사용하는 것이 알려졌다.
  4. 이어 2 를 사용하여 각 출력 상태.
  5. 이 경우 프로그램의 입력 또는 출력입니다 순서화된 전념할 설정되었습니다 첫 번째 및 마지막 요소를 설정되었습니다.
  6. 또 다른 독창성과 사용하여 검색할 경계 조건

( I& # 39 만, ve 붙여넣거나 베어 필요한 최소한의 저작권 reasons.)

방향점 3 및 4 위 매우 중요하다. 사람들이 잊지 경향이 경계 조건을 출력입니다. 5. 정상입니다. # 39, 정말 doesn& 6.을 (를) t help :-)

파선-짧은 시험

이 보다 더 어려운 일이 보입니다. 마이어스 는 이 테스트:

&gt. 이 프로그램은 3 에서 정수 값을 판독합니다 입력입니다 대화. 세 변의 길이를 나타내는 값을 삼각형. 이 프로그램은 메시지에 등변 삼각형 또는, 부등변 이등변의 나열할지 표시하고 있다.

&gt. 그 중 하나가 없는 반면, 부등변 너희에게베풀어진 삼각형 두 개의 삼각형을 한 바 있으며, 옆면은 비유하 이등변의 한 변의 길이가 같은 3 개의 정삼각형 있다. 또 ᄀ형강 반대쪽 면 비유하 작업공간에서 이등변의 삼각형 등도 비유하 (삼각형 안에 있는 또 다른 면을 inet6.0 비유하 ᄀ형강 불일치), 모든 ᄀ형강 작업공간에서 정삼각형 불일치.

테스트 케이스 작성합니다. 가부키쇼 있습니까? 마이어스 묻는 질문에 대한 테스트 세트 및 자격을 갖춘 전문 프로그램 평균 7.8 아웃해야 14 수 있다는 보고서를 14.

[1]: http://www.amazon.com/art-software-testing-second/dp/ 0471469122

실용적인 측면에서 볼 때, I believe I 에서 목록을 작성하기 전에 테스트를 통과해야 제공/제품. 내가 이 테스트 및 자동화합니다 가능하면. 얼마나 많은 시간을 기준으로 I& # 39, ve 작업 또는 예상되는 만큼 내가 얼마나 많은 시간을 I& # 39, ve been 확장하십시오 테스트 서비스 제공 전에 내 포함시키십시오 항목과의 제공/제품 통과해야 합니다. 물론 하는 것은 주관적인 구분도 합니다. 그 이후로, 저는 로 업데이트 오토메이티드 테스트를 버그들은 발견됐다.

@Keith

코드 커버리지 보는 것이 중요하다고 생각해요, 꼭 보고 싶지 않으면 어떻게 &quot done"; 하지만 난 틀렸다니까 100% 가 약간 비현실적인 목표를 세웠다. 아주 좋은 서비스를 제공하기 위해 노력하고 75-90% 는 통하지 않고 알려왔다. # 39, t don& 순결케 대한 테스트를 위해 100%, 그 시점에서 타격 때문에 그냥 틀렸다니까 낭비하는 시간도 뺐기셨으니까

코드 커버리지 좋은 도구에서는 정말 도움이 됩니다.

39 는 서비스 doesn& 100% # 39, s, t 짓궂군요 데이텀이 말해둘꼐요 있지만 제대로 테스트되었습니다 it& 좋은 표시등입니다.

상당히 좋은 것이 아니라 더 이상 NCover& .Net 용 # 39 의 오픈 소스.

- @Mike 스톤 네, 아마도 그동안 &quot, 높은 coverage&quot 한다. - 우리는 과거를 통해 약 95% s it& 최소 80% # 39, & # 39, 일반적으로 수확 체감 경우에는 더욱 벨트 n& # 39. 중괄호 코드입니다.