2013-12-16 9 views
0

매우 일반적인 자동화/작업 실행 도구에 대한 권장 사항을 찾고 있습니다. 범위는 스크립트, Anecess 또는 Puppet과 같은 제작 도구 및 오케스트레이션 도구와 같은 빌드 시스템 사이의 다소 차이가 있습니다. 내가 할 수있는 최선의 방법은 내 모호한 '요구 사항'을 묘사하고 다른 사람들이 이러한 문제를 어떻게 해결했는지 단서를 찾을 수 있기를 바랍니다. 긴 설명에 대해 유감스럽게 생각합니다. 나는 그 솔루션이 무엇을 원하는지 정확히 알지 못합니다. 나는 항상 그 해답을 프로그래밍하는 것으로부터 이익을 얻지 만, 여기 열린 질문을 받아 들일 수 있을지 확실하지는 않습니다.다양한 작업 자동화 및 배관

- 우리는 기업 환경에서 데이터 분석가/시스템 검사기로 작업합니다. 우리는 다양한 업무를 수행하고 끊임없이 변화하는 많은 시스템과 상호 작용합니다. 우리가하는 각각의 작은 단계는 틀림없이 평범한/쉬운 것입니다. 그러나 약간 다른 입력이나 조합을 가진 많은 반복이 반복되는 경우 더 큰 그림 만 형성됩니다. 그것은 건초 더미에서 바늘을 찾는 것과 조금 비슷합니다. 그러나 구체적인 문제는 매번 약간 다릅니다. 따라서 정상적인 스크립트 또는 자동화 도구를 사용하기가 어려워지며 더 많은 구조가 필요합니다. 그러나 큰 팀없이 반 매뉴얼을 수행한다고해서 우리가 원하거나 필요로하는 모든 분석/사례를 처리 할 수는 없습니다.

일반적인 예제는 공급 업체 시스템에서 큰 계산을 설정하고 웹 서버에서 ASCII 출력을 추출하여 파싱하는 작업을 포함 할 수 있습니다. 그런 다음 일련의 구성 파일과 데이터베이스에서 원시 입력 데이터를 빨아들입니다. 이것은 C++에 살고있는 자생 복제 도구/모델의 일부로 연결됩니다. 그런 다음 시스템의 결과와 복제본 모두 흥미로운 특이점 (예 : 회귀 테스트)을 검색 한 다음이 하위 집합 만 조사 대상인 인간 분석가가 업로드하여 Excel 시트에 멋지게 표시합니다.

일회용 또는 어쩌면 특수 도구/스크립트를 사용하여 이러한 모든 작업을 손쉽게 수행 할 수 있습니다. 우리는 조금씩 다른 설정을 반복해서 할 수 없습니다. 우리는 몇 가지 입력에 의해 전문화 된 '공통 작업'을위한 라이브러리가 필요합니다 (예 : 시계열을 다운로드하고 이상치를 스캔하는 작업 - 매개 변수는 db 액세스/로그인 일 것입니다. 문맥). 그런 다음 복잡한 작업을 반복적으로 반복 할 수 있도록하기 위해 이러한 작업을 묶어 원자 단위로 구축해야합니다.

아무 것도 발견하지 못했습니다. 사용 가능한 각 틈새 시장을위한 전문 스크립팅 또는 도구가있는 것 같지만 수행해야 할 모든 다른 작업을 결합하지는 않습니다.

필자는 파이썬 '스크립트'/ 래퍼 세트를 제어하는 ​​최소한의 sqlite 데이터베이스를 사용하여 지금까지 해왔다. 이 스크립트는 데이터베이스에서 입력 매개 변수를 가져오고 데이터베이스를 기반으로 연결/파이프됩니다. 스크립트는 데이터베이스에 결과를 다시 작성합니다. 대부분은 일반 텍스트와 부동/int로 사용됩니다. 이런 종류의 db 인터페이스는 오류가 발생하기 쉽고 사람이 복잡합니다. 아이디어는 (템플릿) 스크립트를 (구체적인/매개 변수화 된) 스크립트를 실행하기 전에 db에 쓰도록하는 것입니다. 이것이 똑똑한 생각인지는 모르겠지만 db는 이러한 빌딩 블록 스크립트 사이에서 많은 상호 작용없이 스크립트를 구동합니다. 기존 스크립트를 사용하여 서로를 호출하고 생각한 후에 데이터베이스에 데이터를 덤핑하는 것보다 지금까지 우리는 모든 시스템과 대화하고 작업을 수행 할 수있는 많은 별도의 래퍼 (스크립트)를 가지고 있습니다. 정말 실종 된 것은 모든 것을 묶어 제어하는 ​​것입니다.

큰 데이터 세트를 속도 나 스케일링하는 것이 아니라, 데이터/플로우 투명성, 반복성, 미니 프로그램을 더 큰 단위로 연결하는 데 관심이 있습니다. 더 무거워지는 모든 작업은 우리가 상호 작용하는 시스템에서 수행되거나,이 python 스크립트에서 호출되는 C++로 위임됩니다. 이것은 더 많은 안정성과 고정 된 목표를 가진 생산 시스템이 아니라 유연한 분석/조사 도우미입니다.

저는 이전에 누군가가 이전에 정확하게 그 문제를 해결하여 생산성을 심각하게 제한하기를 바랍니다. 우리는 솔루션이나 아이디어를 뒷받침 할 수 있습니다.

답변

0

(Software Test Automation Framework)을 권해드립니다. 오픈 소스, 분산 및 크로스 플랫폼입니다. 거의 모든 플랫폼에서 모든 작업이 실행됩니다. 그것은 특정 목적을 위해 사용할 수있는 다양한 플러그인 "서비스"를 가지고 있거나 자신 만의 맞춤 서비스를 만들 수 있습니다. 스크립팅을 통해 기능을 확장 할 수도 있습니다 () IBM의 사용자 포럼을 통해 문서화되고 잘 지원됩니다.