자동화 된 UI 테스트를 통해 어떤 기능을 테스트해야합니까?


12

최근 컨설턴트는 기능이 자동화 된 UI 테스트 (예 : Selenium, Coded UI)를 통해서만 테스트 할 수 있다면 근본적인 아키텍처 문제가 있다고 말합니다. 이 문장은 약간 극단적 일 수 있지만 UI 테스트는 전체 자동화 된 테스트 스위트의 작은 부분을 구성해야한다는 점 에서 테스트 피라미드 와 같은 줄에 있습니다.

그렇다면 UI 테스트를 자동화 해야하는 기능에는 어떤 것이 있습니까? 코 젠트 아키텍처가있는 시스템에 여전히 UI 테스트를 통해서만 확인할 수있는 기능이 있습니까? 아니면 이러한 테스트가 일련의 단위 및 서비스 테스트에 대한 "백업"역할을해야합니까?


UI의 모든 기능을 제외하고는 어떻습니까?

답변:


11

아마도 버튼과 다른 위젯을 동작에 연결하는 일종의 아키텍처가 있습니다. 저장을 클릭하면 저장 기능이 호출되어야합니다.

자동화 된 UI 테스트의 목표는 단위 또는 통합 테스트를 통해 조치 자체에 대한 테스트 범위가 양호하다고 가정하면 위젯이 모두 기본 조치를 올바르게 호출하고 해당 조치의 결과를 올바르게 표시하는지 확인하는 것입니다.

즉, UI가 모델의 상태를 올바르게 반영하고 컨트롤러에 올바르게 연결되어 있는지 확인합니다.

다른 구성 요소는 일부 비즈니스 로직이 UI 코드에있는 경우입니다. 예를 들어, 비밀번호 필드에 특정 문자가 필요할 수 있습니다. 단위 테스트를 통해이를 수행하는 것이 어렵거나 불가능할 수 있으므로 이러한 기능을 어떻게 든 테스트해야합니다.


3

자동화 된 UI 테스트를 통해 어떤 기능을 테스트해야합니까?

모든 UI 기능.

다음을 테스트해야합니다.

  • 사용자가 할 수있는 모든 기능.
  • 사용자가 사용하는 모든 브라우저 (및 버전)에서 수행하는 기능
  • 행복 (모든 단계에서 올바른 일을하는 것) 대 슬픈 (사용자가 오류를 범하는) 경로.
  • 유효하고 유효하지 않은 데이터.
  • 크고 작은 숫자.
  • 역할과 관련된 모든 역할 및 기능 역할.
  • 사용자 및 관리자 인터페이스.
  • 침입을 시도합니다.
  • 데이터 생성 및 업데이트는 의도 한대로 작동합니다.
  • 작업을 삭제하고 다른 테이블에서 관련 데이터베이스 데이터를 삭제하십시오.
  • 키보드 대 마우스 스타일 사용자
  • PC, 전화, ipad 등의 다양한 장치 또는 시뮬레이터

0

자동화 된 UI 테스트를 통해서만 테스트 할 수있는 기능은 없습니다. 셀레늄과 같은 도구는 인간을 자살 지점까지 지루하지 않고 인간의 행동을 모방합니다. "질문을 자신 (또는 컨설턴트) 물어 어떻게 사람이 할 수없는 프로그램 테스트 UI 측면 것인가? "다음 질문은이 : " 그렇다면, 왜 당신은 그들이 무엇을 드시겠습니까? "

반면에 그러한 기능이 있다면 기본 아키텍처 문제가 있다고 말할 수 있습니다. :-)


1
"유일한"것으로 그들은 자동화 된 UI 테스트 대 단위 또는 통합 테스트를 의미한다고 생각합니다. 나는 인간이 셀레늄의 속도와 인간의 속도를 조절할 수없는 셀레늄을 테스트 할 수있는 무언가를 만들 수 없다고 생각합니다
Bryan Oakley

죄송합니다. 질문에서 어디서 얻을 수 있는지 알 수 있습니다. Selenium에서만 사용할 수있는 응용 프로그램을 개발하도록 도전했지만, UX 팀에 고정시키기 만하면됩니다. :)
mragh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.