2012-04-28 7 views
1

수동 UI 테스트에서 테스트 데이터를 처리하는 방법에 대한 제안이 필요합니다. 우리의 응용 프로그램은 데이터베이스에서 작업하고 수동으로 테스트해야하는 데이터가 필요합니다. 민감한 데이터를 처리하기 때문에 테스트 시스템 (또는 개발 시스템)에서 사용하기 위해 생산 데이터를 덤프 할 수 없습니다.테스트 시스템의 생산 데이터

이 문제는 어떻게 처리합니까? 테스트에서이 데이터를 사용하기 위해 생산적인 데이터를 마스킹 할 가능성에 대해 생각하고 있습니다. 무료 또는 오픈 소스 도구가 있습니까? 대량 데이터를 생성 할 가능성이 있기 때문에이 솔루션을 선호합니다. 나는 당신에게 아이디어가 있기를 바란다. 수동으로 테스트 데이터를 작성하는 것은 정말로 시간이 많이 걸릴 것이다.

답변

0

DAO (데이터 액세스 개체)를 통해 데이터에 액세스하는 경우 코드를 테스트하기 위해 해당 개체의 모의 작업을 만들 수 있습니다.이 프로젝트에 Mockito를 사용했습니다. 직접 테스트하는 코드가 데이터베이스에 액세스하는 경우 어떤 종류의 "테스트 데이터베이스"를 가리켜 야합니다 ...

조롱의 추가 기능은 소위 간첩 객체입니다. 기본 실제 객체를 감싸고 있습니다. 여기서 메소드의 일부를 테스트 코드로 오버라이드 할 수 있습니다. 즉, 삭제 사용 불가능, 마스크 작성 등입니다. 모조가 아닌 모든 메소드는 실제 실제 객체로 직접 전달됩니다 ... 체크 아웃 : http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html

+0

그래, 그건 사실이야. 이미 단위 테스트를 위해 모키 토를 사용합니다. 그러나 작동하지 않는 테스트 시스템에서 수동으로 GUI 테스트를 수행합니다. 내 요구 사항은 클라이언트에서 엄청난 양의 데이터를 보는 것입니다. – Kai

+0

몇 가지 가능한 솔루션이 있습니다. 데이터베이스 테스트를 위해 JUnit을 확장 한 경우 http://www.dbunit.org/howto.html을 사용할 수 있습니다. 직접 JDBC 드라이버를 만들어 실제 JDBC 드라이버 위에 필터로 사용할 수 있습니다. http://www.javaworld.com/javaworld/jw-05-2002/jw-0517-jdbcdriver.html –

+0

누군가가 이것에 대해 처음 질문했을 때 : http://stackoverflow.com/questions/266370/how-do-i-unit-test-jdbc-code-in-java –

2

RedGate SQL 데이터 마스커 http://www.red-gate.com/labs/sql-data-masker/이 문제를 해결하기 위해 설계되었지만 무료 또는 오픈 소스는 아닙니다. 당신은 "임의의"빌드를 통해 "구매"를 찾고있는 것처럼 들리지만, 많은 정크를 생성하기 위해 무작위 화 함수로 루프 할 수 있습니다.

+0

이 SQL Server 만 작동합니다. – Kai

1

마스킹 할 때 고려해야 할 여러 가지 점이 있습니다. 예를 들면 :

  • 모든 민감한 데이터가 데이터베이스 내에있는 위치를 알고;
  • 참조 무결성이 얼마나 중요합니까?
  • 은 시간이 지남에 따라 일관성이 있으며 필요한 데이터베이스에서 일관성이 있습니다.
  • 어느 정도까지 각 데이터를 식별 해제하기를 원하십니까?
  • 전체 데이터베이스를 마스킹해야합니까?

이러한 항목을 수동으로 충족시킬 수 있다면 정말 좋습니다. 그러나 회사 및 데이터베이스를 노출로부터 보호하는 것은 물론 비용을 낮추면서 적시에이 작업을 수행하려는 경우 www.datamasking에서 데이터 마스킹에 대한 모범 사례를 살펴 보시기 바랍니다. .com

희망이 있습니다.