문제

우리는 큰 프로젝트의 초기 단계에 있으며 일부 형태의 자동화 된 UI 테스트가 우리에게 유용 할 가능성이 있지만 아직 어떻게 작동하는지 정확히 정리하지 않았다고 결정했습니다.

주요 목표는 앱의 기본 설치 및 실행을 자동화하는 것이므로 개발자가 큰 파손을 일으키는 경우 (예 : 앱이 설치되지 않고, 네트워크가 연결되지 않음, 창이 표시되지 않음 등) 테스터는 시간을 낭비 할 필요가 없습니다 (그리고 짜증나게) 깨진 빌드 설치 및 구성

보조 목표는 반복적 인 작업을 다룰 때 테스터를 돕는 것입니다.

내 질문은 : 누가 이런 종류의 테스트를 만들어야합니까? 우리 팀의 암시 적 가정은 테스터가 그렇게 할 것이라고 생각했지만, 인터넷에서 읽은 모든 것은 항상 개발자가 일종의 '확장 단위 테스트'로 만들어 낼 것임을 암시하는 것 같습니다.

몇 가지 생각 :

  • 개발자는 Control ID, 클래스 등을 알고 앱이 어떻게 작동하는지에 대한 훨씬 더 나은 그림을 가지고 있다는 점을 감안할 때이 작업을 수행하기에 훨씬 더 나은 위치에있는 것 같습니다.

  • 테스터는 앱이 어떻게 작동하는지 모른다는 이점이 있으므로 훨씬 더 유용 할 수있는 테스트를 생성 할 수 있습니다.

  • 나는 몇 가지 초기 스크립트를 사용하여 작성했습니다 아이언 루비 그리고 하얀색. 이것은 정말 잘 작동했으며 문자 그대로 무엇이든 할 수있을만큼 강력하지만 UI 테스트를 작성하려면 코드를 작성할 수 있어야합니다.

  • 우리가 시도한 모든 자동화 된 UI 테스트 도구 (TestComplete 등)는 엄청나게 복잡하고 깨지기 쉬운 것처럼 보이며 테스터는 사용할 수 있지만 약 100 배 더 오래 걸리고 끊임없이 "우발적 인 복잡성"에 빠지게됩니다. UI 테스트 도구로 인해 발생합니다.

  • 우리의 테스터는 코딩 할 수 없으며, 똑똑하지만, 테스터가 간단한 루비 스크립트를 쓸 수 있다고 제안했을 때 나는 재미있는 외모였습니다. 자동화 된 UI 테스트 도구의 표준 인 버튼 및 데이터 그라이드).

개발자와 테스터 팀에서 UI 자동화를 시도한 다른 사람들의 피드백에 감사드립니다. 누가 무엇을했고 잘 작동 했습니까? 미리 감사드립니다!

편집하다: 문제의 응용 프로그램은 WCF를 사용하여 서버에 연결하는 C# WPF "Rich Client"응용 프로그램입니다.

도움이 되었습니까?

해결책

이상적으로는 테스트를 작성하는 것이 실제로 QA 여야합니다. 프로그래밍 방식 솔루션을 사용하는 데있어 문제는 QA 사람들이 도구를 사용하여 속도를 높이는 데 관련된 학습 곡선입니다. 개발자는 확실히이 학습 곡선에 도움을 줄 수 있고 멘토링을 통해 프로세스를 도울 수 있지만 여전히 시간이 걸리고 개발에 끌리는 것입니다.

대안은 언어 (및 데이터 스크립트)를 뒷받침하는 간단한 GUI 도구를 사용하고 QA가 스크립트를 시각적으로 구축 할 수있게하여 실제로 필요한 경우에만 언어의 더 미세한 세부 사항을 탐구 할 수 있도록하는 것입니다. 개발도 여기에도 참여할 수 있습니다.

내가 본 가장 성공적인 시도는 분명히 후자와 함께 있었지만 이것을 설정하는 것은 어려운 부분입니다. Selenium은 응용 프로그램을 통해 간단한 웹 응용 프로그램과 간단한 스레드에 잘 작동했습니다. JMeter (웹 서비스를위한 스크립트 웹 대화의 경우)는 잘 작동했습니다 ... House에서 구축 된 테스트 하네스의 또 다른 옵션 - 스크립팅 언어 (Groovy, Python, Ruby)의 간단한 도구입니다. GUI 또는 데이터 파일을 통해 테스트 데이터를 응용 프로그램에 넣으십시오. 데이터 파일은 간단한 속성 파일이거나보다 복잡한 경우 (Yaml 또는 Excel과 같은) 데이터 파일이 될 수 있습니다. 이렇게하면 기본 연기 테스트를 시작하여 시작하여 나중에 다양한 시나리오 중심 테스트로 확장 할 수 있습니다.

마지막으로 ... 리치 클라이언트 앱은 이런 식으로 테스트하기가 더 어렵다고 생각하지만 언어의 특성과 이용 가능한 도구에 달려 있습니다 ...

다른 팁

내 경험상 코드를 할 수있는 테스터는 개발자로서 임금 인상을 위해 일자리를 전환 할 것입니다.

자동화 된 UI 테스트 도구에 대해 동의합니다. 내가 일한 모든 곳은 Winrunner 또는 Loadrunner를 감당할만큼 부유 한 모든 장소에서 직원이 실제로 그것을 사용할 수 있도록 감당할 수 없었습니다. 가격이 바뀌었을 수도 있지만, 당시에는 5 자리에서 6 자리 가격표에서 6 자리 가격표 (스타터 주택의 가격을 생각)였습니다. 제품은 사용하기가 어려웠으며, 모두가 잠긴 캐비닛에 제거되지 않은 상태로 유지되었습니다.

테스트 및 테스트 자동화로 전환하기 전에 응용 프로그램 개발자로 7 년 동안 일했습니다. 테스트는 코딩보다 훨씬 어렵고 성공하고자하는 자동화 개발자는 테스트 기술을 마스터해야합니다.

얼마 전에 나는 몇 개의 블로그 게시물에 기술 매트릭스에 대한 생각을 넣었습니다.

토론에 관심이있는 경우 :

http://automation-beyond.com/2009/05/28/qa-automation-skill-matrices/

감사.

개발자가 테스트를 작성하는 것이 가장 많이 사용될 것이라고 생각합니다. 이렇게하면 끝이 아니라 개발자주기 전체에 걸쳐 "파손 검사"를 얻을 수 있습니다. 야간 자동화 된 빌드를 수행하는 경우 버그가 작을 때 버그를 잡아서 수정할 수 있습니다.

테스트가 테스트를 제안하는 테스터와 개발자가 실제로 글을 쓰는 것은 어떻습니까?

나는 처음에는 그것이 당신이 사용하는 도구에 크게 의존한다고 생각합니다.

우리 회사는 현재 사용하고 있습니다 셀렌 (우리는 자바 상점입니다).

Firefox의 조치를 기록하는 Selenium IDE (Selenium IDE)는 잘 작동하지만 개발자는 WebApps에 대한 실수를 수동으로 수정해야하므로 QA가 테스트를 작성하는 것은 실제로 적절하지 않습니다.

내가 과거에 시도한 한 가지는 (약간의 성공으로) 셀레늄 기능을위한 래퍼로서 라이브러리 기능을 작성하는 것이 었습니다. 그들은 평범한 영어로 읽습니다.

selenium.clickButton("Button Text")

... 그러나 무대 뒤에서 버튼의 적절한 레이아웃과 태그가 있는지 확인하고 ID 등이 있습니다.

불행히도 테스트를 쉽게 작성할 수 있도록 많은 설정이 필요했습니다.

나는 최근에라는 도구를 알게되었습니다 트위스트 셀레늄의 래퍼 인 이클립스 엔진을 기반으로 한 Thinksworks에서)는 일반 영어 스타일 테스트를 작성할 수 있습니다. 나는 이것을 평범한 영어로 간단한 주장을 쓸 수있는 테스터들에게 이것을 공급할 수 있기를 바라고 있습니다!

새로운 어설 션에 대한 스터브를 자동으로 생성하므로 테스터는 테스트를 작성하고 새로운 코드가 필요한 경우 개발자에게 전달할 수 있습니다.

가장 합리적인 옵션은 QA 사람들이 테스트를 스텁하고 기본적으로 각 '화면'또는 각 구성 요소에서 테스트하려는 내용을 알아 내고 그 중에서도 스위치 할 수 있도록 충분한 사양을 갖는 것입니다. 스텁은 그들이 테스트하는 것에 대해 매우 설명 적도록 명명되어야합니다. 이것은 또한 기능 요구 사항을 결정화하는 방법을 제공합니다. 실제로, 이러한 방식으로 요구 사항을 수행하는 것은 특히 쉬운 일이며, 비 기술적 인 사람들이 실제로 자신의 과정의 진흙탕 물을 통해 일할 수 있도록 도와줍니다.

스터브는 QA/DEV 사람들의 조합을 통해 채울 수 있습니다. 이를 통해 QA 사람들에게 테스트를 작성하는 방법에 대해 QA 사람들을 훈련시킬 수 있으며, 일반적으로 직무 보안을 발전시킬 때 테스트를 거부합니다.

개발자와 테스터가 서로 상호 작용하는 방식에 대한 테스트 팀의 기술 수준, 사용 가능한 도구 및 팀 문화에 따라 다르다고 생각합니다. 내 현재 상황은 비교적 기술 테스트 팀이 있다는 것입니다. 모든 테스터에게는 개발 기술이 필요합니다. 우리의 경우 테스터는 UI 자동화를 씁니다. 시험 팀에 그러한 기술이 없으면 성공을 위해 설정되지 않습니다. 이 경우 개발자가 UI 자동화를 작성하는 것이 가장 좋습니다.

고려해야 할 기타 요인 :

테스터 판에 어떤 다른 테스트 작업이 있습니까? 고객은 누구이며 품질과 관련된 기대치는 무엇입니까? 개발 팀의 기술 수준은 무엇이며 테스트 자동화 작업에 대한 의지는 무엇입니까?

-ron

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top