매우 복잡한 계산과 관련된 응용 프로그램 테스트에 자동화를 사용하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/545842

문제

복잡한 계산과 관련된 응용 프로그램을 테스트하기 위해 다음을 따르고 싶습니다.

  1. 계산 테스트를 위해 테스트 자동화 도구를 사용하는 방법 (QTP 또는 오픈 소스 도구와 같은 자동화 도구 사용)
  2. 계산을 테스트하는 동안 적용 범위를 결정하는 방법, 테스트 케이스를 설계하는 방법은 무엇입니까?

미리 감사드립니다, Testmann

도움이 되었습니까?

해결책

우리는 우리가 구축 한 응용 프로그램에서 정말 복잡한 계산을 테스트해야했습니다. 이를 위해 우리는 Wiki Test Harness (및 오픈 소스) 인 Tool Call Fitnesse를 사용했습니다. 테이블 스타일 형식으로 데이터를 제공 할 때 실제로 잘 작동합니다.

C#에는 매우 복잡한 계산을 수행하는 코드가있었습니다. 그래서 우리가 한 일은 Fitnesse에 테스트 하네스를 작성한 다음 많은 테스트 데이터를 제공했습니다. 우리는 모든 사례를 다루기 위해 열심히 노력했기 때문에 모든 내부 진실 테이블을 활용하여 모든 데이터 입력 조합을 얻을 수 있도록했습니다.

Fitnesse 테스트 하네스는 요구 사항 변경으로 인해 시간이 지남에 따라 계산의 복잡성이 변경되었으므로 매우 중요했습니다. Fitnesse 테스트가 매우 멋진 회귀 제품군 역할을하기 때문에 계산의 정확성을 보장 할 수있었습니다.

다른 팁

때로는 예상되는 결론을 추정 한 다음 프로그램 실행에서 테스트 사례를 채워야합니다.

그것이 옳다고 확신하는 한 그것은 필사의 죄가 아닙니다. 그러면 해당 테스트는 코드 변경이 코드를 중단하는 경우 즉시 알려줍니다. 또한 서브 세트를 테스트하는 경우 그다지 큰 신뢰가 아닙니다.

그리고 적용 범위? 모든 지점을 적어도 한 번은 덮으십시오 (즉, IF 또는 루프 명령문). 모든 임계 값, 양쪽의 양면 (정수 분할의 경우 -1, 0 및 1이 분모로)을 덮으십시오. 그런 다음 좋은 측정을 위해 몇 가지를 추가하십시오.

기존 코드를 테스트하려면 코드가 (대부분) 올바른 것으로 가정해야합니다. 따라서 데이터를 제공하고 실행하고 결과를 기록하십시오. 그런 다음 기록 된 결과를 테스트 케이스에 사용하십시오.

다음 변경을 수행하면 출력도 변경되어 테스트가 실패합니다. 새로운 결과를 기대했던 것과 비교하십시오. 불일치가 있다면, 당신은 뭔가 빠진 것입니다 -> 다른 테스트를 작성하여 무슨 일이 일어나고 있는지 알아냅니다.

이렇게하면 알려지지 않은 시스템에 대한 전문 지식을 구축 할 수 있습니다.

적용 범위를 요청하면 실제 계산에 대한 적용 범위 데이터를 만들 수 없다고 가정합니다. 이 경우 모든 계산이 실행되었는지 확인하고 여러 입력으로 공급하십시오. 그것은 당신에게 진행 방법을 알려줄 것입니다.

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