소프트웨어 테스팅의 테스트 환경
테스트 환경이란 무엇입니까?
테스트 환경은 테스트 팀이 테스트 사례를 실행하기 위한 소프트웨어 및 하드웨어 설정입니다. 즉, 하드웨어, 소프트웨어, 네트워크가 구성된 상태에서 테스트 실행을 지원합니다.
테스트 베드 또는 테스트 환경은 테스트 대상 애플리케이션의 필요에 따라 구성됩니다. 어떤 경우에는 테스트 베드가 테스트 환경과 테스트 환경이 운영하는 테스트 데이터의 조합일 수 있습니다.
올바른 테스트 환경을 설정하면 소프트웨어 테스트 성공이 보장됩니다. 이 프로세스에 결함이 있으면 고객에게 추가 비용과 시간이 발생할 수 있습니다.
테스트 환경 설정: 주요 영역
테스트 환경의 경우 설정해야 할 주요 영역은 다음과 같습니다.
- 시스템 및 애플리케이션
- 테스트 데이터
- 데이터베이스 서버
- 프런트엔드 실행 환경
- 클라이언트 운영 체제
- Browser
- 하드웨어에는 서버가 포함됩니다. Opera팅 시스템
- 네트워크
- 참조 문서/구성 가이드/설치 가이드/사용자 매뉴얼과 같은 문서가 필요합니다.
소프트웨어 테스트 환경 설정 과정
테스트는 테스트할 수 있는 것과 테스트하지 말아야 할 것으로 제한됩니다.
다음 사람들이 테스트 환경 설정에 참여합니다.
- 시스템 관리자,
- 개발자
- 테스터
- 때로는 테스트에 관심이 있는 사용자나 기술 전문가도 있습니다.
테스트 환경에는 다음과 같은 다양한 개별 영역을 설정해야 합니다.
1단계) 테스트 서버 설정
모든 테스트는 로컬 컴퓨터에서 실행되지 않을 수 있습니다. 애플리케이션을 지원할 수 있는 테스트 서버를 구축해야 할 수도 있습니다.
예를 들어 Fedora는 다음을 위해 설정되었습니다. PHP, Java메일 서버가 있거나 없는 기반 애플리케이션, cron 설정 Java기반 애플리케이션 등
2단계) 네트워크
테스트 요구 사항에 따라 네트워크를 설정합니다. 그것은 다음을 포함합니다,
- 인터넷 설정
- LAN Wi-Fi 설정
- 개인 네트워크 설정
테스트 중에 발생하는 혼잡이 다른 구성원에게 영향을 미치지 않도록 보장합니다. (개발자, 디자이너, 콘텐츠 작가 등)
3단계) PC 설정 테스트
웹 테스트의 경우 테스터마다 다른 브라우저를 설정해야 할 수도 있습니다. 데스크톱 애플리케이션의 경우 다양한 테스터 PC에 맞는 다양한 유형의 OS가 필요합니다.
예를 들어, Windows Phone 앱 테스트에는 다음이 필요할 수 있습니다.
- 비주얼 스튜디오 설치
- Windows 전화 에뮬레이터
- 또는 테스터에게 Windows Phone을 할당합니다.
4단계) 버그 보고
테스터에게 버그 보고 도구를 제공해야 합니다.
5단계) 테스트 환경을 위한 테스트 데이터 생성
많은 회사에서는 소프트웨어 제품을 테스트하기 위해 별도의 테스트 환경을 사용합니다. 사용되는 일반적인 접근 방식은 테스트를 위해 프로덕션 데이터를 복사하는 것입니다. 이는 테스터가 프로덕션 데이터를 손상시키지 않고 실제 프로덕션 서버와 동일한 문제를 감지하는 데 도움이 됩니다.
프로덕션 데이터를 테스트 데이터로 복사하는 접근 방식에는 다음이 포함됩니다.
- 데이터를 공통 테스트 환경에 복사하도록 프로덕션 작업 설정
- 모든 PII(개인 식별 정보)는 다른 민감한 데이터와 함께 수정됩니다. PII는 논리적으로 정확하지만 개인 정보가 아닌 데이터로 대체됩니다.
- 테스트와 관련 없는 데이터를 제거합니다.
테스터나 개발자는 이를 개별 테스트 환경에 복사할 수 있습니다. 요구 사항에 따라 수정할 수 있습니다.
개인 정보 보호는 복사 제작 데이터의 주요 문제입니다. 개인 정보 보호 문제를 극복하려면 난독화되고 익명화된 테스트 데이터를 조사해야 합니다.
데이터의 익명화를 위해 두 가지 접근 방식을 사용할 수 있습니다.
- 블랙리스트: 이 접근 방식에서는 모든 데이터 필드가 변경되지 않은 상태로 유지됩니다. 사용자가 지정한 필드는 제외됩니다.
- 화이트리스트: 기본적으로 이 접근 방식은 모든 데이터 필드를 익명화합니다. 복사가 허용된 필드 목록은 제외됩니다. 화이트리스트에 포함된 필드는 데이터를 있는 그대로 복사해도 괜찮고 익명화가 필요하지 않음을 의미합니다.
또한 생산 데이터를 사용하는 경우 데이터 소싱 방법에 대해 현명해야 합니다. 다음을 사용하여 데이터베이스 쿼리 SQL 스크립트는 효과적인 접근 방식입니다.
테스트 환경 관리
테스트 환경 관리는 테스트 베드의 유지 관리를 다룹니다.
테스트 환경 관리 기능의 활동 목록은 다음과 같습니다.
- 모든 업데이트된 버전의 테스트 환경을 갖춘 중앙 저장소를 유지 관리합니다.
- 테스트 팀 요구에 따른 테스트 환경 관리.
- 새로운 요구 사항에 따라 새로운 환경을 조성합니다.
- 환경 모니터링
- 오래된 테스트 환경 업데이트/삭제
- 환경문제 조사
- 문제 해결까지 조정.
테스트 환경 체크리스트
하드웨어
- 테스트에 필요한 장비가 있는지 확인하세요. 그렇지 않은 경우 공급 시간을 분석하십시오!
- 주변기기가 있는지 확인하세요. 스캐너, 특수 프린터, 휴대용 장치 등
소프트웨어/연결
- 필요한 애플리케이션이 지정되어 있습니까? 엑셀, 워드, 드로잉 등과 같은 애플리케이션
- 새로운 소프트웨어의 경우 조직을 위한 테스트 환경이 존재합니까? 조직은 소프트웨어 사용 및 유지 관리 경험이 있습니까?
환경 데이터
- 표준 테스트 데이터 세트를 사용할 수 있는지 확인하세요. 회귀 테스트 세트를 사용하여 다음을 고려하십시오. 결함 테스트 데이터를 수집하는 행정부입니다.
- 테스트 데이터에 관해 테스트 데이터 소유자와 합의가 존재합니까? 기능 유지 관리를 고려하십시오.
유지 관리 도구/프로세스
- 테스트 환경 유지 관리를 위한 단일 연락 창구가 존재하는지 확인하세요. 그렇지 않은 경우 테스트 환경을 계속 실행하는 데 관련된 모든 가능한 구성원의 목록을 준비하십시오. 여기에는 연락처 정보도 포함되어야 합니다.
- 테스트 환경의 준비 상태와 품질에 대한 합의가 이루어졌습니까? 예를 들어 수용 기준, 유지 관리 요구 사항 등이 있습니다. 또한 환경에 대한 기타/추가 품질 속성이 일치하는지 확인합니다.
- 유지 관리 프로세스에 관련된 모든 구성원이 알려져 있습니까?
이 외에도 테스트 환경을 설정하기 전에 답변해야 할 몇 가지 질문이 더 있습니다.
- 내부 테스트 환경을 개발할 것인가, 아니면 아웃소싱할 것인가?
- 내부 회사 표준을 따를 것인가, 아니면 외부(IEE, ISO 등)를 따를 것인가?
- 테스트 환경은 얼마나 오래 필요합니까?
- 테스트 시스템과 프로덕션 시스템 간의 차이점과 테스트 유효성에 미치는 영향을 확인해야 합니다.
- 회사의 다른 프로젝트에 기존 설정을 재사용할 수 있습니까?
테스트 환경 관리 설정의 과제
- 자원 사용에 대한 올바른 계획자원 사용에 대한 비효율적인 계획은 실제 출력에 영향을 미칠 수 있습니다. 또한 팀 간의 갈등으로 이어질 수도 있습니다.
- 원격 환경테스트 환경이 지리적으로 떨어져 있을 수도 있습니다. 이러한 경우 테스트 팀은 다양한 테스트 자산에 대해 지원 팀에 의존해야 합니다. (소프트웨어, 하드웨어 및 기타 문제)
- 정교한 설정 시간때로는 테스트 설정이 너무 정교해지는 경우가 있습니다. 통합 테스팅.
- 팀별 공유 사용량개발팀과 테스트팀이 동시에 테스트 환경을 사용할 경우 테스트 결과가 손상될 수 있습니다.
- 복잡한 테스트 구성특정 테스트에는 복잡한 테스트 환경 구성이 필요합니다. 테스트 팀에 도전이 될 수 있습니다.
테스트 환경 관리를 설정하기 위한 모범 사례
- 테스트 요구 사항을 철저히 이해하고 테스트 팀 구성원을 교육하십시오.
- 테스트를 시작하기 전에 연결을 확인해야 합니다.
- 필요한 하드웨어 및 소프트웨어, 라이선스를 확인하세요.
- 브라우저 및 버전
- 테스트 환경의 예약된 사용을 계획합니다.
- 자동화 도구 및 해당 구성.
소프트웨어 테스팅에서 테스트 베드란 무엇입니까?
A 소프트웨어 테스팅의 테스트베드 소프트웨어 개발 환경입니다. 이를 통해 개발자는 실제 프로덕션 서버에 영향을 주지 않고 모듈을 테스트할 수 있습니다. 테스트 베드는 개발자에게만 국한된 것이 아니라 테스터도 사용합니다. 신기술을 엄격하고 투명하게 테스트하기 위한 테스트 환경이라고 합니다.
요약
- 테스트 환경은 테스트 팀이 테스트를 수행할 소프트웨어 및 하드웨어 설정입니다.
- 테스트 환경의 경우 설정해야 할 주요 영역은 다음과 같습니다.
- 시스템 및 애플리케이션
- 테스트 데이터
- 데이터베이스 서버
- 프론트엔드 실행 환경 등
- 테스트 환경을 설정하는 동안 몇 가지 과제는 다음과 같습니다.
- 원격 환경
- 팀 간 통합 사용
- 정교한 설정 시간
- 통합을 위한 리소스 사용에 대한 비효율적인 계획
- 복잡한 테스트 구성