2010-01-23 6 views
5

현재 Process 360이라는 글로벌 360 BPM 도구 세트를 사용하는 대규모 BPM 프로젝트에서 작업하고 있습니다. 이 제품은 모델링하려는 특정 비즈니스 프로세스의 흐름을 정의하는 여러 "프로세스 맵"을 디자인하고 다른 기능을 수행하는 함께 연결된 여러 작업 노드로 구성되어 있다는 점에서 다른 많은 BPM 솔루션과 유사하게 작동합니다 (웹 서비스 호출 등).단위 테스트는 BPM 개발에 적합합니까?

현재 프로세스 맵 경로의 테스트를 자동화하기 위해 도구 세트가 제공하는 방법이 없기 때문에 현재 릴리스의 품질 보증 단계에서 매우 심각한 문제가 발생하고 있습니다. 따라서 크고 복잡한 프로세스가 개발되어 테스트 팀에 넘겨지면 종종 문제가 많이 발생합니다. 분명히 문제가 품질 보증에서 나올 것으로 예상되지만, 우리가 사용할 수있는 일종의 자동화 된 테스트 프레임 워크가 있다면 개발 중에 버그 등이 많이 발견 될 수 있다는 느낌을 줄 수는 없습니다. 프로세스 맵에서 다양한 경로를 증명하는 단위 테스트 세트를 구축하십시오.

현재 발생하는 유일한 실제 개발 테스트는 개발자가 수행 한 기능 테스트와 유사하며 테스트 케이스 당 일련의 수동 단계로 문서화됩니다. 이 접근 방식의 문제점은 개발자가 수동으로 실행하는 데 시간이 오래 걸리며 이로 인해 상대적으로 오류가 발생하기 쉽다는 것입니다. 또한; 우리는 대개 일정이 매우 엄격하기 때문에 테스트를 자주 실행하지 않아 문제를 조기에 발견 할 수 없습니다.

앞서 언급했듯이; 현재 자동화 된 테스트를 수행하기 위해 현재 툴 세트가 제공하는 방법이 없습니다. 왜 실제로 그 생각을 들었습니까? 전체 BPM 씬에 대해 매우 새롭다는 가정하에, 이것은 제품에 부족한 기능 이었지만, "단위 테스트"가 BPM 세계에서 전통적으로 수행되지 않았는지 궁금합니다. 아마도 이런 종류의 작업에 적합하지 않은 것일까 요?

다른 사람들이 이런 종류의 문제에 부딪혔다는 것을 알고 싶습니다. 또한 개선해야 할 사항이 있다면 무엇이 있을지 알고 싶습니다. 글로벌 없습니다 360 관련 불구하고

답변

2

다른 상업용 BPM 인 K2.net 2003을 사용하여 "단위 테스트"를 수행했습니다. 테스트 서버가 필요하고 상대적으로 느리기 때문에이 통합 테스트를 호출합니다. 그러나 자동화되어 있습니다.

Professional K2 blackpearl (이 내용은 K2.net 2003에도 적용됩니다)에 대한 좋은 토론이 있습니다.

플랫폼에 적용하려면 도구 세트에 프로세스 인스턴스 시작, 작업 항목 가져 오기, 작업 항목 완료 등을 허용하는 API가 있어야합니다. 지원되는 언어 (C# 사용) 및 테스트 프레임 워크 (나는 NUnit을 사용했다). API가 동기 호출을 지원하는 경우, 이것은 더 쉽습니다.각 테스트의 경우 :

    는 가 진행 작업 항목은
  1. 설정 프로세스 인스턴스 데이터가 적절하게
  2. 가 작업 항목을
  3. 어설를 완료 결정 포인트에 대한 작업 항목입니다
  4. 것을 테스트중인 프로세스를 시작
  5. 현재 예상 활동에 있음
  6. 프로세스 인스턴스 삭제 또는 완료

기본 테스트 클래스 또는 도우미 메서드를 사용하면이 작업을보다 쉽게 ​​수행 할 수 있습니다. 테스트지도 용으로 DSL이라고 쓸 수도 있습니다.

본질적으로 프로세스/맵의 모든 "테스트 적용 범위"를 원할 때마다 모든 결정 포인트를 테스트하고 올바른 분기가 수행되도록하십시오.

3

것은 나는 그것에 대해 뭔가를 보았다 : using bpelunit for testing processes

나는 워크 플로우 도구를 개발하고 최종 사용자에게 엔진을 테스트하기 위해 사용 된 테스트 도구를 열기위한 수요 증가가있다.

1

관련이 있지만 동일하지 않은 BPM에는 두 가지 측면이 있습니다.

도구 및 기술 공급 업체가 제공하는 기능에 대한 BPM이 있습니다.

또한 Enterprise Architects가 옹호하는 BPM은 우수 센터 설립에 관한 것입니다.

전자는 회사에서 소프트웨어를 구입하는 곳입니다.

후자는 회사가 IT 직원의 행동에 체계적이고 본질적인 변화를 일으키는 곳입니다.

전자는 후자의 서비스에 있어야하지만 반드시 그런 것은 아닙니다. 전자를 획득하는 것은 필요하지만 후자를 달성하기에 충분하지 않습니다.

Global 360이 테스트 주도 개발이라는 것을 얼마나 잘 지원하는지 모르겠지만 JBoss jBPM은 JUnit 테스트를 쉽게 작성하기 위해 tool support을 제공합니다.

그러나이 도구는 개발자가 TDD 원칙을 작성하거나 TDD 원칙을 채택하도록 할 수 없으며 강제하지 않을 수도 있습니다.

관련 문제