2011-01-19 2 views
2

내가 근무한 대부분의 장소에서 C++/Obj-C 구성 요소의 자동화 된 테스트가 구성 요소에 직접 구현 된 단순한 도메인 특정 언어를 사용하여 수행되었습니다.자동화 된 테스트를위한 도메인 특정 언어, 좋은 아이디어?

do_this 
do_that 
repeat 10 
do_more_stuff_with_args 5 3 
again 

을 ... 그리고 DSL 뭔가 더 또는 덜 복잡 (보통의 호출의 결과로 그 명령을 번역하는 것입니다 : 당신이 아이디어를 얻을 그냥 있도록

, 테스트 스크립트는 다음과 같이 대략 볼 수 하나 또는 여러 개의 C++/Obj-C 함수).

이런 식으로 생각할 때 가장 먼저 생각한 것은 내재 된 DSL보다는 잘 정의 된 언어로 더 잘 작동한다는 것입니다. 예를 들어 Scheme 또는 Lua를 임베드하여 기본 사항을 얻거나 테스트중인 구성 요소를 사용하여 테스트 할 수 있습니다. 파이썬. 스크립팅을 시작하는 것이 더 쉬울 것이라고 생각합니다. 사람들이 이미 언어를 알고 잘 정의되어 있으므로 유지 관리 작업이 줄어들 것입니다. 더 많은 기능을 추가하는 작업이 줄어들 것입니다.

그러나 실제로이 접근 방식을 실제로 본 적이 없으므로이 문제에 대한 귀하의 경험은 무엇입니까? 단순한 테스트입니까? DSL : "여기에 발명되지 않은"증후군의 사례입니까? 아니면 일반적으로 가장 효과적인 길입니까?

+1

일부 사람들은 이러한 DSL을 실제 높이로 사용했습니다. http://cukes.info/ :) – 9000

답변

0

가장 쉬운 중간 단계는 아마도 Python이나 사용자가 제안한 다른 프로그래밍 언어 중 하나와 같은 전체 프로그래밍 언어로 C++/Obj-C 테스트 코드를 생성하는 것입니다. 이미 코드 생성을 수행 중이므로 덜 고통스러운 단계입니다.

0

kotlinski의 아이디어는 테스트 엔지니어가 이러한 DSL 테스트 사례를 작성하도록하는 것일 수 있습니다. 어떤 경우에는, 나는 testengineer의 코드를 실제 java/python/ruby ​​코드로 변환하는 통역사를 작성하려고 생각하고있다.

관련 문제