2013-10-22 3 views
11

저는 대기업의 안드로이드 애플리케이션을 개발하고 있으며, 다른 회사들이 어떻게 앱을 테스트하는지 궁금합니다. 우리는 모든 종류의 장치 및 테스트 응용 프로그램을 보유 할 수 없으므로 고객에게 권장하는 약 10 종류의 장치가 있습니다.다양한 기기에서 안드로이드 엔터프라이즈 애플리케이션을 테스트하는 방법

Eset와 Sygic에도 앱이 테스트되는 일부 주요 지원 장치가 있고 일부 장치 관련 버그가있는 경우 해당 장치를 가져 오는 것으로 들었습니다.

나는 약간의 조사를했고, TestDroid와 같은 자동화 된 테스트 도구를 발견했다. TestDroid와 같은 자동화 된 테스트 도구를 사용하여 실제 경험을 가진 사람이 있습니까?

큰 회사에서 일하는 사람이 다양한 OS 버전, 해상도 및 시스템 확장 기능을 갖춘 수많은 장치가있는 경우 엔터프라이즈 안드로이드 응용 프로그램을 테스트하는 방법에 대한 테스트 절차, 도구, 힌트 또는 권장 사항을 공유 할 수 있다면 정말 대단합니다. HTC Sense, 삼성 터치 위즈).

고마워요.

답변

1

경우 개발 팀의 당신 일부, 당신은 테스트 케이스의 두 세트로 끝날 수있는 몇 가지 다른 팀의 QA 가능성이 높습니다.당신은 당신의 일을 끝냈다는 것을 당신의 매니저에게 증명해야하고 그것은 테스트 케이스를 통과시키고 QA는 그들의 매니저에게이 앱이 모든 요구 사항을 통과 한 것을 보여주기 위해 테스트의 일부를 할 것입니다.

본사의 품질 관리팀은 때때로이 서비스에 대한 언급을 몇 번씩하고 있지만 항상 그렇지는 않다고 생각합니다. 언제 내가 그들에게 매우 시간이 많이 걸리는만큼이 서버를 사용하는 것이 매우 편리하지 않다는 말을 들었습니다. 그리고 그들 모두가 어떤 것을 테스트하지 못한 경우입니다.

우리 팀 (개발 팀)에서는 추가 예산이 없었으며 품질 보증 및이 서비스를 우리의 요구 사항과 나란히 조사한 개발자로부터 만족스럽지 못했습니다. 그래서, 우리는 우리 자신의 테스트 자동화를 끝내게됩니다. 어느 것이 정확히 이틀이 걸렸습니다. GIT를 사용

  1. ,
  2. 젠킨스
  3. ADB
  4. 배치/쉘 스크립트.

기능 및 단위 테스트 사례를 완료 할 때마다 해당 기능을 이슈 트래커에서 완료로 표시합니다. 개발자가 코드를 버전 제어 시스템에 푸시합니다.

개발자가되면 다음 날 아침 Jenkins 패널에 가서 빌드를 시작합니다. Jenkins는 다음을 수행하는 배치 파일을 실행하기 만합니다.

  • GIT의 최신 코드를 다운로드하십시오. git 명령을 사용합니다.
  • 업데이트 버전 ID.
  • Android 명령 줄 빌드 프로세스를 실행하여 앱을 빌드합니다.
  • 단위 테스트 응용 프로그램과 동일한 단계를 따르십시오.
  • 두 응용 프로그램을 모두 장치에 설치하거나 해당 서버에 연결된 장치를 설치하십시오.
  • 해당 장치에서 ADB를 사용하여 테스트 응용 프로그램을 실행하십시오.
  • 단위 테스트 로그 (Junit 스타일) 수집.
  • 로그를 모든 이해 관계자에게 보냅니다.
  • 이것은 스트레스 테스트에도 동일합니다. 그러나 야간 스트레스 테스트를 수행하면 메가 바이트 로그가 수집 될 수 있습니다.이 경우 키워드 기반 검색은 분명히 충돌을 찾는 좋은 방법입니다.

    레이아웃/해상도 테스트의 경우 adb 또는 단위 테스트 앱을 사용하여 항상 스크린 샷을 찍어 이메일 첨부 파일로 첨부 할 수 있습니다.

    확실히 제 3 자 서비스를 사용하면 작업을 쉽게 수행 할 수 있으며 필요한 모든 것을 언제든지 아웃소싱 할 수 있습니다. 그러나 수동 테스트가 절대적으로 필요한 경우를 생각해보십시오. 마찬가지로, 앱에서 사용자가 명시 적으로 입력해야하는 Android 또는 Settings에서 WiFi를 활성화하려는 경우 또는 사진을 찍거나 소셜 네트워크 통합을 테스트하는 데 카메라를 사용하는 것과 같이 다른 리소스를 사용하는 경우. 요구 사항을 비즈니스 주체가 제공하는 서비스와 비교하십시오.

    +1

    너와 애런이 나에게 정말 좋은 조언을 해줬 어. 그래서 누가 현상금을 받을지 몰랐어. 마지막으로 @aeren에 현상금을줬고 당신의 대답을 받아 들였습니다. Aeren은 당신에게 그다지 명성이 없었기 때문에 나는 그에게 동기를 부여하고 싶었습니다. 답변 해 주셔서 감사합니다. 정말 도움이됩니다. – koso

    4

    아래 정보는 우리 경험의 결론입니다.

    대규모 장치 세트를 지원하는 가장 좋은 방법은 자신의 테스트 장치로 앱을 테스트하는 것입니다. 대기업 프로젝트의 경우 회사에 특정 장치 그룹이없는 경우 대부분의 현재 사용자를 고려해야합니다.

    아래의 방법으로 상위 장치를 결정하는 방법이 있습니다.

    대부분의 장치 사양을 이해하기 위해 정보를 검색하려면 android stats dashboard page을 확인해야합니다. 이 작업을 수행하는 간단한 방법은 플랫폼 버전의 통계 조사 (배포판 별) & & 화면 크기 및 밀도의 조합을 취하는 것입니다.

    다음은 인기있는 장치 목록을 대략 가지고 있으며, 그 목록을 많이 소유해야합니다.

    예산이 충분하지 않아 많은 기기를 구입할 수없는 경우 testDroid 등 일부 회사의 테스트를 아웃소싱하도록 선택할 수 있습니다. 그러나 일반적인 자동화 테스트로 인해 앱에 충분하지 않으며 가려운 버그가 나타나면이 장치가 있어야 고정되어 있는지 확인해야합니다.

    우리는 테스트를 위해 장치를 사용하기로 결정했지만, 과거에 아웃소싱을 시도했으며, 우리가 선정한 3 가지가 있습니다.

    +1

    답장을 보내 주셔서 감사합니다. 나는 더 많은 답변을 얻기 위해 현상금으로 4 일 더 기다릴 것이다. – koso

    0

    github hook => Jenkins => TestFlight 은 수동 테스터에게 전자 메일을 보내고 Spoon을 사용하여 Robotium 테스트를 시작합니다.시간이 보고서의 모든 성공 서명 APK의 경우 PM 및 개발 팀,로 이동 한 후

    +0

    이 흐름은 git 태그 용입니다. –

    2

    는 사실, 안드로이드 애플리케이션의 자동화 된 테스트를위한 많은 도구가 게시 간다. Android 테스터가 자동화 된 테스트에 사용하는 가장 일반적인 도구에 대한 간략한 개요를 살펴보십시오. http://blog.bughuntress.com/automated-testing/useful-tools-for-android-apps-test-automation. 그들을 살펴보면 유용 할만한 것을 찾을 수있을 것입니다. 이들은 모두 대기업의 테스트 자동화에 일반적으로 사용됩니다.

    관련 문제