소프트웨어 테스팅에서 테스트 데이터란 무엇입니까?
테스터로서 '테스트 케이스를 디자인하는 것만으로도 충분히 어려운데 왜 테스트 데이터처럼 사소한 일에 신경을 쓰는가'라고 생각할 수도 있습니다. 이 튜토리얼의 목적은 테스트 데이터와 그 중요성을 소개하고 테스트 데이터를 신속하게 생성하기 위한 실용적인 팁과 요령을 제공하는 것입니다. 자, 시작해 봅시다!
소프트웨어 테스팅에서 테스트 데이터란 무엇입니까?
소프트웨어 테스팅의 테스트 데이터 테스트 실행 중에 소프트웨어 프로그램에 제공되는 입력입니다. 테스트하는 동안 소프트웨어 실행에 영향을 미치거나 영향을 받는 데이터를 나타냅니다. 테스트 데이터는 기능이 주어진 입력에 대해 예상된 결과를 생성하는지 확인하기 위한 포지티브 테스트와 비정상적이거나 예외적이거나 예상치 못한 입력을 처리하는 소프트웨어 능력을 테스트하기 위한 네거티브 테스트에 모두 사용됩니다.
잘못 설계된 테스트 데이터는 가능한 모든 테스트 시나리오를 테스트하지 못할 수 있으며 이로 인해 소프트웨어 품질이 저하될 수 있습니다.
테스트 데이터 생성이란 무엇입니까? 테스트 실행 전에 테스트 데이터를 생성해야 하는 이유는 무엇입니까?
테스트가 많은 양의 데이터를 생산하고 소비하는 프로세스라는 것은 누구나 알고 있습니다. 테스트에 사용되는 데이터는 테스트의 초기 조건을 설명하고 테스터가 소프트웨어에 영향을 미치는 매체를 나타냅니다. 대부분의 중요한 부분입니다 기능 테스트.
테스트 환경에 따라 테스트 데이터를 생성하거나(대부분의 경우) 최소한 테스트 케이스에 적합한 테스트 데이터를 식별해야 할 수도 있습니다(테스트 데이터가 이미 생성되어 있는지).
일반적으로 테스트 데이터는 동기화되어 생성됩니다. 테스트 사례 용도로 사용하도록 되어 있습니다.
테스트 데이터 생성 가능 –
- 수동으로
- 프로덕션에서 테스트 환경으로 데이터 대량 복사
- 레거시 클라이언트 시스템의 테스트 데이터 대량 복사
- 자동화된 테스트 데이터 생성 도구
일반적으로 샘플 데이터는 테스트 실행을 시작하기 전에 생성해야 합니다. 그렇지 않으면 테스트 데이터 관리를 처리하기 어렵기 때문입니다. 테스트 데이터를 생성하는 많은 테스트 환경에는 여러 사전 단계가 필요하거나 시간이 많이 걸리는 테스트 환경 구성이 필요합니다. . 또한 테스트 데이터 생성이 완료되면 동안 테스트 실행 단계에 있으므로 테스트 기한을 초과할 수 있습니다.
아래에는 테스트 데이터 요구 사항에 관한 몇 가지 제안 사항과 함께 여러 테스트 유형이 설명되어 있습니다.
흰색에 대한 테스트 데이터 Box 지원
In 백 Box 지원, 테스트 데이터 관리란 테스트할 코드의 직접 검사에서 파생됩니다. 테스트 데이터는 다음 사항을 고려하여 선택할 수 있습니다.
- 가능한 한 많은 가지를 다루는 것이 바람직합니다. 프로그램 소스 코드의 모든 분기가 적어도 한 번 테스트되도록 테스트 데이터가 생성될 수 있습니다.
- 경로 테스트: 프로그램 소스 코드의 모든 경로는 최소한 한 번 테스트됩니다. 테스트 데이터 준비는 가능한 한 많은 사례를 포괄하도록 수행될 수 있습니다.
- 부정 API 테스팅:
- 테스트 데이터에는 다른 메소드를 호출하는 데 사용되는 잘못된 매개변수 유형이 포함될 수 있습니다.
- 테스트 데이터는 프로그램의 메소드를 호출하는 데 사용되는 잘못된 인수 조합으로 구성될 수 있습니다.
성능 테스트를 위한 테스트 데이터
성능 시험 특정 작업 부하에서 시스템이 얼마나 빨리 응답하는지 확인하기 위해 수행되는 테스트 유형입니다. 이러한 유형의 테스트의 목표는 버그를 찾는 것이 아니라 병목 현상을 제거하는 것입니다. 성능 테스트의 중요한 측면은 사용된 샘플 데이터 세트가 다음과 매우 유사해야 한다는 것입니다. '진짜' 혹은 '살아있는' 생산에 사용되는 데이터입니다. 다음과 같은 질문이 생깁니다. '좋아요, 실제 데이터로 테스트하는 것이 좋지만 이 데이터를 어떻게 얻을 수 있을까요?' 답은 매우 간단합니다. 가장 잘 아는 사람들로부터 – 고객. 그들은 이미 가지고 있는 일부 데이터를 제공할 수도 있고, 기존 데이터 세트가 없는 경우 실제 데이터가 어떻게 보일지에 대한 피드백을 제공하여 도움을 줄 수도 있습니다. 당신이 다음에있는 경우 유지 보수 테스트 프로젝트에서는 프로덕션 환경의 데이터를 테스트 베드로 복사할 수 있습니다. 다음을 수행하는 것이 좋습니다. 익명화 (스크램블) 주민등록번호, 신용카드 등 민감한 고객 데이터 Numbers복사하는 동안 은행 계좌 정보 등을 입력합니다.
보안 테스트를 위한 테스트 데이터
보안 테스트 정보 시스템이 악의적인 의도로부터 데이터를 보호하는지 여부를 판단하는 프로세스입니다. 소프트웨어 보안을 완전히 테스트하기 위해 설계해야 하는 데이터 집합은 다음 주제를 포함해야 합니다.
- 기밀 유지: 고객이 제공한 모든 정보는 가장 엄격한 기밀로 유지되며 외부 당사자와 공유되지 않습니다. 간단한 예로, 애플리케이션이 SSL을 사용하는 경우 암호화가 올바르게 수행되었는지 확인하는 테스트 데이터 세트를 설계할 수 있습니다.
- Integrity: 시스템에서 제공한 정보가 올바른지 확인합니다. 적합한 테스트 데이터를 디자인하려면 디자인, 코드, 데이터베이스 및 파일 구조를 심층적으로 살펴보는 것부터 시작할 수 있습니다.
- 입증: 사용자의 신원을 확인하는 프로세스를 나타냅니다. 테스트 데이터는 사용자 이름과 비밀번호의 다양한 조합으로 설계될 수 있으며 그 목적은 승인된 사람만 소프트웨어 시스템에 액세스할 수 있는지 확인하는 것입니다.
- 권한 부여: 특정 사용자의 권리가 무엇인지 알려줍니다. 테스트 데이터에는 다양한 사용자, 역할 및 조합이 포함될 수 있습니다. 운영 충분한 권한이 있는 사용자만 특정 작업을 수행할 수 있는지 확인합니다.
검정색에 대한 테스트 데이터 Box 지원
블랙 Box 코드 테스트는 테스터에게 보이지 않습니다. 기능 테스트 케이스에는 다음 기준을 충족하는 테스트 데이터가 있을 수 있습니다.
- 데이터가 없습니다: 데이터가 제출되지 않은 경우 시스템 응답을 확인합니다.
- 유효한 데이터: 유효한 테스트 데이터 제출 시 시스템 응답 확인
- 유효하지 않은 데이터: 다음과 같은 경우 시스템 응답을 확인합니다. 유효하지 않은 테스트 데이터가 제출되었습니다
- 잘못된 데이터 형식: 테스트 데이터의 형식이 잘못된 경우 시스템 응답을 확인합니다.
- 경계 조건 데이터세트: 경계값 조건을 충족하는 테스트 데이터
- 동등한 파티션 데이터 세트: 동등한 파티션을 검증하는 데이터를 테스트합니다.
- 의사결정 테이블 데이터 세트: 의사결정 테이블 테스트 전략을 검증하는 테스트 데이터
- 상태 전환 테스트 데이터 세트: 상태 전환 테스트 전략을 충족하는 테스트 데이터
- 사용 사례 테스트 데이터: 사용 사례와 동기화된 테스트 데이터입니다.
주의 사항: 테스트할 소프트웨어 응용 프로그램에 따라 위의 테스트 데이터 생성 중 일부 또는 전부를 사용할 수 있습니다.
자동화된 테스트 데이터 생성 도구
다양한 데이터 세트를 생성하기 위해 다양한 자동화된 테스트 데이터 생성 도구를 사용할 수 있습니다. 다음은 이러한 도구의 몇 가지 예입니다.
DTM 테스트 데이터 생성기는 데이터베이스 테스트(성능 테스트, QA 테스트, 로드 테스트 또는 유용성 테스트) 목적으로 데이터, 테이블(뷰, 프로시저 등)을 생성하는 완전히 사용자 정의 가능한 유틸리티입니다.
데이터텍은 SQL Banner Software의 데이터 생성기는 다양한 현실적인 테스트 데이터를 ASCII 플랫 파일로 생성하거나 RDBMS를 포함한 테스트 데이터를 직접 생성합니다. Oracle, Sybase, SQL Server 및 Informix를 포함합니다.
결론
결론적으로, 잘 설계된 테스트 데이터를 사용하면 기능의 심각한 결함을 식별하고 수정할 수 있습니다. 선택한 테스트 데이터는 다단계 제품 개발 주기의 모든 단계에서 재평가되어야 합니다. 그러니 항상 주의 깊게 살펴보세요. 이 프로세스를 용이하게 하기 위해 효율적인 사용 테스트 데이터 생성 도구 작업 흐름을 크게 간소화할 수 있습니다.