문제

내가 현재 일하고 있는 회사는 셀렌 사용자 인터페이스 통합 테스트를 위해.웹 UI를 단위 테스트하기 위해 무엇을 사용하며 얼마나 효과적이라고 생각하시나요?

도움이 되었습니까?

해결책

우리는 직장에서 Watin을 사용하고 있으며 .net 상점이므로 이 솔루션은 많은 의미가 있습니다.우리는 실제로 Watir(원래 Ruby 구현)로 시작하여 나중에 전환했습니다.지금까지는 우리에게 꽤 좋은 해결책이었습니다.

다른 팁

저는 셀레늄의 열렬한 팬입니다.'웹 UI 단위 테스트'라고 말하는 것은 일부 의견에서 언급한 것처럼 정확하지 않습니다.그러나 저는 Selenium이 UI에서 이러한 종류의 승인 및 온전성 테스트를 수행하는 데 매우 유용하다고 생각합니다.

시작하는 좋은 방법은 개발의 일부로 Selenium IDE를 사용하는 것입니다.즉, 개발하는 동안 IDE를 열어두고 개발 시간을 줄이기 위해 테스트를 작성하면 됩니다.(작업 중인 모든 것을 테스트할 수 있는 지점에 도달하기 위해 수동으로 UI를 거치는 대신 버튼만 누르면 Selenium IDE가 이를 처리해 줍니다.시간절약 효과가 정말 좋습니다!)

대부분의 주요 사용 사례 시나리오에는 이를 백업하기 위한 Selenium RC 테스트가 있습니다.xUnit 프레임워크의 단위 테스트로 실제로 생각할 수는 없지만 매우 구체적인 기능을 대상으로 하는 테스트입니다.작성이 빠르고(특히 로그인이나 테스트 사례 설정과 같은 일반적인 방법을 구현하는 경우) 실행이 빠르며 매우 긴밀한 피드백 루프를 제공합니다.그런 의미에서 Selenium RC 테스트는 매우 비슷한 단위 테스트에.

다른 모든 것과 마찬가지로 테스트 도구(예: Selenium)를 올바르게 학습하는 데 노력을 기울이면 노력이 큰 성과를 거둘 것이라고 생각합니다.귀하의 회사에서는 이미 Selenium을 사용하여 UI 테스트를 수행하고 있다고 언급하셨습니다.이것은 훌륭합니다.그것으로 작업하십시오.Selenium을 사용하기 어렵거나 혼란스럽다면 Selenium을 사용하세요.API를 조금만 배우면 학습 곡선이 그다지 가파르지 않습니다.

웹 앱에서 작업하는 경우 이를 백업하기 위한 Selenium RC 테스트 없이 상당한 양의 코드를 작성하는 경우는 거의 없습니다.이것이 제가 셀레늄을 찾는 데 얼마나 효과적인지입니다.:) (귀하의 질문에 대한 답변이 되기를 바랍니다..)

글쎄요, 애플리케이션을 적절하게 디자인했다면 어쨌든 UI 내부에는 수많은 로직이 없을 것입니다.수행되는 실제 작업을 UI와 별도의 단위로 분리한 다음 테스트하는 것이 훨씬 더 합리적입니다.

그렇게 하면 UI의 유일한 코드는 백엔드를 호출하는 코드가 되므로 단순히 백엔드를 테스트하는 것만으로도 충분합니다.

나는 과거에(내 직장에서) NUnit ASP를 사용한 적이 있으며, UI 단위 테스트를 고집한다면 NUnit ASP가 아닌 다른 것을 사용하는 것이 좋습니다.작업하기가 힘들고, 아주 사소한 UI 변경 후에도(테스트 대상이 실제로 변경되지 않는 경우에도) 테스트가 무효화(수정 필요)되는 경향이 있습니다.

우리는 QuickTestPro를 사용하고 있습니다.지금까지는 효과적이지만 브라우저 선택이 제한되어 있습니다.가장 좋은 부분은 브라우저의 활동을 기록하고 이를 스크립트 가능한 단계 세트로 변환하는 기능입니다.멋진 .Net 추가 기능도 있으므로 테스트의 여러 단계에 대해 수행해야 하는 유효성 검사 코드가 있는 경우 어셈블리에 메서드를 작성하고 스크립트에서 호출할 수 있습니다.

우리는 Visual Studio 2008 Tester Edition을 사용합니다.

장점:사용자 상호작용을 포착하는 데 매우 능숙함

Ajax 호출 캡처

사용자 입력을 데이터베이스, XML 또는 CSV 파일에 매핑하는 것은 매우 쉽습니다.

더 많은 제어를 위해 캡처된 테스트를 C#으로 변환할 수 있습니다.

부하 테스트 및 코드 적용 범위에 동일한 테스트를 사용할 수 있습니다.

단점:

VS2008 Tester Edition은 일반 Developer Edition과 별도의 SKU이므로 추가 비용이 발생합니다.

당신은 Microsoft에 알레르기가 있을 수 있습니다 ;-)

우리는 프로젝트에서 이를 매우 효과적으로 사용했지만 테스트를 최신 상태로 유지하는 데 많은 노력이 필요하므로 화면을 변경할 때마다 테스트를 다시 기록해야 할 수도 있습니다.

우리는 테스트를 짧고 명확하게 유지하는 경향이 있으며, 단일 테스트에서 10분 동안 클릭하는 것을 기록하는 대신 한 가지만 수행하고 종료합니다.

몇 가지 표준 UI 테스트 유형이 있습니다.

메뉴 테스트: 특정 사용자(또는 사용자 유형/역할)로 로그인하여 필요한 모든 메뉴 항목을 사용할 수 있는지 확인하세요.

검증 테스트: 페이지를 열고 데이터를 입력하지 않고 저장을 클릭하여 모든 유효성 검사 경고가 나타나는지 확인하세요.필수 항목을 한 번에 하나씩 작성하고 경고 메시지가 예상되는 시간에 사라지는지 확인하세요.

검색 테스트: 데이터베이스 또는 데이터 파일의 데이터를 사용하여 검색하고 검색에서 올바른 데이터가 반환되는지 확인하세요.

데이터 입력 테스트: 데이터 파일에서 새 레코드를 생성하고, 테스트가 여러 번 실행될 수 있도록 데이터베이스를 정리합니다.

UI 테스트는 시간이 많이 소요되지만 새 버전을 출시하기 전에 수백 번의 테스트를 통과할 때 느끼는 편안함은 매우 귀중합니다.

우리는 사용해 왔습니다 JSunit 잠시 동안 단위 테스트를 수행합니다.이는 여러분이 말하는 것과 같은 종류의 테스트가 아닐 수도 있지만 JavaScript가 예상대로 작동하는지 확인하는 데 좋습니다.

브라우저에서 실행하고 Ant 빌드에서 원격으로 여러 플랫폼의 여러 브라우저에 대해 자동으로 실행되도록 설정할 수 있습니다. 따라서 코드가 브라우저 간인지 확인하고 논리가 올바른지 확인할 수 있습니다. ).

나는 그것이 셀레늄을 대체한다고 생각하지 않지만 잘 보완합니다.

우리는 Selenium Core를 사용하고 있지만 훨씬 더 좋고 관리하기 쉬운 Selenium RC로 점진적으로 전환하고 있습니다.우리는 지속적인 통합 서버에서 테스트를 실행하기 위해 많은 사용자 정의 코드를 작성했으며, 그 중 일부는 더 빠르게 실행하기 위해 병렬 제품군으로 구성되었습니다.

한 가지 발견할 수 있는 점은 Selenium이 각 테스트마다 브라우저를 다시 시작하는 것 같다는 것입니다(이렇게 하지 않도록 설정할 수 있지만 그렇게 했을 때 메모리 문제가 발생했습니다).Firefox에서는 느릴 수 있지만 IE에서는 그리 나쁘지 않습니다(Bill Gates의 OS 통합에 감사드립니다).

나는 사용했다 와티르, 꽤 좋습니다.Ruby이고 상호 작용, 사용 가능한 요소 및 소스 코드 구문 분석을 테스트할 수 있기 때문에 마음에 들었습니다.한동안 사용하지 않았지만 좋아진 것 같아요.

아마도 Firefox와 Safari로 포팅되고 있을 것으로 추정되지만, 그런 일이 한동안 일어나고 있습니다.

확인해 보세요 Canoo 웹 테스트.오픈 소스이며 ANT 프레임워크를 기반으로 구축되었습니다.

저는 소프트웨어 QA에 대한 대학원 과정에서 이 도구를 사용했는데 꽤 강력한 테스트 도구인 것 같습니다.

셀레늄 그리드 여러 컴퓨터에서 웹 테스트를 병렬로 실행할 수 있으므로 웹 테스트 프로세스 속도가 빨라질 수 있습니다.

나는 주로 사용 큐빅테스트, 이는 테스트를 그래픽으로 정의할 수 있는 Eclipse 플러그인입니다.watir 및 selenium을 포함한 여러 라이브러리를 통해 테스트를 내보내거나 실행할 수 있습니다.대부분의 사람들은 Selenium 러너를 사용합니다.

전체 공개:저는 개발자 중 한명이라 좀 편견이 있어요 :)

여기를 자세히 살펴보세요: 큐빅테스트.openqa.org

-얼렌드

Selenium은 단위 테스트가 아닌 통합 테스트용입니다.미묘하지만 중요한 차이입니다.내가 일반적으로 보는 사용법은 빌드의 온전성을 확인하는 것입니다.즉, 로그인하는 테스트, (예를 들어) 스토리 제출, 댓글 작성 등의 테스트가 있습니다.

사용자가 사이트가 손상되었음을 발견하도록 하기보다는 배포 전에 전체 시스템이 함께 작동하는지 확인하기 위해 테스트한다는 개념입니다.

우리는 현재 사용 실크4J - 웹 UI 테스트에 대한 Java 중심 접근 방식입니다.Flash, Flex, AIR, Silver Light, Win32, HTML 및 기타 몇 가지 애플리케이션을 테스트할 수 있습니다.

Silk4J는 Win32 앱을 제어할 수 있으므로 브라우저 대화 상자를 직접 제어할 수 있습니다. 이는 Selenium이 제어할 수 있는 것보다 한 단계 위이며 특히 다운로드 프롬프트에 유용합니다.

우리는 사용 와틴 시스템 테스트를 위한 QUnit JavaScript 단위 테스트용.

몰리브덴 Selenium을 기반으로 구축되었으며 몇 가지 추가 기능이 있습니다.

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