본문 바로가기
블록체인 직업들

블록체인 품질 엔지니어 (Quality Assurance engineer)

by ###^^### 2020. 7. 23.
반응형

출처:픽사베이

품질관리(QA) 엔지니어는 소프트웨어 개발 프로젝트의 다양한 단계에서 테스트 환경 및 방법을 연구, 자동화된 테스트 표준을 개발하고 직접 테스트를 수행한다. 이를 통해 프로그램의 버그나 오류등 문제점을 찾아내고 분석하여 프로그램의 품질를 보장하는 책임이 있다.

 

블록체인 QA 엔지니어 또한 블록체인 개발 프로젝트 초기부터 참여하여, 단위테스트, 통합테스트, 사용자인터페이스(UI) 테스트등 각 단계의 테스트를 개발, 수행하여 블록체인 소프트웨어의 완성도에 기여하는 역할을 한다. 블록체인의 분산화, 합의 알고리즘, 스마트 컨트랙트등의 고유한 특성들로 인해 QA 엔지니어의 중요성과 필요성은 더욱 더 높아지고 있다.

 

블록체인을 기반으로 하는 프로젝트는 일반 응용 프로그램과 비슷하게 보일 수 있다. 하지만 블록체인 어플리케이션 개발에서는 기존과는 다른 방식으로 전체 품질 보증 프로세스에 접근해야한다. 그 이유 중 하나가 바로 스마트 컨트랙트이다. 스마트 컨트랙트는 미리 정의 된 조건이 충족 될 때 자동으로 시행할 수 있는 프로그래밍 가능한 구문 형태의 규칙들의 집합이라 할수 있다. 이는 API와 매우 유사하지만 블록 체인 네트워크에 등록된 모든 노드가 호출 할 수 있는 공용 함수가 있어 외부 웹 API를 호출 할 수 없다는 특징이 있다. 그리고 일단 컨트랙트를 블록체인에 배포하고 나면 변경이 불가능하다. 따라서 수행되는 테스트가 높은 수준의 품질이어야 하고 커버해야 하는 모든 사항을 만족시켜야만 한다. 이 때문에 다른 유형의 시스템보다 블록체인 응용프로그램에 있어 품질 엔지니어의 역할이 중요하다.

 

블록체인 회사들이 요구하는 블록체인 품질관리 엔지니어의 요건을 알아보자. 채용정보마다 요구하는 사항이 조금씩 다르긴 하나, 그래도 가장 공통적인 요구사항이 많이 담긴 국내외 사례를 가져와 보았다.

 

[국내 블록체인 솔루션 개발 업체 N사 / 출처:잡코리아]

QA Engineer (Blockchain)

[담당업무]

- 테스트 계획 수립 및 수행, 결과 분석 및 보고

[자격요건]

- 캐셔레스트 및 관련 서비스(블록체인 관련)에 대한 QA 및 테스트 활동

- 테스트 계획 수립 및 수행, 결과 분석 보고 경험자

[우대사항]

- 소프트웨어 개발 경력자

- ISTQB, CSTS등 보유자 (ISTQB-QA관련 국제 자격증, CSTS-SW 테스트 전문가 자격증)

- 테스트 자동화 경험자

- 테스트 도구 활용 경험자 (성능, 정적분석, 관리등)

- 동일 제품 3년 이상 QA 경험자

[미국 가상화폐 개발 G사 / 출처:glassdoor.com]

QA Automation Engineer (Blockchain)

[담당업무]

- 시의 적절하고 의미있는 피드백을 제공하기 위해 요구 사항, 사양 및 기술 설계 문서 검토

- 상세하고 포괄적이며 체계적인 테스트 계획 및 테스트 사례 작성

- 품질 테스트 활동에 대한 평가, 우선 순위 지정, 계획 수립 및 조정

- 오픈 소스 도구들을 사용하여 자동화 스크립트를 설계, 개발 및 실행

- 식별, 기록, 문서화 및 버그 트레킹

- 버그가 해결되면 철저한 회귀 테스트 수행

- 신규 또는 기존 제품에 대한 테스트 프로세스의 개발 및 적용

- 시스템 요구 사항을 구체화하기 위한 내부 팀들(예 : 개발자 및 제품 소유자)과의 협력

- 결함 빈도 및 공개된 결함 수와 같은 품질 보증 메트릭스 추적

[자격요건]

- Node.js의 실전 경험

- Python을 사용한 자동화 된 테스트의 실전 경험

- 백엔드 자동화 테스트의 실제 경험

- 자동화 소프트웨어 품질 보증분야에서 3 년이상의 입증된 경력

[이상적인 후보자 프로필]

- 긍정적인 태도를 가진 팀 플레이어

- 분산 환경에서 원격 팀의 일원으로서 자율적인 방식으로 작업 할 수 있는 능력

- 소프트웨어 품질 보증 분야에서 입증된 업무 경험

- 소프트웨어 QA 방법론, 도구 및 프로세스에 대한 강력한 지식

- 명확하고 간결하고 포괄적인 테스트 계획 및 테스트 사례 작성 경험

- 자동화된 테스트 도구를 통한 실무 경험

- SQL 및 JavaScript, PHP, Python과 같은 스크립팅 언어에 대한 확실한 지식

- Agile / Scrum 개발 프로세스 작업 경험

[추가 기술 및 자격]

- Jira와 Confluence의 실무 경험

- DASH / Bitcoin 및 Blockchain 기술에 대한 지식

- 성능 및 / 또는 보안 테스트 경험

- 금융 또는 제약 산업에서의 경험

 

(원문)

Responsibilities;

Review requirements, specifications and technical design documents to provide timely and meaningful feedback

Create detailed, comprehensive and well-structured test plans and test cases

Estimate, prioritize, plan and coordinate quality testing activities

Design, develop and execute automation scripts using open source tools

Identify, record, document thoroughly and track bugs

Perform thorough regression testing when bugs are resolved

Develop and apply testing processes for new and existing products to meet client needs

Liaise with internal teams (e.g. developers and product owners) to identify system requirements

Track quality assurance metrics, like defect densities and open defect counts

Requirements;

Hands-on experience with Node.js

Hands-on experience with automated testing using Python

Hands-on experience with backend automation testing

Proven 3 years work experience in automation software quality assurance

Ideal Candidate Profile

Team player with positive attitude

Ability to work in an autonomous manner as a part of remote team in distributed environment

Proven work experience in software quality assurance

Strong knowledge of software QA methodologies, tools and processes

Experience in writing clear, concise and comprehensive test plans and test cases

Hands-on experience with automated testing tools

Solid knowledge of SQL and scripting languages like JavaScript, PHP, Python

Experience working in an Agile/Scrum development process

Additional Skills and Qualifications;

Hands-on experience with Jira and Confluence

Knowledge about DASH/Bitcoin and Blockchain technologies

Experience with performance and/or security testing

Experience in finance or pharma industry

 

반응형

댓글