매우 복잡한 계산과 관련된 응용 프로그램 테스트에 자동화를 사용하는 방법은 무엇입니까?
-
23-08-2019 - |
문제
복잡한 계산과 관련된 응용 프로그램을 테스트하기 위해 다음을 따르고 싶습니다.
- 계산 테스트를 위해 테스트 자동화 도구를 사용하는 방법 (QTP 또는 오픈 소스 도구와 같은 자동화 도구 사용)
- 계산을 테스트하는 동안 적용 범위를 결정하는 방법, 테스트 케이스를 설계하는 방법은 무엇입니까?
미리 감사드립니다, Testmann
해결책
우리는 우리가 구축 한 응용 프로그램에서 정말 복잡한 계산을 테스트해야했습니다. 이를 위해 우리는 Wiki Test Harness (및 오픈 소스) 인 Tool Call Fitnesse를 사용했습니다. 테이블 스타일 형식으로 데이터를 제공 할 때 실제로 잘 작동합니다.
C#에는 매우 복잡한 계산을 수행하는 코드가있었습니다. 그래서 우리가 한 일은 Fitnesse에 테스트 하네스를 작성한 다음 많은 테스트 데이터를 제공했습니다. 우리는 모든 사례를 다루기 위해 열심히 노력했기 때문에 모든 내부 진실 테이블을 활용하여 모든 데이터 입력 조합을 얻을 수 있도록했습니다.
Fitnesse 테스트 하네스는 요구 사항 변경으로 인해 시간이 지남에 따라 계산의 복잡성이 변경되었으므로 매우 중요했습니다. Fitnesse 테스트가 매우 멋진 회귀 제품군 역할을하기 때문에 계산의 정확성을 보장 할 수있었습니다.
다른 팁
때로는 예상되는 결론을 추정 한 다음 프로그램 실행에서 테스트 사례를 채워야합니다.
그것이 옳다고 확신하는 한 그것은 필사의 죄가 아닙니다. 그러면 해당 테스트는 코드 변경이 코드를 중단하는 경우 즉시 알려줍니다. 또한 서브 세트를 테스트하는 경우 그다지 큰 신뢰가 아닙니다.
그리고 적용 범위? 모든 지점을 적어도 한 번은 덮으십시오 (즉, IF 또는 루프 명령문). 모든 임계 값, 양쪽의 양면 (정수 분할의 경우 -1, 0 및 1이 분모로)을 덮으십시오. 그런 다음 좋은 측정을 위해 몇 가지를 추가하십시오.
기존 코드를 테스트하려면 코드가 (대부분) 올바른 것으로 가정해야합니다. 따라서 데이터를 제공하고 실행하고 결과를 기록하십시오. 그런 다음 기록 된 결과를 테스트 케이스에 사용하십시오.
다음 변경을 수행하면 출력도 변경되어 테스트가 실패합니다. 새로운 결과를 기대했던 것과 비교하십시오. 불일치가 있다면, 당신은 뭔가 빠진 것입니다 -> 다른 테스트를 작성하여 무슨 일이 일어나고 있는지 알아냅니다.
이렇게하면 알려지지 않은 시스템에 대한 전문 지식을 구축 할 수 있습니다.
적용 범위를 요청하면 실제 계산에 대한 적용 범위 데이터를 만들 수 없다고 가정합니다. 이 경우 모든 계산이 실행되었는지 확인하고 여러 입력으로 공급하십시오. 그것은 당신에게 진행 방법을 알려줄 것입니다.