2012-06-29 5 views
0
{ 
     Assert.That(_editUserPage.State.SelectedText, Is.EqualTo("Illinois")); 
     _editUserPage.State.SelectedText = "New York"; 
     Assert.That(_editUserPage.State.SelectedText, Is.EqualTo("New York")); 
     _editUserPage.SaveChanges(); 
     Assert.That(_editUserPage.State.SelectedText, Is.EqualTo("New York")); 
    } 

위의 예에서 사용자 상태를 일리노이에서 뉴욕으로 변경합니다. 내 질문은 : 시험 끝날 때 일 리오스의 원래 가치로 다시 상태를 변경해야합니까?셀레늄 설정/해체 베스트 프랙티스 - 데이터를 원래 상태로 돌아 가기

동일한 파일에서 대략 20 개의 다른 독립적 인 테스트가 있으며 데이터를 원래 상태로 되돌리기위한 최선의 방법이 무엇인지 알고 싶습니다. 각 개별 테스트가 아닌 전체 테스트 스위트에 setup/teardown을 사용하고 있습니다.

답변

1
지금까지 내가했다 볼 않았다

모범 사례이 :

  1. 테스트 한 각각의 실행이 (데이터에 예를 들어 이름 파벨 일부 접두사를 추가
  2. 하나 개의 테스트 데이터 입력 (시트 엑셀) => Test01_Pavel)
  3. 테스트는 데이터를 테스트 입력에 따른 테스트 데이터를 생성하고 그 데이터를 본
  4. 시험은 모든 시험 데이터 버전을 삭제 된 것을 확인
  5. 시스템에 존재하지 않는 것이 확인 않았다 해당 데이터가 삭제되었는지 확인하십시오.

하지만 실제로 가장 좋은 대답은 "다릅니다."입니다.

  • 테스트 환경이 엄격하게 자극으로부터 분리되어 있기 때문에 나는 개인적으로 (한
  • 테스트 데이터는 성능 테스트 중에 나중에 도움이 될 수있는 시스템에서 모든 테스트 데이터를 삭제하고 있지 않다 예를 들어 시스템에서 사용자의 목록을 다운로드)

그래서 당신 자신에게 물어 봐야 진짜 질문은 :

  • 가 마지막에 삭제 테스트 데이터가 당신에게 좋은 것을 가지고 있습니까?
  • 그 반대의 경우 : 테스트 데이터가 시스템에 남아 있으면 어떻게됩니까?

그런데 "너무 많은 말도 안되는/더미 데이터가있는 경우 응용 프로그램이 확실히 중단됩니다"라고 생각하면 확실히 그 시나리오를 테스트해야합니다. 귀하의 서비스가 밤에 대중적이 될 것이라고 상상해보십시오. (귀하의 페이지 사용에 대한 짹짹 짹짹 짹짹) 그리고 수백만의 사용자가 스스로 등록하고 싶습니다.

0

내가 일하는 회사에 찍은 접근 방식은 다음과 같습니다 각 테스트는 데이터를 삽입 할

  • 클라우드

    1. 스핀 업 전용 테스트 환경을 (AWS) 시험의
    2. 킥 오프 스위트 그것은 필요합니다.
    3. 테스트 스위트가 완료되면 서버를 종료합니다. db

    이 방법을 사용하면 테스트를 실행할 때마다 새로운 데이터베이스가 생성되므로 테스트에서 데이터가 손상 될 수있는 유일한 위험은 제품군의 2 가지 테스트가 충돌하는 데이터를 생성하는 경우입니다.

  • 관련 문제