데이터 기반 테스트란 무엇입니까? 프레임워크 생성 방법 알아보기
데이터 기반 테스트
데이터 기반 테스트 테스트 데이터를 테이블이나 스프레드시트 형식으로 저장하는 소프트웨어 테스트 방법입니다. 데이터 기반 테스트를 통해 테스터는 테이블의 모든 테스트 데이터에 대한 테스트를 실행할 수 있는 단일 테스트 스크립트를 입력하고 동일한 테이블의 테스트 출력을 기대할 수 있습니다. 테이블 기반 테스트 또는 매개변수화된 테스트라고도 합니다.
데이터 기반 프레임워크
데이터 기반 프레임워크 데이터 파일에서 입력 값을 읽고 테스트 스크립트의 변수에 저장하는 자동화 테스트 프레임워크입니다. 이를 통해 테스터는 긍정적인 테스트 사례와 부정적인 테스트 사례를 모두 단일 테스트로 구축할 수 있습니다. 데이터 기반 프레임워크의 입력 데이터는 .xls, .xml, .csv 및 데이터베이스와 같은 단일 또는 다중 데이터 소스에 저장할 수 있습니다.
왜 데이터 기반 테스트인가?
데이터 기반 테스트 테스터는 종종 단일 테스트에 대해 여러 데이터 세트를 갖고 있고 각 데이터 세트에 대해 개별 테스트를 만드는 데 시간이 많이 걸릴 수 있기 때문에 중요합니다. 데이터 기반 테스트는 데이터를 테스트 스크립트와 별도로 유지하는 데 도움이 되며 입력 테스트 데이터의 다양한 조합에 대해 동일한 테스트 스크립트를 실행할 수 있으며 테스트 결과를 효율적으로 생성할 수 있습니다.
예:
예를 들어, 우리는 1000개의 서로 다른 데이터 세트가 있는 여러 입력 필드를 사용하여 로그인 시스템을 테스트하려고 합니다.
이를 테스트하려면 다음과 같은 다양한 접근 방식을 취할 수 있습니다.
접근법 1) 각 데이터 세트마다 하나씩 1000개의 스크립트를 만들고 각 테스트를 하나씩 별도로 실행합니다.
접근법 2) 테스트 스크립트의 값을 수동으로 변경하고 여러 번 실행합니다.
접근법 3) 엑셀 시트에서 데이터를 가져옵니다. Excel 행에서 테스트 데이터를 하나씩 가져오고 스크립트를 실행합니다.
주어진 세 가지 시나리오에서 처음 두 가지는 힘들고 시간이 많이 걸립니다. 따라서 세 번째 접근 방식을 따르는 것이 이상적입니다.
따라서 세 번째 접근 방식은 데이터 기반 프레임워크에 불과합니다.
데이터 기반 자동화 프레임워크를 만드는 방법
애플리케이션의 로그인 기능을 테스트하고 싶다고 가정해 보세요.
단계 1) 테스트 케이스 식별
- 올바른 사용자 이름과 비밀번호를 입력하세요 – 로그인 성공
- 잘못된 사용자 이름과 올바른 비밀번호를 입력하세요 – 로그인 실패
- 올바른 사용자 이름과 잘못된 비밀번호를 입력하세요 – 로그인 실패
단계 2) 위의 3가지 테스트 사례에 대한 자세한 테스트 단계를 만듭니다.
테스트 케이스# | 상품 설명 | 테스트 단계 | 테스트 데이터 | 예상 결과 |
---|---|---|---|---|
1 | 유효한 자격 증명이 있는지 로그인을 확인하세요. |
|
사용자 이름: 유효한 비밀번호: 유효한 | 로그인 성공 |
2 | 잘못된 자격 증명이 있는지 로그인을 확인하세요. |
|
사용자 이름: 잘못된 비밀번호: 유효함 | 로그인 실패 |
3 | 잘못된 자격 증명이 있는지 로그인을 확인하세요. |
|
사용자 이름: 유효한 비밀번호: 유효하지 않음 | 로그인 실패 |
단계 3) 테스트 스크립트 생성
테스트 단계를 관찰하면 3가지 테스트 단계를 통해 공통적으로 유지됩니다. 이 단계를 실행하려면 테스트 스크립트를 생성해야 합니다.
// This is Pseudo Code // Test Step 1: Launch Application driver.get("URL of the Application"); // Test Step 2: Enter Username txtbox_username.sendKeys("valid"); // Test Step 3: Enter Password txtbox_password.sendKeys("invalid"); // Test Step 4: Check Results If (Next Screen) print success else Fail
단계 4) 입력 테스트 데이터로 excel/csv 만들기
단계 5) 단계 입력 테스트 데이터를 반복하도록 스크립트를 수정합니다. 입력 명령도 매개변수화되어야 합니다.
// This is Pseudo Code // Loop 3 Times for (i = 0; i & lt; = 3; i++) { // Read data from Excel and store into variables int input_1 = ReadExcel(i, 0); int input_2 = ReadExcel(i, 1); // Test Step 1: Launch Application driver.get("URL of the Application"); // Test Step 2: Enter Username txtbox_username.sendKeys(input_1); // Test Step 3: Enter Password txtbox_password.sendKeys(input_2); // Test Step 4: Check Results If(Next Screen) print success else Fail }
위에는 단지 3개의 테스트 케이스가 있습니다. 테스트 스크립트는 테스트 데이터 값을 추가하기만 하면 다음 테스트 케이스를 반복하는 데 사용할 수 있습니다. 뛰어나다
- 잘못된 사용자 이름과 잘못된 비밀번호를 입력하세요 – 로그인 실패
- 올바른 사용자 이름과 비밀번호를 입력하세요 – 로그인 실패
- 빈 사용자 이름과 빈 비밀번호를 입력하세요 – 로그인 실패
등
데이터 기반 테스트의 모범 사례
데이터 기반 테스트를 위한 모범 사례는 다음과 같습니다.
- 데이터 기반 테스트 프로세스에서는 현실적인 정보를 사용하는 것이 이상적입니다.
- 테스트 흐름 탐색은 테스트 스크립트 내부에 코딩되어야 합니다.
- 의미 있는 데이터로 가상 API 구동
- 데이터를 사용하여 동적 주장 추진
- 긍정적인 결과와 부정적인 결과를 테스트합니다.
- 보안 및 성능을 위한 데이터 기반 기능 테스트 용도 변경
데이터 기반 테스트의 장점
데이터 기반은 다음과 같은 많은 이점을 제공합니다.
- 회귀 테스트 중에 여러 데이터 값 세트로 애플리케이션을 테스트할 수 있습니다.
- 테스트 데이터와 검증 데이터를 하나의 파일로 정리할 수 있으며, 테스트 케이스 로직과 별개입니다.
- 도구를 기반으로 단일 저장소에 테스트 스크립트를 보관하는 것이 가능합니다. 이를 통해 텍스트를 쉽게 이해하고 유지 관리할 수 있습니다.
- 액션과 함수는 다양한 테스트에서 재사용될 수 있습니다.
- 일부 도구는 테스트 데이터를 자동으로 생성합니다. 이는 대량의 무작위 테스트 데이터가 필요할 때 유용하며 시간을 절약하는 데 도움이 됩니다.
- 데이터 기반 테스트는 개발의 모든 단계를 수행할 수 있습니다. 데이터 기반 테스트는 일반적으로 단일 프로세스로 병합됩니다. 그러나 여러 테스트 사례에서 사용할 수 있습니다.
- 개발자와 테스터가 테스트 데이터에서 테스트 사례/스크립트의 논리를 명확하게 구분할 수 있습니다.
- 동일한 테스트 케이스를 여러 번 실행할 수 있으므로 테스트 케이스와 스크립트를 줄이는 데 도움이 됩니다.
- 테스트 스크립트의 모든 변경 사항은 테스트 데이터에 영향을 미치지 않습니다.
데이터 기반 테스트의 단점
데이터 기반 자동화 테스트 방법의 몇 가지 단점은 다음과 같습니다.
- 테스트 품질은 구현 팀의 자동화 기술에 따라 달라집니다.
- 데이터 검증은 많은 양의 데이터를 테스트할 때 시간이 많이 걸리는 작업입니다.
- 데이터 기반 테스트에는 많은 양의 코딩이 필요하므로 유지 관리는 큰 문제입니다.
- 높은 수준의 기술력이 요구됩니다. 테스터는 완전히 새로운 스크립팅 언어를 배워야 할 수도 있습니다.
- 더 많은 문서가 있을 것입니다. 주로 스크립트 관리 테스트 인프라 및 테스트 결과와 관련이 있습니다.
- 데이터 파일을 생성하고 유지하려면 메모장과 같은 텍스트 편집기가 필요합니다.
결론
- 데이터 기반은 테스트 데이터를 테이블 또는 스프레드 스프레드시트 형식으로 저장하는 테스트 자동화 프레임워크입니다.
- 데이터 기반 테스트 자동화 프레임워크에서 입력 데이터는 xls와 같은 단일 또는 다중 데이터 소스에 저장할 수 있습니다. XML, csv 및 데이터베이스.
- 각 데이터 세트에 대한 개별 테스트를 만드는 것은 시간이 많이 걸리고 시간이 많이 걸리는 프로세스입니다. 데이터 기반 테스트 프레임워크는 데이터를 기능 테스트와 별도로 유지하여 이 문제를 해결합니다.
- 데이터 기반 테스트에서는 현실적인 정보를 사용하는 것이 이상적인 옵션입니다.
- 이는 여러 데이터 값 세트를 사용하여 테스트 애플리케이션을 허용합니다. 회귀 테스트
- 이 방법의 단점은 구현팀의 자동화 기술에 의존한다는 것입니다.