JavaRush /Java Blog /Random-KO /자동화된 테스트를 시작하는 방법, 1부

자동화된 테스트를 시작하는 방법, 1부

Random-KO 그룹에 게시되었습니다
자동 테스트 여정을 시작하는 사람들을 돕기 위해 만들어진 온라인 소프트웨어 테스트용 QA 플랫폼인 https://testdemy.teachable.com/ 의 창립자인 Tim Ebie의 기사를 러시아어로 각색한 내용을 읽어보시기 바랍니다.
자동화된 테스트를 시작하는 방법, 1부 - 1
우리는 시장에서 웹 애플리케이션의 수가 급증하고 증가하는 것을 목격하고 있습니다. 그로 인해 프로그래밍, 기술 및 다양한 자동화 기술이 필요한 직업이 점점 더 많아지고 있습니다. 결과적으로 수동 테스터는 수요를 유지하기 위해 순수한 수동 테스트에서 품질 보증(QA)으로 전환해야 할 필요성을 인식하고 자동화된 테스트를 모색하고 있습니다. 많은 QA 직책에는 코드 작성과 관련된 다양한 기술이 필요하므로 수동 테스트에서 자동 테스트로 전환하는 것이 현명한 선택입니다. 변화를 좋아하지 않는 사람에게는 그러한 변화가 불편할 수도 있다. 반면에 다른 개발자들은 이 "변화의 시기"를 자신의 경력과 기술을 다음 단계로 끌어올리고 관련성을 높일 수 있는 기회로 봅니다. 수요가 증가할 때마다 가능성은 확장됩니다. 적절한 기술을 갖춘 개발자는 기차에 올라 훌륭하고 보수가 좋은 경력을 가질 수 있습니다. 수동 테스트에서 자동화로 전환하려고 하거나 다른 소프트웨어 개발 분야에서 전환을 고려하고 있다면 성공을 위해 몇 가지 단계를 수행하는 것이 좋습니다.

1단계: 시장 평가

스티븐 A. 코비(Stephen A. Covey) 박사의 저서 “성공하는 사람들의 7가지 습관”에 나오는 “두 번째 습관”에서는 “끝을 염두에 두고 시작하라”고 말합니다 . 저는 자동화된 테스트를 시작할 때 이 원칙이 사실이라고 믿습니다. 자동화 엔지니어를 고용하는 사람들의 요구 사항에 대한 시장 평가부터 시작하십시오. 고용주의 기술적 요구 사항을 이해하면 적절한 기술을 습득할 수 있습니다. 시작하기 좋은 곳은 모든 사이트(예: 인디드닷컴 , 다이스 , 몬스터 , 링크드인 등)에서 직무 설명을 살펴보는 것입니다.
자동화된 테스트를 시작하는 방법(1~2부)
시장 평가를 생성하는 데 사용할 수 있는 검색어의 예는 다음과 같습니다.
  • 테스트 자동화 엔지니어;
  • 자동화 개발자;
  • 자동화된 테스트/테스터(자동화된 테스트)(Automation Testing/Automation Tester);
  • QA 자동화 엔지니어 ;
  • SDET(소프트웨어 개발 엔지니어 테스트).
고용주가 생각하는 방식과 지원자에게 실제로 기대하는 것이 무엇인지 이해하려면 검색할 때 다음 질문을 염두에 두세요.
  • 그들이 언급하는 구체적인 기술과 기술은 무엇입니까?
  • 이러한 기술에 대한 별도의 기술 또는 기술 세트 또는 "블록"이 있습니까?
  • 필요하다면 몇 년의 경력이 필요합니까?
  • 다른 산업보다 자동화 엔지니어를 더 많이 고용하는 경향이 있는 특정 산업이 있습니까?
  • 어떤 급여를 기대할 수 있나요?
  • 우리가 관심을 갖고 있는 도구나 기술은 주로 오픈 액세스 제품인가요, 아니면 상용 제품인가요?
이제 시장이 원하는 것이 무엇인지 파악하기 위해 몇 가지 직무 설명을 자세히 살펴보겠습니다. 문제의 채용공고는 미국에 있다는 점을 명심하시기 바랍니다. 미국에 거주하지 않는 경우 해당 국가의 구직 도구를 검토하십시오. 소프트웨어 자동화 개발자 I:
  • 객체 지향 프로그래밍 언어 에 대한 명확한 이해가 있습니다 .
  • Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime 에 익숙합니다 .
  • 개발자, 비즈니스 분석가 및 기타 테스터와 긴밀히 협력하여 개발된 소프트웨어에 대한 요구 사항을 확인하는 데 사용될 테스트 자동화 구성 요소를 식별합니다 .
자동화된 테스트를 시작하는 방법(1~3부)
QA 테스터(자동 테스트):
  • 적절한 버전 제어 시스템( TFS, GitHub 등)에 자동화된 테스트를 저장합니다.
  • 사전 정의된 자동화 표준과 자동화를 위한 DevOps 표준 은 물론 지속적인 통합 및 배포 프로세스를 따릅니다 .
  • ALM 도구(TFS, Jira, HP QC) 및 테스트 자동화 도구(Selenium WebDriver 선호) 경험 .
품질 보증 자동화 엔지니어 - QA ( 품질 보증 자동화 엔지니어 ):
  • Selenium WebDriver 사용 경험 ;
  • Python, Java 또는 유사한 언어의 프로그래밍 기술;
  • 모바일 테스트 경험 / Appium .
테스트 소프트웨어 개발자:
  • C#, TypeScript, JavaScript 등의 테스트 환경 과 테스트 도구를 업데이트하고 확장합니다 .
  • 객체 지향 프로그래밍 개념 에 대한 명확한 이해와 함께 C#, Java 및/또는 JavaScript에 대한 강력한 프로그래밍 기술
  • Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence 경험이 있습니다.
자동화된 테스트를 시작하는 방법(1~4부)
다음은 이러한 직무 설명에서 얻을 수 있는 몇 가지 주요 내용입니다. 하이브리드/혼합 역할: 직위와 이러한 회사가 자동화된 소프트웨어 테스트를 어떻게 보는지에 세심한 주의를 기울이십시오. 이는 그들이 나열한 역할의 이름(소프트웨어 자동화 개발자, 테스트 중인 소프트웨어 개발자 등)으로 확인할 수 있습니다. 패턴을 발견하셨습니까? 이러한 회사는 어느 정도 QA 엔지니어를 개발자로 지칭합니다. 소프트웨어: 수동 테스터의 경우 이는 이제 수동 테스트 사례를 자동화된 테스트 스크립트로 전환하는 코드를 작성하는 방법을 배웁니다. 자동화된 테스트로 전환하려는 개발자의 경우 이는 소프트웨어 테스트 방법론, 테스트 라이프사이클 소프트웨어에 대해 자세히 배우고 지원을 위해 자동화된 테스트 사례를 구축하는 방법을 배워야 함을 의미합니다. 이 중요한 변화를 놓치지 마십시오. 그렇지 않으면 뒤처지게 됩니다.Agile 방법론과 Agile 기반 프로젝트의 등장으로 점점 더 많은 조직에서 QA와 개발자를 하나로 혼합하고 있습니다. 새로운 책임. 소프트웨어 테스팅 세계에 대한 기본 교육을 받았으며 동시에 소프트웨어 개발자의 기술을 잘 이해하고 있는 개인은 금과 같은 가치가 있습니다. 오픈 소스 기술/프로그래밍 언어: 설명 에서 굵게 강조 표시된 기술 및 프로그래밍 언어를 참고하세요 . 이러한 기술과 언어는 타겟이 되어 있으므로 시장에서 수요를 얻으려면 배워야 합니다. 수요가 높은 기술 하나를 선택하고 이를 연습하고 실제 실습 응용 프로그램과 프로젝트에 참여하여 기술을 구축해 보세요. 이렇게 하면 학습 속도가 빨라집니다. 어떤 프로그래밍 언어로 시작해야 할지 잘 모르겠다 면 범위를 조금 좁혀 보겠습니다.

2단계: 객체 지향 프로그래밍 언어(OOP) 익히기

현실을 직시하자: 대부분의 수동 테스터는 프로그래밍을 두려워합니다. 내부적으로 들어가 시스템과 애플리케이션이 실제로 어떻게 작동하는지 보는 것 자체가 많은 수동 테스터를 겁나게 합니다. 이 두려움은 주로 그들이 수동 테스터가 된 이유입니다.
자동화된 테스트를 시작하는 방법(1~5부)
프로그래밍은 자동화된 테스트의 기초입니다. 자동화 테스트에 참여하려면 코딩 능력이 있어야 하며, 프로그래밍에 능숙할수록 자동화 테스트 또는 자동화 개발에서 더 큰 성공을 거둘 수 있습니다. 따라서 끊임없이 변화하는 개발 및 기술 세계에서 경쟁력을 유지하려면 이러한 두려움을 극복하고 수요가 많은 자동화 테스트 개발자가 되겠다는 결심을 해야 합니다. 좋은 점은 경험이 많은 동료의 최소한의 지도, 끈기와 끈기, 지속적인 연습(JavaRush에서 하는 것처럼)을 통해 프로그래밍 기술을 확실히 향상시킬 수 있다는 것입니다. 다음 논리적 질문은 어떤 프로그래밍 언어를 배워야 하는가입니다. 우리의 시장 평가에 따르면 고용주는 "객체 지향 프로그래밍 언어에 대한 깊은 이해를 갖춘" 사람을 고용하기를 원한다는 것을 알고 있습니다. 그리고 우리의 분석에 따르면 그들이 참조하는 여러 객체지향 프로그래밍 언어를 볼 수 있습니다. 예를 들어 Java, C#, JavaScript 및 Python이 있습니다. 당신은 그들 중 하나로 시작할 수 있습니다. OOP 언어를 배우기 시작했다면 자동화된 테스트에 더 능숙해지기 위해 잘 다룰 수 있는 몇 가지 개념은 다음과 같습니다.
  • 객체 지향 프로그래밍(클래스, 객체, 인스턴스, 상속, 속성 등)
  • 모듈, 표준 라이브러리(선택한 언어)
  • 데이터 구조(사전, 목록, 튜플 등)
  • 데이터 유형(문자열, 문자, 정수, 부동 소수점, 논리 또는 부울 유형, NoneType 등)
  • 변수;
  • 오류/예외 처리;
  • 산술 연산자/우선순위;
  • 비교, 논리 부울 연산자;
  • 절차/기능/방법;
  • 제어 흐름: If 문, for 루프, while 루프 등
  • 파일 읽기/쓰기;
프로그래밍은 자동화된 테스트의 기초입니다. 프로그래밍하는 법을 배우면 자동화하는 법을 배우게 됩니다.

3단계: 자동화 도구 익히기

저는 계속해서 이렇게 말합니다. 프로그래밍을 잘할수록 자동화도 더 잘할 수 있습니다. 프로그래밍 언어를 배우기 시작했다면 다음 단계는 자동화 도구를 사용하는 방법을 배우는 것입니다. 왜냐하면 대부분의 기업은 비용상의 이유로 상용 라이센스 제품보다는 오픈 소스 자동화 도구(또는 무료 소프트웨어)에 의지하고 있기 때문입니다.
자동화된 테스트를 시작하는 방법(1~6부)
공개 도메인에서 찾을 수 있는 훌륭한 도구는 Selenium WebDriver입니다. Selenium에는 여러 언어 바인딩(Python, Java, C#, Ruby, PHP, JavaScript 등)이 있으므로 이러한 프로그래밍 언어 중 하나를 배우면 자동화 분야에서 탄탄한 경력을 쌓기 위한 훌륭한 기반이 제공됩니다. 안정적이고 기능적이며 효율적인 자동화 테스트 케이스를 구축하기 위해 숙지해야 할 몇 가지 주요 개념은 다음과 같습니다.
  • 디자인 패턴: 페이지 개체 모델;
  • 다양한 로케이터(CSS 선택기, XPATH, ID, 이름 등)를 사용하여 웹 페이지 요소 검색
  • Windows/iFrame을 전환합니다.
  • 리팩토링;
  • 단위 테스트;
  • 클라우드 테스트/병렬 테스트;
  • 데이터 확인;
  • 다양한 웹 브라우저(Firefox, Internet Explorer, Chrome, Safari, Opera 등)에서 테스트
  • 암묵적이고 명시적인 기대;
  • 일련의 행동
객체 지향 프로그래밍 언어를 선택하고 자동화 도구를 사용하여 시장을 평가했다면 다음 논리적 단계는... 어떻게 생각하시나요?...

4단계: 연습, 연습, 연습

무슨 일을 하든 절대 포기하지 마세요. 새로운 것을 배우는 것은 항상 어려운 일입니다. 그러나 모든 어려움은 충분한 연습과 헌신으로 극복될 수 있습니다. 새로운 기술과 기술을 배우는 데 걸리는 시간은 전적으로 귀하에게 달려 있으며 해당 기술을 익히기 위해 얼마나 많은 연습과 헌신을 쏟는지입니다.
자동화된 테스트를 시작하는 방법(1~7부)
모든 프로 운동선수는 훈련과 노력을 통해 자신의 여정의 정점에 도달했다고 말할 것입니다. 마이클 조던은 열심히 뛰었지만 더 열심히 훈련했다고 합니다. 이 접근 방식은 자동화하려는 사람이라면 누구나 채택해야 합니다. 즉, 새로운 기술이 제2의 천성이 될 때까지 연습하고, 연습하고, 연습해야 합니다. 이것이 기술을 향상시키고 테스터로서 수요를 얻을 수 있는 유일한 방법입니다. 훈련하는 좋은 방법 중 하나는 프로그래밍 언어와 자동화 도구를 동시에 "놀이"하면서 적극적으로 배우는 것입니다. 즉, 작은 프로그램이나 자동화된 테스트 스크립트를 작성하고, 이를 깨고, 변경하고, 지금 그것이 어떻게 작동하는지 확인하십시오. 당신이 한 일로부터 배우고 다시 시도하십시오. 놀고, 행하고, 배우면서 연습하세요. 이렇게 하면 학습 곡선이 올라갈 것입니다.

시작할 시간

새로운 사업에서 가장 중요한 것은 시작하는 것입니다. 우리가 미루거나 시작하지 못하는 경우는 항상 진로를 계획하는 데 도움이 되는 로드맵이나 게임 계획이 없기 때문입니다.
자동화된 테스트를 시작하는 방법(1~8부)
경력의 방향을 근본적으로 바꾸려고 시도하는 것은 어려운 것처럼 보일 수 있지만, 가치 있고 시장성이 있는 것은 필수적입니다. 끊임없이 변화하는 소프트웨어 개발 세계에서 선두를 유지하고 고용주가 실제로 원하는 사람이 되려면 새로운 기술을 개발해야 합니다. 작게 시작하십시오. 시장 요구 사항을 평가하고, 객체 지향 프로그래밍 및 자동화 도구를 배우고, 지속적으로 연습하십시오. 그리고 당신이 알기도 전에 새로운 직업 기회에 대비하게 될 것입니다. 출처: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION