저는 UI 측면에서 매우 복잡하고 AJAX, DOM 및 이미지 조작에 크게 의존하는 웹 응용 프로그램을 작성하고 있습니다.웹 응용 프로그램의 단위 테스트를 가장 잘 수행하는 방법
버그를 줄이기 위해 따라야 할 표준적인 방법이 있습니까?
저는 UI 측면에서 매우 복잡하고 AJAX, DOM 및 이미지 조작에 크게 의존하는 웹 응용 프로그램을 작성하고 있습니다.웹 응용 프로그램의 단위 테스트를 가장 잘 수행하는 방법
버그를 줄이기 위해 따라야 할 표준적인 방법이 있습니까?
로직 및 UI 부분을 분리하십시오. 코드 비하인드 페이지에 비즈니스 로직과 복잡한 코드가 모두 포함되어 있지 않아도됩니다. 대신 표준 계층 구조 (데이터 계층, 비즈니스 규칙/논리 계층, UI 계층)에서 빌드하십시오. 이렇게하면 테스트하려는 논리 코드가 양식을 참조하지 않고 대신 쉽게 테스트 할 수있는 클래스가 사용됩니다.
TextBox2.Text = DoWork(TextBox1.Text.ToString());
public class Work
{
public string DoWork(string str)
{
//do work
return str2;
}
}
당신이 쓸 수있는이 방법 :
string str = TextBox1.Text.ToString();
//do whatever your code does
TextBox2.Text = str;
이 대신하는 방법으로 별도의 클래스로 논리를 추출 : 매우 기본적인 예를 들어
이가하는 코드가없는 단위 테스트를 통해 DoWork가 올바른 값을 반환하는지 확인합니다.string return = DoWork("TestThisString");
이제 모든 논리는 단위 테스트입니다 테이블, 귀하의 UI 레이어에 직접 페이지를 참조하는 코드 만 있습니다.
매우 간단한 기술은 모든 응용 프로그램의 클릭 연결을 자동화하는 연기 테스트입니다. 스크립트가 실행되고 로그에 오류가없는 경우 적어도 하나의 정의 된 수준의 품질이 있습니다.
이 기술은 실제로 상당한 양의 회귀 휴식을 잡아 내고 소리보다 훨씬 효과적입니다. 이를 위해 selenium을 사용합니다.
특정 테스트 시나리오를 사용한 기능 테스트를 의미합니까 아니면 가능한 모든 타겟을 클릭하고 있습니까? – legesh
가장 간단한 버전은 Google의 주요 결과물 인 사용 사례를 클릭하는 것입니다. 최소한 대체/오류 흐름을 포함합니다. 그렇다고해서 모든 버튼/항목을 클릭 할 필요는 없습니다. – krosenvold
Watin은 위대한 도구입니다.
간단한 체크리스트 (종이 한 장이라도!)는 중요한 것을 건너 뛰지 않는 가장 좋은 방법입니다. "표준"이 깨지지 않은 좋은 "연기 테스트"입니다.
위대한 질문. 나는 똑같은 것을 궁금해왔다. – RSolberg
이것은 매우 모호한 질문입니다. 귀하의 질문은 일반적으로 도구 목록을 통해 대답 할 수 있지만 코드에 버그가 적게는 마법 같은 방법으로 소리가납니다. 정확히 무엇을 요구하고 있습니까? – ryeguy
@ryeguy 그의 질문은 디자인 지향적 인 질문입니다. 그는 Unit Testing 스타일이 무거운 UI 앱에 어떻게 들어 맞는지 묻고 있습니다. Carlten이 대답 할 수있었습니다. – DevinB