안녕하세요. 드라마앤컴퍼니의 곽수민입니다.
지난 포스팅에 이어서 모바일에서 UI 테스트 자동화를 실행하기 위한 Setting 방법과 실제 디바이스에 설치되어 있는 제품과의 연결을 시도해보려고 합니다.
개발환경 Setting
기본적으로 자동화 시스템을 구축하는 것도 실제 개발하는 것과 환경이 크게 차이가 없습니다. 제가 사용하고 있는 MAC OS 기준으로 환경정보를 구성하는 방법을 소개하겠습니다.
OS : Mac 10.14 (최신버전) |
iOS – MAC OS 최신버전 – node.js (10.6) 최신버전 – Xcode 10.1 이상 – Apple Developer Tools (iOS simulator SDK< command line tools) * iOS Simulator 사용에 대한 인증 필요 – Apache Maven 설치 및 환경변수 Setting – Appium Server (CUI/GUI) * Appium에서 제공하는 ‘WebdriverAgent’ Remote Application |
Android – node.js (10.6) 최신버전 – Android SDK 및 환경변수 설정 – Android tool (API Level) – JDK 설치 및 환경변수 Setting (JAVA, JAVAC) – Apache Maven 설치 및 환경변수 Setting – ADB (Android Debug Bridge) – Appium Server (CUI/GUI) |
* 필수 : Apple의 Developer 계정(개인 계정도 관계 없음)을 생성해두어야 합니다. Xcode Build 옵션 중 Test 모드에서 WebdriverAgent 을 실제 기기에 빌드할 때 올바른 서명을 포함해야 하기 때문입니다.
위 도구들의 셋팅 방법은 구글링이나 포털 검색을 통해서 차근차근 진행해보시기 바랍니다.
Appium (자동화 도구)
세상에는 여러가지 자동화 도구들이 있습니다.
그 중에서도 저희가 Appium을 이용하여 자동화를 구축한 이유는 다음과 같습니다.
- iOS / Android 모두 지원
- 다양한 Scripting 언어를 지원 (JAVA, Python, Ruby, C# 등…)
- Multi-Testing
Appium 서버는 개발자가 테스트 프레임워크에서 제공하는 API(WebDriver JSON Wire Protocol)를 사용한 다양한 언어 베이스의 스크립트를 HTTP Commands로 받아주고 스크립트 상의 명령어들을 디바이스에 전송하여 실행하고, 그 결과를 받아와서 Console에 기록해줍니다.
우리가 원하는 모바일의 대표적인 OS를 모두 지원하였고, 다양한 스크립트 언어로 본인이 원하는 방식의 스크립트를 짤 수 있었던게 가장 큰 핵심이었습니다. 또한, 안드로이드의 경우 여러가지 앱을 ADB(Android Debug Bridge)로 병렬 연결하여 한번에 여러 디바이스의 테스트도 가능합니다. (안드로이드는 보통 환경적인 이슈도 많다보니, QA검수 때 iOS보다 환경 선택의 커버리지가 넓은 편이기 때문에 여러 디바이스를 동시에 테스트 할 수 있는 부분이 매력적이었습니다.)
하지만 단점으로는 오픈소스 라이센스의 특성 상 여러가지 문제 (1. 진입 장벽이 높다. 2. Customer Service의 장벽 3. 구글링을 통한 내용들이 잘못된 정보일수도 있다.) 들이 존재하기도 합니다.
출처 : appium.io
국내에는 UI 테스트 자동화 관련 서적은 있지만 초보자가 책을 다뤄보기에는 큰 진입장벽이 있고, 더불어 프로그래밍 지식이 없다면 정보가 매우 제한적일 수 있습니다. 하지만 이 포스팅으로 많은 분들이 더 나은 환경을 구축해보셨으면 좋겠습니다.
출처 : appium.io
Appium GUI에서는 모바일 화면의 모든 Element에 대해서 개발에 필요한 기본 초석이 되는 리소스들을 사용자에게 제공해줍니다. (아래는 간략한 방법입니다.)
우선 디바이스와 Appium을 연결해주어야 합니다. 위에서 설명드린 것처럼 iOS는 WebDriverAgent라는 Remote앱을 미리 Xcode에서 Test모드로 빌드한 상태여야 합니다. (이 부분은 내용이 매우 복잡한 관계로 추후에 다루겠습니다.) Android OS는 ‘USB 디버깅’ 모드가 활성화 되고 ADB를 통하여 PC와 연결된 후에 아래 내용을 진행할 수 있습니다.
(*참고로 USB 디버깅 모드를 활성화 시키려면 휴대폰의 설정> 휴대전화 정보> 소프트웨어 정보> ‘빌드번호’ 내역을 여러번 터치하면 개발자 모드를 활성화 시킬 수 있고, 다시 휴대폰의 설정>개발자 옵션을 통하여 ‘USB 디버깅’ 모드를 활성화 시킬 수 있습니다.)
Appium의 처음 실행화면입니다. Host와 Port를 직접 구성하여 쓸 수 있는데, 동일한 Host를 구성하여 Appium을 열어주었다면 실행이 불가능해질 수 있으므로 잘 체크하도록 합시다.
Appium이 정상적으로 실행된 모습입니다. 상단 ‘돋보기’ 모양의 버튼을 눌러 Starter inspector Session 설정창을 띄워줍니다.
Inspector Session에서 Custom Server탭으로 구성하여 서버를 초기에 생성한 Host와 Port란을 채워줍니다.
디바이스와의 연결을 위하여 이미지를 참고해서 platformName, PlatforVersion, BundleID(실행해야 할 어플리케이션), automationName, udid, deviceName등을 위의 예시처럼 기입해줍시다.
연결이 정상적으로 완료되었다면 다음과 같은 화면이 나타나고, 우리가 해야할 자동화 스크립트 생산에 필요한 정보들을 습득할 수 있습니다. 보통 iOS 기준으로는 accessibility id, name주로 쓰게 되는데, 때로는 xpath값을 쓰기도 합니다. (xpath의 치명적인 단점으로 왠만하면 모든 ‘Element’들을 쉽게 다룰 수 있지만, 검색속도가 느려 전체적인 자동화 속도에 크게 영향을 미칩니다.) 어디에, 어떻게 해당 Element를 적절하게 활용해야 하는지는 추후 자동화 스크립트를 본격적으로 개발하면서 설명드리겠습니다.
자동화 스크립트를 개발하기전에!
자동화 스크립트를 개발하기 위해서는 우선 Eclipse에서 Maven Project 를 생성하고 pom.xml 파일에 자동화 개발 관련 Appium과의 Dependency를 설정해주어야 합니다. (해당 글에서는 Eclipse 도구를 이용하여 진행하겠습니다.)
먼저 설치한 Eclipse를 실행합니다.
해당 화면에서 [File] > [New] > [Maven Project] 메뉴를 선택해 줍니다.
New Maven Project창에서 Next를 누르다가 해당 화면이 나오면 Group ID, artifact Id를 입력하고 [Finish] 버튼을 눌러줍시다.
메이븐 프로젝트가 정상적으로 생성되었으면, Pakage Explorer영역에서 pom.xml 파일을 접근한 뒤, Selenium, TestNG, junit, Appium Java Client 과의 Dependency 를 이미지와 같이 설정해줍니다. 이렇게 하면 자동화를 위한 기본 Setting은 모두 완료되었습니다.
자동화 스크립트
자동화는 반복되는 작업들을 ‘자동화’ 함으로써 리소스 확보는 물론 제품의 갯수가 늘고 앱의 기능이 추가/변경되어 전체적인 볼륨이 커지는 상황에서도 빛을 발할 수 있습니다. 또한, 이전 포스팅에서도 언급했듯이 컴퓨터는 짜여진 코드 구성으로 반복적인 일을 하게 됨으로써 일관성 있는 테스트 결과를 받아볼 수 있는데 큰 장점이 있습니다.
저희는 Eclipse 또는 Visual Studio Code 도구를 이용하여 Selenium Library에 기반한 자동화 관련 소스를 생산해내고 있습니다. 실제 테스트는 코딩 도구의 MarketPlace에서 활용할 수 있는 Extensions 중 Java Test Runner라는 Extension을 활용하여 테스트 기기나 가상 머신을 제어할 수 있도록 구성하였습니다.
우선, 생성된 프로젝트 내에 있는 src/test/java 경로 하위에 클래스를 생성해 줍니다.
이렇게 생성된 클래스에서 실제 개발을 진행하게 되는데, 해당 바디는 크게 선처리, 후처리, 테스트 동작 메소드를 구성하게 됩니다. (해당 포스팅에서는 ‘선처리’ 부분까지만 다루겠습니다.)
선처리는 기본 개발환경을 세팅하고, appium과의 연결을 처리해주는 부분으로 이해할 수 있습니다. 기본적으로 디바이스 이름/버전 , 플랫폼 이름/버전, Product의 Bundle ID, 기기 고유번호, RemoteUrl(appium local host, port)등이 포함됩니다.
참고로 각 모바일 환경마다 선처리(환경정보 세팅) 방법에 대한 코드 예제는 아래와 같습니다.
@BeforeSuite //iOS Device public void Setting() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("automationName", "{XCUITest}"); capabilities.setCapability("platformName", "{iOS}"); // 환경 capabilities.setCapability("deviceName", "{디바이스 이름}"); // 디바이스 이름 capabilities.setCapability("platformVersion", "{12.0.1}"); // OS 버전 capabilities.setCapability("bundleId", "{앱 패키지 네임}"); //앱 패키지 네임 capabilities.setCapability("udid", "{Device UDID}"); // 디바이스 고유 UDID (iOS) capabilities.setCapability("noReset", true); // 테스트전에 리셋할건지 여부(true/false) URL remoteUrl = new URL("http://0.0.0.0:4723/wd/hub"); //WebDriver Hub ip/port (앱피움에서 확인) wd = new IOSDriver(remoteUrl, capabilities); }
-iOS 선처리 예제-
@BeforeSuite //Android Device public void Setting() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("appium-version", "{1.12.1}"); //UI Automator 사용하기 위함 capabilities.setCapability("automationName", "{uiautomator2}"); //Android 8.0 이상 필수 capabilities.setCapability("platformName", "{Android}"); capabilities.setCapability("platformVersion", "{9}"); capabilities.setCapability("deviceName", "{디바이스 이름}"); capabilities.setCapability("appPackage", "{앱 패키지 name}"); capabilities.setCapability("appActivity", "{스플래시 Activity name}"); capabilities.setCapability("noReset", true); capabilities.setCapability("unicodeKeyboard", true); //appium 전용 keyboard 이용하기 위함 URL remoteUrl = new URL("http://0.0.0.0:7273/wd/hub"); //WebDriver Hub ip/port (앱피움에서 확인) wd = new AndroidDriver(remoteUrl, capabilities); }
-Android 선처리 예제-
위와 같이 각 환경정보에 필요한 내용들을 먼저 체크한 뒤 이후의 후처리 및 테스트 코드가 정상적으로 수행됩니다.
맺으며
저희는 직접 프로그래밍 기초 지식을 쌓는 동시에 수 만번의 시행착오를 겪으며 점진적으로 테스트 자동화 시스템을 구축 하였습니다. 그 결과 전체적인 QA팀 리소스 활용과 실제 검수 업무에도 큰 도움이 되었고, 사내 DTT(Drama Tech Talk)에도 소개할만큼 많은 분들께서 관심을 가져주시고 계십니다. 이 글을 쓰는 이유도 ‘많은 QA 직무에 있으신 분들이 테스트 자동화에 대한 관심을 가지고 더 나은 업무 프로세스를 만들 수 있도록 도움을 드릴 수 있겠다.’ 였습니다.
아직 포스팅으로 설명해야 할 부분들이 매우 많이 남았지만, 개발 환경 세팅을 하고 Appium과 실제 디바이스를 연결한 것만으로도 크게 한걸음 나아갔다고 해도 과언이 아닐 것 입니다.
다음화는 iOS에서 가장 중요한 ‘WebDriverAgent Test모드로 빌드하기’ 로 찾아 뵙겠습니다. 긴 글 읽어주셔서 감사합니다.
P.S 잘 이해가지 않는 부분이 있다면 언제든, 어느분이든 댓글 남겨주세요.
포스팅 매우 잘 읽었습니다! 질문 3가지가 있습니다
스크립팅 언어를 JAVA로 선택한 이유가 있으신가요
?
빌드 도구 같은것에 물려서 daily 테스팅 수행하시는지요?
안드로이드 기기도 적용되어져 있나요?
※ pythone 오타 제보 드립니다.
안녕하세요. 뚱징어님! 해당 포스팅에 관심을 가지고 댓글 주신 점 감사합니다.
1. 스크립팅 언어를 JAVA로 선택한 이유는 크게 없습니다. 가장 저희에게 친숙했던 언어가 JAVA였던걸로..
(하지만 다른 언어도 Selenium Library를 지원하기 때문에 언어 선택에 큰 장벽이 있지는 않습니다.)
2. 실제로 저희가 해당 시스템을 사용하는 방법들은 크게 3가지가 있습니다
a. 자동화가 가능한 모든 영역에 대한 QA검수
b. 반복적인 작업을 통하여 데이터를 생성해야 할 경우 (ex. 수백, 수천개의 테스트 계정이 필요하거나, 앱 내의 초대 기능을 이용하여 수천명의 구성원을 만들거나)
c. 넓은 환경의 커버리지를 가지기 위한 병렬 테스트 (Only Android)
3. 저희는 안드로이드 기기도 적용되어 있습니다. (혹여나 Windows OS로 환경 세팅을 한다면 Android 디바이스 밖에 구축하지 못합니다. iOS는 Xcode가 필수이기 때문에..)
* 오타 지적 감사합니다! 수정해두겠습니다.
관련 자료 찾기가 너무 힘들었습니다 포스팅 감사합니다.
Q1. 반복적인 동작도 테스트 가능하다고 하셨는데 예를 들어 리멤버 기준으로 사진촬영을 무한번 테스트 수행한다던지 하는 특정액션도 가능한가요?
Q2. 선처리, 후처리, 테스트 메소드를 나누어주는 기준은 어떻게 되나요?
Q3. 아이폰 X 이상부터 UDID가 변경된걸로 아는데 어떻게 확인하시고 코드에 처리하셨나요?
한국에는 몇 안되는 너무 좋은정보들이라 다음편돚기대하고 있겠습니다. 감사합니다!
안녕하세요! 질문입니다 님.
1. 당연히 가능합니다. 저희는 위의 댓글처럼 몇가지 자주 사용하는 코드들을 모아서 실제로 테스트 데이터 생성 작업에 활용하기도 합니다. (다만, 말씀하신 카메라 부분은 사람의 직관적인 판단이 테스트 할 때 더 정확하기 때문에 구축하지는 않았습니다.)
2. 선처리, 후처리, 테스트 메소드를 나눠주는 ‘메소드’를 이용합니다. 예를 들어 선처리는 @BeforeSuite, 후처리는 @AfterMethod, 테스트는 @Test를 사용하는데 정해져 있는 것이 아닌 우선순위 기준으로 코드가 동작하게 됩니다. 이것 말고도 매우 많은 ‘메소드’들이 있는데, 더욱 자세한 설명은 다음 포스팅에서 설명드릴 수 있도록 하겠습니다.
3. UDID 양식이 바뀌었습니다. 총 24자리 난수로 표시되어 있는데, 코드에서는 8자리 뒤 ‘-‘(하이픈)으로 처리해주었고, 실제 테스트 과정에 이상없었습니다.
해당 포스팅이 더 나은 프로세스를 만들기를 기원합니다!
감사합니다.
안녕하세요. sumin님 ^^
친절하고 상세한 답변 감사드려요.
※ E-mail 알림 기능이 정상동작하나유?
댓글 알림 이메일 받기 그리고 새 글 알림 이메일 받기 모두 체크 해뒀었는데 안 왔어요. ㅠㅠ
수동으로 들어왔답니다!
안녕하세요 뚱징어님
감사합니다.
말씀해주신 현상은 한번 확인해보도록 하겠습니다.
좋은 하루 되세요!
안녕하세요. 우선 포스팅 내용정리가 잘되어있어 여러부분이 공감됩니다.
저는 단말제어(Mobile Device Management) 솔루션 관련된 일부 기능을 자동화로 개발할 계획입니다. UiAutomator, Selenium로 자동화를 개발경력은 있으나 Appium은 만져보질않았네요..
1. Jenkins 연동여부
아마 사내에서 Commit || Daily || Weekly 단위로 자동화 테스트를 진행 하실것 같습니다. Jenkins에 자동화 프로젝트를 물려놓으셨을거라 예상되는데 실제 물리적 단말을 젠킨스 또는 젠킨스와 연동된 테스트서버에 상시 물려놓고 진행하시는지요? 아니면 아마존AWS의 Device Farm같은 솔루션을 이용하시는지요??
2. Appium의 Control Coverage
저희 솔루션은 단말의 특정 시스템기능이나 특정앱이 사용되지 못하도록 기능을 차단하는 솔루션입니다. 예를들면 보안구역에서 특정앱(카메라 등)을 차단한다던가 MTP차단, 전화수발신등 시스템의 수많은 기능을 선택적으로 차단하는 솔루션인데요. Appium에서는 테스트를 돌릴 패키지를 정확히 명시하여 해당 앱에서만 테스트가 도는것이 Rule인거 같습니다. 만약 저희같은 OS시스템의 수많은 기능을 제어하려 한다면 특정 앱이 아니라 시스템단위 혹은 불특정 다수의 앱일 수 있습니다. 이런경우 Appium에서 커버가 가능한지 궁금하네요. Appium의 경우 Apple기기까지 커버, 멀티디바이스 테스트가 가능한점이 장점이나 저희는 시스템(OS)영역을 다뤄야 하는 입장이라 안드의 경우 UiAutomator로 개발을 생각하고 있습니다. 의견이 궁금합니다 🙂
안녕하세요 Jay님, 포스팅 읽어주셔서 감사합니다.
질문주신 내용에 대해 답변드립니다.
1. Jenkins 연동여부
개발자들과 관련한 내용을 연동하기 위해서 논의는 나누어봤지만, 아직 도입은 하지 못한 상태입니다. 이유는 아직은 해당 시스템의 신뢰도의 측정을 위해서(검수 시간, 정확성, 버그 fix, 최적의 사용자 경로 등을 고려하는 중) QA 검수 업무에 Support적인 역할로 두고 있기 때문입니다.
작업이 어느정도 고도화가 이루어지고, 신뢰도가 쌓이면 충분히 고려할 수 있는 요소로 생각하고 있습니다.
2. Appium Control Coverage
말씀하신 것처럼 패키지를 정확하게 명시하여 앱 안에서의 동작을 제어하는 방식이 기본입니다. 그래서 실제로 외부앱을 연동한다던지 등의 동작들은 제한적인 요소가 매우 많이 있습니다. 다만 Appium같은 경우에도 UiAutomator2 라이브러리를 기본적으로 제공하고 있고, 관련한 시스템적인 영역에서는 다음 페이지에서 제공하는 API들을 확인하실 수 있습니다. http://appium.io/docs/en/about-appium/getting-started/?lang=en 페이지 상단의 Commands> Device 에서 지원하는 API들을 살펴보시면 도움이 되실지도 모르겠습니다.
충분한 답변을 드린 것인지 잘 모르겠지만, 도움이 되시길 바랍니다.
또 궁금한 점 있으면 언제든 댓글 달아주세요. 감사합니다.
오랜만에 Fuction test 앱 자동화 테스트에 대해 포스팅하신 내용을 즐겁게 읽어보았습니다.
그런데 iOS의 경우 디바이스 드라이버 문제나 해상도의 파편화가 적은 편인 반면에 Android의 경우 디바이스 드라이버 문제, 해상도 파편화 등 변수가 큰 부분에 대해 어떤 방식으로 해결을 하셨는지 궁급 합니다.
그리고 자동화의 경우 결과 Report를 받기위해 Testlink나 기타 오픈소스와 연동해서 사용하는게 편하셨을 것 같은데 이런 업무적인 자동화는 어떻게 진행하셨는지도 궁금 하고요.
안녕하세요 Ray Woo님, 포스팅에 관심을 가져주셔서 감사합니다.
아직 설명해야 할 내용들이 많이 남았고, 포스팅 업로드가 늦어져 궁금한점이 많으실 것 같습니다.
말씀하신 부분들에 대한 부분에 대한 답변드립니다.
1) 해상도의 파편화
해상도에 따라 다양한 문제가 발생할 수 있기 때문에 저희는 모든 화면 내 리소스들을 하드코딩하여 변수를 생성해주었습니다.
– [시작] 버튼의 ‘위치’를 찾으라가 아닌, [시작] 버튼을 찾으라로 명령을 한다고 이해하시면 될 것 같습니다.
화면 내 리소스에 대한 변수들을 생성하고 잘 관리 해준다면, 다양한 해상도의 디바이스에서도 문제 없이 해결 가능합니다. 간혹, Resource ID가 누락되거나, 변수를 지정할만한 재료가 없다면 강제 삽입이나 여러 방법들을 찾을 수 있을테지만 이러한 방법들은 재사용 할 수 있는 코드로는 쓸 수 없기에 아직 고민되는 부분이 많습니다.
2) 리포트 관련
테스트 리포트는 우선은 Java Test Runner에서 기본으로 제공하는 리포트를 받아서 쓰고 있습니다. 고도화 하면서 테스팅에 필요한 정보들이 많아질 수록 다양한 오픈소스와의 연동을 고민해볼 수 있겠으나, 아직은 크게 추가적으로 고려하고 있는 부분은 없습니다. (현재까지 구현된 테스트 코드를 가지고 신뢰성을 더 확보하는게 주력하고 있어서, side적인 일들은 크게 고려하지는 않고 있다는 이유입니다.)
충분한 답변이 되셨는지는 잘 모르겠지만, 더 나은 프로세스를 위해서 도움이 되길 바랍니다.
또 궁금한 점 있다면 댓글 주세요. 감사합니다.
안녕하세요. 자동화에 관심이 많은 QA 종사자 입니다.
해상도의 파편화와 관련하여 추가 질문드리고 싶은데요.
파편화를 해결하기 위해 화면 내 리소스들에 대해 하드코딩을 했다고 하셨는데 그럼 UI의 일부 변경이 발생하거나 앱개편이 진행될때는 해당 리소스들을 어떻게 관리하실 생각이신지요?
예를들어 하드코딩된 리소스들을 리스트로 별도로 관리한다던가 SVC툴을 통해서 변경점을 찾아서 수정하거나 하는 등의 고안된 방안들이 있으실까요?
저도 하드코딩된 부분들에 대한 테스트 코드 유지보수 때문에 고민이라 질문 드려봅니다
안녕하세요! QA 12년차 직장인입니다.
우연이 앱피움 검색을 하다가 들어오게 되었는데요.
제가 앱피움 자동화테스트 스터디그룹을 이제 막 운영하기 시작하였습니다!
지금은 스터디그룹으로 소소하게 시작하지만,
QA커뮤니티를 크게 이끌어보고자 하고 있습니다.
혹시 관심이 있으시면 아래 이메일로 카카오톡 아이디를 남겨주시면 연락드리겠습니다!
안녕하세요.
현재 회사 내에서 CS와 더불어 QA를 맡아서 업무를 보고 있는데요,
동작이 단순한 어린이 게임들이라 제가 소프트웨어 관련 전공자가 아님에도
일단은 테스터 개념으로 현재 QA업무를 보고 있습니다.
다만, 앞으로 QA로써 현재 업무에 조금 더 도움이 되고
자기 개발이 필요한 분야라 생각이 되어
QA가 할 수 있는 여러가지 기능 향상에 대해 고민하던 중에
appium 자동화 시스템에 관련된 내용에 대해 알게 되었는데요,
혹시 이와 관련하여 공부하기 위해선 어떤 과정들을 미리 공부해두면 좋을까요?
여러 포스팅을 찾아보고는 있지만
개발쪽 관련 지식이 없이 보려니 작동 방식에 대한 간단한 개념은 이해가 되지만
용어나, 디테일한 지식에 관하여서는 이해가 되지 않아서…
가장 먼저 공부하면 좋을게 뭐가 있을까 싶습니다.
*찾아보니 G+Aider 라는 자동화 소프트웨어가 있어 무료 버전으로 사용해보았는데
혹시 관련하여 QA업문에 이요하시는 분들도 있으실까요?
안녕하세요.
현재 회사 내에서 CS와 더불어 QA를 맡아서 업무를 보고 있는데요,
동작이 단순한 어린이 게임들이라 제가 소프트웨어 관련 전공자가 아님에도
일단은 테스터 개념으로 현재 QA업무를 보고 있습니다.
다만, 앞으로 QA로써 현재 업무에 조금 더 도움이 되고
자기 개발이 필요한 분야라 생각이 되어
QA가 할 수 있는 여러가지 기능 향상에 대해 고민하던 중에
appium 자동화 시스템에 관련된 내용에 대해 알게 되었는데요,
혹시 이와 관련하여 공부하기 위해선 어떤 과정들을 미리 공부해두면 좋을까요?
여러 포스팅을 찾아보고는 있지만
개발쪽 관련 지식이 없이 보려니 작동 방식에 대한 간단한 개념은 이해가 되지만
용어나, 디테일한 지식에 관하여서는 이해가 되지 않아서…
가장 먼저 공부하면 좋을게 뭐가 있을까 싶습니다.
*찾아보니 G+Aider 라는 자동화 소프트웨어가 있어 무료 버전으로 사용해보았는데
혹시 관련하여 QA업문에 이요하시는 분들도 있으실까요?
앱피움에 대해서 공부하다가 외국어로 되어있으니 답답했는데
한국어로 설명이 되어있으니 한결 좋습니다.
이 회사가 명함 회사던데..혹시 개인적으로 앱피움을 1~2회배울 순 없을까요
QA에 근무중이며 자동화테스터 공부중인데. 속성으로 가르쳐주는 곳이 있으면 너무 좋겠습니다ㅠㅠ