what is sdet know difference between tester
이 자습서에서는 기술, 역할 및 책임, 급여 및 경력 경로를 포함하여 SDET (테스트중인 소프트웨어 개발 엔지니어)의 모든 측면에 대해 설명합니다.
SDET의 역할, 기업이 기대하는이 역할의 기대와 책임, SDET가 보유해야하는 기술, 후보자가 직접 경험해야하는 도구 및 기술, 그리고 일반적으로 급여에 대해 심층적으로 논의합니다. 제공됩니다.
학습 내용 :
SDET 역할 이해
확장 된 형태의 SDET는 – 테스트 소프트웨어 개발 엔지니어
간단히 말해서,이 역할은 순수한 개발자 역할과 순수한 테스터 역할 사이의 중간 역할의 조합입니다. SDET는 품질 엔지니어링과 소프트웨어 개발 모두에서 숙련 된 전문가입니다.
SDET라는 용어는 Microsoft에서 처음 발명 한 후 Google, Amazon, Adobe, Expedia 등과 같은 대부분의 큰 제품 이름에서 사용되었습니다. 주요 역할은 수동 반복 작업을 일부 자동화로 대체하여 효율성을 높이는 것이 었습니다. 테스트중인 애플리케이션의 신뢰성.
SDET와 수동 QA 비교
수동 QA 테스터는 주로 블랙 박스 또는 애플리케이션 테스트에 중점을 둡니다. 의미하는 바는 QA 테스터에게 중요한 것은 특정 입력이 주어 졌을 때 앱이 어떻게 작동할지에 대한 사양입니다.
Windows 10을위한 최고의 무료 정리 소프트웨어
QA 테스터는 일반 사용자 / 고객이 사용하는 것처럼 테스트중인 애플리케이션 / 시스템을 사용하지만 다른 입력 조합 등을 시도하여 더 자세한 세부 사항과 에지 시나리오에 중점을 둡니다.
SDET는 White Box 및 Black Box 테스트의 적용에 중점을 둡니다. 즉, 그들은 또한 앱의 내부 기능을 인식하여 White Box 또는 Black Box 테스트 기술을 모두 사용하여 자동화 테스트를 작성할 수 있습니다.
본질적으로 테스트의 소프트웨어 개발 엔지니어는 실제 개발 / 코딩 지식과 함께 모든 블랙 박스 테스트 기술을 인식하여 더 나은 품질 표준과 결함이 적은 소프트웨어 제품을 보장하는 앱의 내부 기능을 이해해야합니다.
기본적으로 SDET는 모든 수단을 통해 효과적인 QA를 가능하게하는 도구 역할을해야합니다. 이것이 의미하는 바는 개인이 자신의 기술을 사용하여 테스트중인 소프트웨어의 모든 부분이 기능 및 비 기능 영역 테스트를 포함해야하는 최상의 방법으로 검증되도록 보장한다는 것입니다.
다른 매개 변수에 대한 SDET 및 수동 테스터 비교를 살펴 보겠습니다.
매개 변수 | SDET | 수동 테스터 |
---|---|---|
테스트 범위 | 다양한 테스트 기술 및 유형에 중점을 둡니다. 예: 기능성, 비 기능성, 보안 성, 성능 등 | 일반적으로 테스트중인 애플리케이션의 기능적 관점에 초점을 맞 춥니 다. 수동 테스터는 테스트중인 앱의 사용자 / 고객처럼 행동하고 해당 관점에서 유효성을 검사합니다. |
오토메이션 | SDET는 주로 반복적 인 시나리오를 자동화하여 수동 테스터가 더 복잡하고 에지 시나리오에 집중하고 대역폭과 기술을 더 효율적으로 사용할 수 있도록하는 데 중점을 둡니다. | 수동 테스터는 자동화 기술을 일부 또는 전혀 보유하지 않습니다. 그러나 수동 테스터는 수동 테스트를 지원하는 도구 사용에 대해 알고 있어야합니다. 예: API 엔드 포인트를 실행하기 위해 Postman을 사용하고, 다른 플랫폼 버전에서 테스트를 실행하기 위해 소스 랩과 같은 클라우드 공급자를 사용합니다. |
기본 기술 세트 | SDET는 주로 테스트 사례를 자동화하고 팀이 반복적 인 노력을 줄이는 데 도움이되는 재사용 가능한 스크립트 / 도구를 작성합니다. SDET 팀의 선임 구성원은 자동화 프레임 워크를 만들고 다른 SDET가 프레임 워크를 사용하여 테스트를 작성할 수 있도록하는 책임도 있습니다. | 수동 테스터는 주로 앱 기능, 에지 케이스 시나리오 및 복잡한 테스트 케이스에 중점을 둡니다. 예를 들면 : 모바일 앱을 테스트하는 수동 테스터는 모든 기능 시나리오 외에도 다음과 같은 시나리오를 생각합니다. -백엔드 작업 / 네트워크 호출이 진행 중일 때 앱을 닫으면 어떻게됩니까? -고객이 앱의 특정 페이지에있을 때 모바일이 갑자기 꺼지면 어떻게됩니까? -앱 등에 문서를 업로드하는 중에 인터넷이 끊어지면 어떻게 되나요? |
급여 | SDET는 일반적으로 보유하고있는 기술과 경험으로 인해 더 높은 급여 (수동 테스터보다 약 40-50 % 더 높음)를 제공합니다. | 순수한 수동 테스트 역할은 수동 테스터가 새로운 도구를 배우고 제공되는 제품에 가치를 추가하기 위해 노력하는 하이브리드 역할에 비해 급여가 낮습니다. |
테스트 스킬 셋의 소프트웨어 개발 엔지니어
다음은 SDET가 보유해야하는 스킬 셋입니다.
# 1) 열린 사고 방식
첫 번째이자 가장 중요한 기술은 테스트중인 모든 소프트웨어 개발 엔지니어가 테스트중인 앱을 철저히 테스트하는 데 필요한 스크립팅 언어 / 도구를 배울 수 있어야한다는 것입니다.
한 회사의 SDET로서 Microsoft / .NET 기술 스택을 사용하여 작업 할 가능성이 매우 높지만 다른 회사에서는 개발 언어가 주로 Java이므로 SDET는 새로운 기술 / 기술을 배우려는 열린 사고 방식을 가질 것으로 예상됩니다. 그리고 필요할 때.
# 2) 적응
테스트의 소프트웨어 개발 엔지니어는 프로젝트, 도구 및 기술, 데이터베이스 등의 요구 사항에 적응해야합니다. 예를 들면 – SDET로서 API 테스트 경험이있을 수 있지만 다른 역할을 수행하려면 UI 또는 프런트 엔드를 테스트해야합니다. 따라서이 역할은 고품질 표준 제품을 제공하기 위해 프로젝트의 요구 사항에 적응해야합니다.
# 3) 멀티 태 스커
대부분의 제품 회사에서 종종 DEV 및 QA 비율이 크게 왜곡됩니다. 즉, DEV : QA 비율이 4 : 1 또는 심지어 5 : 1 인 팀을 보는 것이 일반적입니다. 따라서 SDET가 여러 가지 일에 참여하고 제공 할 것으로 예상되는 것이 필수적입니다.
다음은 SDET가 작업 할 것으로 예상되는 몇 가지 책임입니다.
- 이해 관계자 회의에 참여 : SDET는 개발자 및 제품 담당자와 긴밀히 연락하여 두 개발자 및 제품 관점에서 제품을 이해 한 다음 자동화 전략을 고안 / 제안해야합니다.
- 프레임 워크 / 도구 만들기
- 테스트 계획 전략
- 결함 제기 / 조사
- 때때로 개발자와 함께 단위 테스트에 기여해야 할 수도 있습니다.
# 4) 탐색 적 사고 방식
각 SDET는 항상 다음 내용을 기억해야합니다.“ 항상 동일한 작업을 반복하는 경우 자동화를 고려하십시오. '
그 사람은 생산성을 향상시키고 고품질 소프트웨어 제품을 보장하는 도구의 도움을 받아 오는 모든 작업에 대한 노력을 줄이는 마음가짐을 가지고있을 것입니다.
모든 자동화 작업 외에도 SDET의 주요 업무는 무엇이든지 고품질 제품을 제공하는 것이므로 점점 더 숨겨진 버그와 결함을 발견하기위한 탐색 적 방법을 통해 제품 테스트에 집중해야합니다.
# 5) 협업, 기여 및 커뮤니케이션
SDET의 역할은 개발자, 제품, 수동 테스터 등과 같은 다양한 이해 관계자들 사이의 연락을 요구합니다.
SDET가 필요한 모든 이해 관계자와 협력하고 필요한 모든 세부 정보를 적절한 때에 전달하는 것이 중요합니다.
SDET와 QA 팀은 제품이 일반에 공개되기 전에 품질 게이트를 보유하고 있으므로 제품이 고객에게 출시 될 수 있는지 여부를 판단하는 데 중요한 역할을합니다.
역할과 책임
그러니 SDET의 일상적인 업무와 책임, 그리고 그들이 수행 할 것으로 예상되는 다른 작업이 무엇인지 이해하려고 노력합시다.
- 개발자 및 비즈니스 이해 관계자와 함께 작업하고 허용 기준을 자동화하기 위해 노력합니다. 즉, SDET는 먼저 수용 / 고객 관점에서 요구 사항을 이해하고 코딩 언어, 데이터베이스 등의 측면에서 제품 개발 방식을 이해 한 다음 가능한 한 최대 시나리오를 자동화하기위한 전략을 계획해야합니다. .
- 기능, 회귀 및 성능 테스트를위한 강력하고 고품질의 테스트 자동화 솔루션을 구축합니다.
- 필요할 때마다 재사용 가능한 스크립트 / 도구를 만듭니다.
- 기능 및 비 기능 테스트 영역 모두에 기여합니다. 기능 테스트에는 기능 / 요구 사항 관점에서의 테스트가 포함되며 주로 허용 기준 또는 사용자 스토리에 의해 주도됩니다.
그러나 비 기능 테스트도 마찬가지로 중요합니다. 예를 들면 애플리케이션의 성능, 애플리케이션의 보안 성, 앱의 보안을 저해 할 수있는 해킹이 앱에 남아 있지 않은지 확인하고 결국 고객과 조직 모두에게 큰 손실을 초래할 수 있습니다. - 또한 설계 및 아키텍처 설계 토론에 참여하고 코드 검토에서 효과적인 피드백을 제공합니다.
위대한 SDET되기
훌륭한 SDET가되기 위해 그들의 역할을 더 잘 수행하기 위해 배워야하는 몇 가지 팁 / 기본 도구 및 기술 기술을 살펴 보겠습니다.
이전 섹션에서 우리는 테스트의 소프트웨어 개발 엔지니어가 자신의 역할을 훌륭하게 수행하기 위해 보유해야하는 자질에 대해 배웠습니다. 그들은 열린 마음가짐을 가져야하고, 적응력이 있어야하며, 제품이나 팀이 요구하는 방식으로 의사 소통하고 협력하고 기여할 수 있어야합니다.
SDET가 배워야하는 몇 가지 일반적인 도구 및 기술 목록을 살펴 보겠습니다.
- 테스트 원칙, 테스트 유형 및 방법론에 대한 확실한 이해가 있어야합니다.
- 문제 디버깅에 능숙합니다. 다음과 같은 디버그 도구를 배웁니다. Chrome 웹 디버거 웹 애플리케이션을 디버깅하고 테스트중인 앱의 네트워크 로그를 조사하는 데 매우 유용합니다.
- 재사용 가능한 코드 / 스크립트를 작성할 수 있어야하므로 적어도 하나의 스크립팅 언어에 능숙해야합니다. 배우기 가장 쉬운 방법은 다양한 작업, 자동화 프레임 워크 등에 적용 할 수있는 Python입니다.
- 다음과 같은 API 테스트 클라이언트에 익숙해 져야합니다. 우편 집배원
- 화이트 박스 테스트 도구 및 기술 (예 : Mocking 프레임 워크)에 대해 알고 있어야합니다. Mockito ) 등이 필요할 때 단위 테스트 작성에 기여할 것으로 예상됩니다.
- 그들은 다음과 같은 버전 관리 도구를 알고 있어야합니다. 가다 . 또한 다음과 같은 개념에 익숙해야합니다. Pull 요청 , 코드 리뷰 등
- 웹 애플리케이션 및 일반 클라이언트-서버 모델의 아키텍처 이해.
- 기본적인 객체 지향 프로그래밍 개념을 알고 있어야하며 고체 모델 ( 에스 잉글 책임, 또는 펜 / 폐쇄 원리, 엘 이스 코프 교체, 나는 인터페이스 분리, 디 ependency 반전)
- 기본 이해 지속적인 통합 / 지속적인 전달 개념 (CI / CD)과 Jenkins / Bamboo 등과 같은 CI 도구도 알고 있어야합니다.
SDET는 일반적으로 배포 문제를 처리 할 것으로 예상되므로 이러한 도구를 이해하는 것이 필수적입니다. - 최소한 하나의 프런트 엔드 자동화 프레임 워크에 익숙해야합니다. 가장 쉽고 널리 사용되는 셀렌 . 웹 애플리케이션에 대한 프런트 엔드 테스트의 성배이며 거의 모든 조직이 UI 테스트 자동화를 위해 Selenium 프레임 워크를 사용합니다.
- 성능 테스트의 기본 사항을 배우고 다음과 같은 오픈 소스 성능 테스트 도구를 사용하여 간단한 스크립트를 작성합니다. JMeter 매우 도움이되며 이것을 참조 할 수 있습니다. Jmeter 튜토리얼 . 이는 SDET가 성능 테스트와 같은 비 기능적 요구 사항을 처리 할 것으로 예상되기 때문에 유용합니다.
- 또한 보안 테스트의 기본 개념을 알고 있어야합니다. 여기에는 앱에서 해결되지 않은 기본 보안 결함이 없도록하는 기본 코딩 표준에 대한 지식도 포함됩니다. OWASP 이러한 모든 기본 개념에 대한 훌륭한 참고 자료입니다.
- SDET는 애자일 개발 방법론을 알고 이해하고 구현해야하며 애자일의 Sprint / Scrum 방법론을 사용하는 팀과 작업하는 데 익숙해야합니다.
- 다음과 같은 클라우드 기술 플랫폼을 알고 있어야합니다. 아마존 AWS , Google GCP , 또는 마이크로 소프트 애저 .
대부분의 회사가 현재 클라우드 기반 인프라로 이동하고 있으므로 클라우드 도구 및 기술에 대한 기본적인 이해가 일반적으로 시작하는 데 도움이됩니다.
SDET 인증
일반적으로 SDET에 사용할 수있는 특정 인증은 없습니다.
누군가가 테스트 여정에서 소프트웨어 개발 엔지니어를 시작하려는 경우이 튜토리얼의 '훌륭한 SDET가되는 방법'섹션에 언급 된 요점에 집중할 수 있으며, 열린 사고 방식을 가진 SDET는 학습 여정을 계속해야합니다. 직장에서.
테스트 용어 및 기본 사항의 경우 소프트웨어 테스트 직업에있는 모든 사람이 다음과 같은 인증을 받도록하는 것이 좋습니다. ISTQB 재단 테스트 인증서 .
이 인증은 다음과 같은 모든 기본 소프트웨어 테스트 개념을 포함합니다.
- 테스트 유형 – 기능 / 비 기능
- 블랙 박스 / 화이트 박스 / 그레이 박스 테스트
- 테스트 계획 / 결함 관리
- 테스트 기술 – 등가 분할, 추적 성 매트릭스 등
다른 국제 소프트웨어 테스트 인증도 사용할 수 있지만 대부분은 기업이 SDET를 고용하기위한 주요 선택 기준이 아닙니다.
이러한 모든 인증 목록을 사용할 수 있습니다. 여기.
인터뷰
대부분의 대형 제품 회사에서 테스트 인터뷰의 소프트웨어 개발 엔지니어는 방법론 및 관련 개념 개발의 대부분을 알고있을 것으로 예상되기 때문에 개발자 인터뷰를 가진 사람들에 비해 훨씬 더 많습니다.
그러나 인터뷰는 개발자에 비해 약간 관대합니다. 여기서 강조되는 것은 후보자가 문제에 접근하는 방법과 사람이 문제에 대해 얼마나 광범위하게 생각할 수 있는지입니다.
일반적으로 SDET 인터뷰는 Amazon, Microsoft, Adobe, Expedia 등과 같은 거의 모든 대형 제품 조직에서 다음 라운드 / 질문 유형으로 구성됩니다.
- 글 라운드 : 주어진 제품에 대한 테스트 케이스 작성. 여기서 의도는 모든 기능적 시나리오, 엣지 케이스 시나리오를 생각 / 나열하고 보안 테스트, 성능 테스트 등에 중점을 둔 후보자 인 경우 테스트의 모든 측면이 후보자에 대해 어떻게 생각할 수 있는지에 대한 아이디어를 얻는 것입니다.
- 코딩 라운드 : 간단한 코딩 연습이 제공되며 응시자는 모든 단위 테스트 및 기능 테스트 시나리오를 작성해야합니다. 여기에서 테스트되는 영역 또는 기술은 기본 코딩 지식 / 구성, 테스트 가능한 코드 작성, 단위 테스트, 모킹 등과 같은 화이트 박스 테스트 기술에 대한 지식입니다.
- 디자인 라운드 : 시스템 설계 질문이 던져집니다. 예 , 유튜브 디자인 방법
이러한 유형의 질문은 일반적으로 개발자에게 더 관련성이 있지만 SDET의 경우 면접관은 그 사람이 얼마나 광범위하게 생각할 수 있는지, 후보자가 OOP 개념에 대해 알고 있는지, 확장 성, 견고성,로드 밸런싱 등에 대해 생각할 수있는 후보인지를 찾고 있습니다. , 응시자가 설계 할 애플리케이션에 적합한 데이터베이스를 사용할 수 있습니까? - HR / 매니저 라운드 : 여기에서 후보자에 대한 팀 피트니스, 문화 피트니스 등이 관찰되고 급여 토론이 이루어지며 협상도 수행됩니다.
추천 자료 => SDET 인터뷰 질문
SDET 급여
이전 섹션에서 논의했듯이 SDET는 대부분의 수동 테스트 역할보다 높은 급여를받습니다. 많은 경우 급여는 비슷한 경험 수준의 개발자와 비슷한 수준입니다.
SQL 대 nosql 장단점
당신은 참조 할 수 있습니다 여기 다양한 조직의 다양한 SDET 프로필에서 급여 범위에 대해 알아 봅니다. 일반적으로 SDET 급여는 조직뿐만 아니라 경험 범위에 따라 다릅니다.
아래는 Microsoft, Expedia와 같은 최고 기업의 SDET 급여를 비교 한 것입니다.
수평 | Microsoft ($) | 익스 피디아 ($) |
---|---|---|
SDET-나 | 65000-80000 | 60000-70000 |
SDET-II | 75000-11000 | 70000 ~ 100000 |
미스터 SDET | 100,000-150,000 | 90000-130,000 |
경력 경로
일반적으로 SDET 경력 사다리는 다음과 같은 방식으로 시작하고 성장합니다.
- SDET-1 – 자동화 스크립트를 작성할 수있는 주니어 레벨 SDET.
- SDET-2 – 재사용 가능한 도구 및 자동화 프레임 워크를 작성할 수있는 숙련 된 SDET.
- 미스터 SDET – SDET 1 및 SDET 2와 같은 개별 기여자가 될 수있는 상급 수준의 SDET
- 코드 검토 수행.
- 디자인 토론에 참여하고 적절한 디자인 변경을 제안합니다.
- 제품의 전반적인 테스트 전략에 참여하십시오.
- CI / CD 제공 모델에 참여하고 실행 파이프 라인을 생성합니다.
- SDET 관리자 – SDET2 이후에는 Sr SDET 또는 SDET 관리자 경로를 선택할 수 있습니다. SDET 관리자는 핵심 SDET 업무 외에도 관리 / 리더십 책임이 있습니다.
- 테스트 설계자 / 솔루션 엔지니어 – 테스트 아키텍트 또는 솔루션 엔지니어는 주로 여러 프로젝트, 프레임 테스트 사양에 대한 전체 프레임 워크를 설계 / 아키텍트하는 사람이며 제공 관리자 역할도 할 수 있습니다. 이 사람들은 개인이며 여러 프로젝트가 테스트 결과를 달성하고 광범위하게 테스트되고 결함이없는 제품을 제공하도록 돕습니다.
다음은 SDET Career Path의 블록 수준 표현입니다.
결론
이 자습서에서는 역할과 책임, 필수 기술, SDET와 수동 테스터의 차이점, 테스트에서 훌륭한 소프트웨어 개발 엔지니어가되기 위해 필요한 사항과 관련하여 SDET가 무엇인지 심층적으로 배웠습니다.
일반적으로 SDET는 수요가 많은 역할이며 거의 모든 우수한 제품 회사가 팀에서 이러한 역할을 맡고 있으며 매우 가치가 있습니다.