테스트 스크립트란 무엇이며, 작성 방법은 예시를 통해 알아보겠습니다.

⚡ 스마트 요약

소프트웨어 테스트에서 테스트 스크립트는 애플리케이션을 실행하고 모든 단계를 검사하는 실행 가능한 명령어들의 집합입니다. 이 가이드에서는 세 가지 빌드 방법, 재사용 가능한 템플릿, 그리고 실제로 작동하는 테스트 스크립트를 다룹니다. Selenium 예.

  • 📝 핵심 정의: 스크립트에는 수행할 각 트랜잭션, 입력해야 할 정확한 값, 그리고 각 단계의 예상 결과가 명시되어 있습니다.
  • 🎛️ 세 가지 빌드 방법: 녹음 및 재생, 키워드 또는 데이터 기반 스크립팅, 프로그래밍 언어로 직접 코드 작성 등의 기능을 제공합니다.
  • 🧱 언어의 자유: 스크립트 언어는 애플리케이션 언어와 일치할 필요가 없습니다. Java 제품은 다음과 같은 방법으로 테스트할 수 있습니다. Java스크립트 또는 Python.
  • 📋 템플릿 규율: 표준 템플릿은 ID, 사전 조건, 테스트 데이터, 단계, 예상 결과 및 상태 필드를 고정합니다.
  • ⚖️ 스크립트 vs 사례: 테스트 케이스는 수동으로 단계별로 수행하는 절차인 반면, 테스트 스크립트는 도구를 사용하여 자동으로 실행되는 스크립트입니다.
  • 품질 규칙: 각 스크립트를 명확하게 작성하고, 각 단계에는 하나의 동작만 포함시키며, 실제 사용자 관점에서 경로를 설계하십시오.

테스트 스크립트란 무엇입니까?

소프트웨어 테스팅의 테스트 스크립트란 무엇입니까?

A 테스트 스크립트 테스트 대상 애플리케이션의 유효성을 검사하기 위해 수행해야 하는 시스템 트랜잭션을 한 줄씩 기술한 것입니다. 각 단계와 예상 결과를 모두 나열합니다.

실행 가능하기 때문에 동일한 스크립트를 여러 장치와 빌드에서 체계적으로 반복 실행할 수 있습니다. 사용 가능한 스크립트는 항상 입력해야 할 실제 값과 예상 출력 값을 모두 기록합니다.

테스트 스크립트를 작성하는 방법

테스트 스크립트
테스트 스크립트

테스트 스크립트를 생성하는 방법에는 세 가지가 있습니다.

기록 및 재생

이 방법에서는 테스터가 코드를 전혀 작성할 필요 없이 사용자의 동작만 기록하면 됩니다. 하지만 나중에 오류를 수정하거나 자동화 동작을 미세 조정하려면 코딩이 필요합니다.

이 방법은 이미 완전한 코드가 있으므로 완전한 테스트 스크립트를 처음부터 작성하는 것보다 쉽습니다. 주로 VBScript와 같은 단순화된 프로그래밍 언어에서 사용됩니다.

키워드 또는 데이터 기반 스크립팅

이 방법에서는 테스터와 개발자가 명확하게 구분됩니다. 데이터 기반 스크립팅에서 테스터는 기본 코드에 대한 지식 없이 키워드를 사용하여 테스트를 정의합니다.

여기서 개발자의 임무는 키워드에 대한 테스트 스크립트 코드를 구현하고 필요할 때 이 코드를 업데이트하는 것입니다. 따라서 이 방법에서는 테스터가 시스템에 대해 걱정할 필요가 없습니다. 그러나 자동으로 테스트하려는 새로운 기능에 대해서는 개발 리소스에 크게 의존하게 됩니다.

프로그래밍 언어로 코드를 작성하는 것

이 방법을 선택하더라도 일반적으로 녹음 및 재생 기능을 사용하여 스크립트 초안을 작성할 수 있습니다.

하지만 결국 테스터는 녹음과 재생을 넘어 직접 간단한 스크립트를 작성하는 방법을 배워야 합니다. 테스터가 어떤 방식을 선택할지는 본인의 몫이라는 점을 이해하는 것이 중요합니다. 프로그래밍 언어 신청서가 다음과 같이 작성되었더라도 Java.

하지만 그렇다고 해서 테스트 스크립트를 다음과 같이 작성해야 한다는 의미는 아닙니다. Java, 배우기 어려울 수 있습니다. 대신 다음과 같은 더 쉬운 언어로 테스트 스크립트를 작성할 수 있습니다. JavaScript 또는 Ruby(또는 사용하고 싶은 더 쉬운 언어).

테스트 스크립트의 예

예를 들어, 웹사이트의 로그인 기능을 확인하려면 테스트 스크립트에서 다음을 수행할 수 있습니다.

  • 자동화 도구가 로그인 화면에서 "사용자 이름" 및 "비밀번호" 필드를 찾는 방법을 지정합니다. CSS 요소 ID로 말해보자.
  • 웹사이트 홈페이지를 로드한 후 "로그인" 링크를 클릭하세요. 나타나는 로그인 화면과 "사용자 이름" 및 "비밀번호" 필드가 보이는지 확인하십시오.
  • 사용자 이름에 "Charles"를 입력하고 비밀번호에 "123456"을 입력한 다음 "확인" 버튼을 찾아 클릭하세요.
  • 사용자가 로그인 후 나타나는 시작 화면의 제목을 찾을 수 있는 방법(예: CSS 요소 ID)을 지정해야 합니다.
  • 시작 화면의 제목이 표시되는지 확인합니다.
  • 시작 화면의 제목을 읽어보세요.
  • 제목 텍스트가 "Welcome Charles"와 같다고 주장하십시오.
  • 제목이 예상과 일치하면 테스트 통과로 기록하고, 그렇지 않으면 실패로 기록합니다.

샘플 테스트 스크립트 Selenium 과 Java

위의 목록은 로그인 테스트를 쉽게 설명한 것입니다. 다음은 동일한 테스트를 실행 가능한 스크립트로 작성한 예입니다. Selenium 웹드라이버 및 JUnit각 항목은 한두 줄의 코드에 해당합니다.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Assert;
import org.junit.Test;

public class LoginTestScript {

    @Test
    public void validLoginShowsWelcomeMessage() {
        // Step 1: start the browser and open the site
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/login.html");

        // Step 2: locate the fields by their element ids
        driver.findElement(By.id("email")).sendKeys("Charles");
        driver.findElement(By.id("passwd")).sendKeys("123456");

        // Step 3: submit the form
        driver.findElement(By.id("SubmitLogin")).click();

        // Step 4: read the welcome title and assert the expected result
        String actual = driver.findElement(By.id("welcome")).getText();
        Assert.assertEquals("Welcome Charles", actual);

        driver.quit();
    }
}

실제 대본과 녹음된 대본을 구분하는 세 가지 특징은 다음과 같습니다.

  • 위치 지정자는 명시적입니다. 요소는 화면 위치가 아닌 ID로 찾기 때문에 레이아웃 변경에도 스크립트가 유지됩니다.
  • 주장은 곧 검증이다. assertEquals가 없으면 스크립트는 단순히 클릭만 할 뿐이며, 통과 여부는 어설션에 의해 결정됩니다.
  • 정리 작업은 항상 실행됩니다. driver.quit()는 브라우저를 종료시키지만, 그렇지 않으면 실행 실패 시 프로세스가 남아 있게 됩니다.

어떤 언어에서든 동일한 구조가 적용됩니다. Python 과 Selenium 호출은 driver.find_element(By.ID, “email”)이 되고 실제 값이 “Welcome Charles”인지 확인합니다.

테스트 스크립트 작성을 위한 팁

다음은 테스트 스크립트 작성에 대한 몇 가지 중요한 팁입니다.

명확하게 유지

테스트 스크립트는 도움 없이도 실행될 수 있을 만큼 명확해야 합니다. 테스터가 애플리케이션에 대한 세부 정보를 프로젝트 담당자에게 계속 문의해야 한다면 시간과 자원이 낭비됩니다.

이를 방지하려면 테스트 스크립트의 각 단계가 명확하고 간결하며 일관성이 있는지 확인하십시오. 이렇게 하면 테스트 프로세스를 원활하게 유지하는 데 도움이 됩니다.

간단하게

테스터가 수행할 특정 작업 하나만 포함하는 테스트 스크립트를 만들어야 합니다. 이를 통해 각 기능이 올바르게 테스트되고 테스터가 소프트웨어 테스트 프로세스의 단계를 놓치지 않도록 할 수 있습니다.

생각해봐

테스트 스크립트를 작성하려면 사용자 입장에서 테스트할 경로를 결정해야 합니다. 시스템이나 애플리케이션을 실행하는 동안 사용자가 사용할 다양한 경로를 모두 예측할 수 있을 만큼 창의적이어야 합니다.

테스트 스크립트 접근 방식을 언제 사용합니까?

테스트 스크립트를 사용하는 이유는 다음과 같습니다.

  • 테스트 스크립트는 모든 단계가 제대로 수행되었는지, 그리고 결과가 합의된 테스트 계획과 일치하는지 확인하는 가장 확실한 방법입니다.
  • 미리 준비된 스크립트는 실행 중 오류 발생 가능성을 훨씬 줄여줍니다.
  • 테스터들이 제품을 자유롭게 탐색하다 보면, 기능을 놓치기 쉽습니다.
  • 테스터는 함수가 예상한 결과를 생성하지 않았음에도 불구하고 생성했다고 가정할 수도 있습니다.
  • 사용자 성능이 중요하고 구체적일 때 특히 유용합니다.

테스트 스크립트 템플릿이란 무엇입니까?

테스트 스크립트 템플릿은 프로젝트의 모든 스크립트가 작성해야 하는 필드를 담고 있는 재사용 가능한 사전 서식 문서입니다. 템플릿을 표준화하면 테스트의 상세도를 결정할 수 있으며, 검토자가 각 단계의 의미를 추측할 필요가 없도록 보장합니다.

사용 가능한 템플릿에는 다음과 같은 필드가 포함됩니다.

분야 목적
스크립트 ID 고유 식별자는 다음과 같은 용도로 사용됩니다. trac능력과 결함 연결
Title 스크립트가 검증하는 내용을 명시하는 한 줄짜리 문구
모듈 또는 기능 테스트 대상 애플리케이션 영역
전제 조건 첫 번째 단계가 실행되기 전에 시스템이 어떤 상태여야 하는지를 나타냅니다.
테스트 데이터 자격 증명 및 경계값을 포함한 정확한 입력값
단계 번호가 매겨진 동작, 단계당 하나의 동작
예상 결과 각 단계의 관찰 가능한 결과
실제 결과 실행 시점에 입력됨
Status 통과, 실패, 차단됨 또는 실행되지 않음
저자 및 날짜 소유권 및 버전 기록

테스트 케이스와 테스트 스크립트의 차이점

테스트 케이스와 테스트 스크립트의 주요 차이점은 다음과 같습니다.

테스트 케이스 테스트 스크립트
테스트 케이스 응용 프로그램을 테스트하는 데 사용되는 단계별 절차입니다. 테스트 스크립트는 애플리케이션을 자동으로 테스트하기 위한 일련의 지침입니다.
테스트 케이스는 수동 테스트 환경에 사용됩니다. 테스트 스크립트는 자동화 테스트 환경에서 사용됩니다.
수동으로 수행됩니다. 스크립트 형식에 따라 수행됩니다.
테스트 케이스 템플릿에는 테스트 ID, 테스트 데이터, 테스트 절차, 실제 및 예상 결과 등이 포함됩니다. 테스트 스크립트에서는 다양한 명령을 사용하여 스크립트를 개발할 수 있습니다.

테스트 스크립트의 장점과 단점

스크립팅은 투자입니다. 투자 대비 효과가 어디에서 나타나는지 알면 어떤 테스트를 먼저 자동화해야 할지 알 수 있습니다.

장점

  • 반복 가능 : 모든 빌드에서 동일한 단계가 동일하게 실행되므로 회귀 테스트가 실용적입니다.
  • 대규모 생산에 있어 빠른 속도: 테스터 한 명이 하루 종일 걸리는 테스트 스위트도 몇 분 만에 실행될 수도 있고, 밤새도록 실행될 수도 있습니다.
  • 일관된: 대본은 절대 지루해하지 않고, 단계를 건너뛰지 않으며, 결과를 잘못 해석하지도 않습니다.
  • 플랫폼 간: 하나의 스크립트로 다양한 브라우저, 기기 및 운영 체제에서 재생할 수 있습니다.
  • CI 준비 완료: 스크립트가 빌드 파이프라인에 통합되어 모든 커밋이 자동으로 검증됩니다.

단점

  • 높은 초기 설치 비용: 스크립트를 작성하고 디버깅하는 데 걸리는 시간은 수동으로 테스트를 한 번 실행하는 것보다 훨씬 더 오래 걸립니다.
  • 유지 보수 부담: 요소 ID가 변경되거나 페이지 디자인이 변경되면 스크립트가 깨져서 수정해야 합니다.
  • 기술 요구 사항: 녹음 및 재생 기능 외에도 팀에는 프로그래밍 능력이 필요합니다.
  • 예상치 못한 일에 눈이 멀었다: 스크립트는 지시받은 것만 확인하기 때문에 시각적 결함이나 사용성 결함이 간과될 수 있습니다.
  • 잘못된 자신감: 얕은 스크립트로 구성된 녹색 제품군은 실제 보장 범위의 공백을 감출 수 있습니다.

실질적인 규칙은 다음과 같습니다. 안정적이고 반복적이며 위험도가 높은 경로는 스크립트로 작성하고, 탐색 및 사용성 작업은 수동으로 진행하십시오.

테스트 스크립트: 핵심 요약

  • 테스트 스크립트는 테스트 중인 애플리케이션이나 시스템을 검증하기 위해 수행해야 하는 시스템 트랜잭션에 대한 정보를 포함하는 한 줄씩 설명을 의미합니다.
  • 테스트 케이스는 애플리케이션을 테스트하는 데 사용되는 단계별 절차인 반면, 테스트 스크립트는 애플리케이션을 자동으로 테스트하는 일련의 지침입니다.
  • 테스트 스크립트를 작성하는 세 가지 방법은 1) 녹음/재생, 2) 키워드/데이터 기반 스크립팅, 3) 직접 작성입니다. Code 프로그래밍 언어를 사용하기.
  • 테스트 스크립트는 명확해야 하며 테스터가 수행할 특정 작업 하나만 포함하는 테스트 스크립트를 만들어야 합니다.
  • 테스트 스크립트는 모든 단계가 제대로 수행되었는지, 그리고 결과가 합의된 테스트 계획과 일치하는지 확인하는 가장 확실한 방법입니다.
  • 테스트 스크립트 템플릿은 사용 가능한 테스트 스크립트를 생성하는 데 중요한 사전 선택된 정보가 포함된 재사용 가능한 형식의 문서입니다.

자주 묻는 질문

테스트 케이스는 사람이 직접 단계별로 작성하는 절차입니다. 테스트 스크립트는 도구가 자동으로 실행하는 실행 가능한 코드입니다. 하나의 테스트 케이스는 자동화 과정을 거치면 하나의 테스트 스크립트로 통합되는 경우가 많습니다.

먼저 녹화 및 재생 기능을 사용하여 구조를 파악한 다음 생성된 코드를 편집하세요. 녹화된 코드가 제대로 작동하지 않으면 직접 스크립트를 작성하는 단계로 넘어가세요. 녹화된 로케이터는 UI 변경 시 제대로 유지되지 않는 경우가 많기 때문입니다.

한 번만 실행되는 것, 매 스프린트마다 변경되는 것, 그리고 시각적으로 평가되는 모든 것. 탐색적 테스트, 사용성 검토, 그리고 일회성 점검은 수동으로 수행하는 것보다 스크립트로 자동화하는 데 비용이 더 많이 듭니다.

예. AI 도구는 작성된 테스트 케이스를 실행 가능한 스크립트로 변환하고 요소가 변경될 때 자체 복구 기능을 갖춘 위치 지정자를 제안할 수 있습니다. Rev생성된 모든 어설션을 확인하세요. 오류가 전혀 발생하지 않는 스크립트는 아무것도 테스트하지 않는 것이기 때문입니다.

AI 기반 도구는 사람의 개입 없이 변경된 요소를 감지하고 위치 지정자를 업데이트하여 스크립트 오류의 가장 일반적인 원인을 제거합니다. 하지만 팀은 여전히 ​​변경 사항을 검토한 후에야 해당 도구 모음을 다시 신뢰할 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.