2010-06-25 5 views
0

요즘 MVC2와 MVVM을 배우고 있습니다.ASP.NET MVC/WEBFORMS와 관련된 테스트 Silverlight MVVM

ASP.NET의 MVC2는 -

ASP.NET MVC2 + JQuery와 웹 서비스 호출 단위 테스트를 사용하여 전체 웹 사이트를 테스트 할 수 - 더 이상 단지 MSTEST 단위 테스트를 사용할 수있다. 자바 스크립트 측면을 테스트하는 MS 제품은 무엇입니까?

ASP.NET 웹 폼 - 단위 테스트는 테스트를 염두에두고 Webforms 사이트를 만들지 않으면 거의 불가능합니다. 따라서 Asp.NET 웹 성능 테스트는 현실적인 테스트에 가장 가깝습니다. Coded UI Tests는 ASP.NET Validator와 같은 것들에 유용하기에는 너무 사소합니다.

ASP.NET Webforms + jquery 웹 서비스 호출 - 웹 서비스 호출 만 테스트 할 수 있습니다. javsscript 호출로 인해 웹 성능 테스트를 사용할 수 없습니다. 자바 스크립트 테스트 프레임 워크의 일종 필요합니다.

Silverlight - 테스트가 없습니다. 아마 코드화 된 UI 테스트.

Silverlight MVVM - Silverlight 단위 테스트 프레임 워크를 사용하여 MVC와 유사한 ViewModel을 테스트합니다.

Silverlight MEF - MEF는 테스트 환경에 어떤 영향을 줍니까?

정확합니까? 내가 누락 된 것이 있습니까?

우리는 자동화 된 테스트를 만들 수 있도록 Webforms를 통해 MVC를 사용해야한다는 책임을 주장하고 있습니다. 우리가 하나의 프로젝트에서 Webforms를하고 테스트 할 수 없기 때문에 사람들은 수동 스크립트를 테스트합니다. (

답변

1

Webforms에서 MVC를 사용해야하는 이유를 지정하는 대신 관리팀에게 단위 테스트를 사용해야하는 이유를 판매하십시오. 판매 후 MVC를 사용하면 웹폼보다 효율적으로이 작업을 수행 할 수 있습니다.

전체 TDD 경로를 살펴 보시겠습니까? 시험을 치르시겠습니까? 가파른 학습 곡선을 가지며 학습하는 동안 생산성을 떨어 뜨릴지라도 TDD 경로로 내려가는 것이 좋습니다.

당신은 alrea 테스트를 들여다 보면 아마도 대부분의 내용을 알게 될 것입니다. 그러나 이점 중 일부를 다시 반복 할 것입니다 :

품질 보증에 대한 결함이 적습니다.

품질 보증 및 고객이 찾는 문제에 대한 테스트를 만들 수 있습니다.

테스트 용으로 설계하면 더 유지 관리가 쉬운 경향이있는 느슨하게 결합 된 응용 프로그램이 만들어집니다.

변경 사항을 적용 할 때 개발자 신뢰도가 높아져서 응용 프로그램 코드 기반이 성숙되면서 생산성이 지속적으로 향상됩니다.

테스트는 새로운 개발자가 프로젝트에 합류하기위한 훌륭한 문서이며, 달성해야 할 것을 볼 수 있습니다.

참고 : 제작 과정에서 발생한 결함을 수정하는 데 드는 비용은 개발 및 품질 보증 프로세스에서 발견하고 수정하는 데 드는 비용이 최대 80 x까지입니다 (해당 수치에 대한 내 소스를 찾으려고 노력할 것입니다).).

유닛 테스트는 퍼즐의 한 부분 일 뿐이지 만 CruiseControl.NET과 같은 Continuous Integration 서버를 사용하여 빌드 및 테스트를 자동화하는 것이 좋습니다. 이렇게하면 모든 사람이 빌드를 작동 상태로 유지할 수 있습니다.

기존 Webforms 프로젝트의 경우 웹 클라이언트 소프트웨어 팩토리를 살펴볼 수도 있습니다. MVC2보다 약간 복잡하지만 레거시 웹폼 앱을 시간이 지남에 따라 마이그레이션하는 데 매우 유용하다는 것을 알았습니다.

+0

프로덕션 환경에서 버그를 수정하는 비용과 관련하여 1 : 10 : 100 규칙을 검색해보십시오. –

+0

좋은 점은 처음에 단위 테스트의 개념을 판매하는 것입니다. 그들은 기술적 인 것이 아니며 버그 수정이 얼마나 많은 돈을 벌고 있는지에 대해 좋은 생각이라고 생각합니다. 하지만 devs와 main 문제는 절대로 TDD 나 유닛 테스트를 한 적이 없다는 것입니다. 그래서 내 stradegy는 단위 테스트가 도움이되는 이유에 대한 템플릿으로 사용할 수있는 작은 프로젝트를 얻으려고합니다. CI가 너무 많습니다. 우리는 여전히 다른 서버에 파일 (web.config 제외)을 Xcopying하고 있습니다. Id는 웹 양식을 구제하기보다는 MVC2로 처음부터 시작하는 것을 선호합니다. – punkouter

+0

개발자와 함께 TDD는 어려울 수 있지만 극복 할 수없는 것은 아닙니다. 소규모 프로젝트 아이디어는 좋은 아이디어이며 교육 자료를위한 몇 가지 코드를 제공 할 수 있습니다. 또 다른 미래 지향적 인 개발자를 동맹국으로 생각해 볼 것을 권하고 싶습니다. 그래서 여러분은 위로와 풀뿌리 노력을 할 수 있습니다. 개발자가 자신의 인생을 더 쉽게 할 수있는 방법을 이해할 수 있다면 일반적으로 그것을 갈 것입니다. –

0

다른 기술에 대해서는 잘 모릅니다 만 MVVM 패턴과 함께 Silverlight를 사용하는 것에 대해 이야기 할 수 있습니다. 명령 패턴과 함께 MVVM 패턴을 사용하여 우리는 모든 C# 코드를 단위 테스트 할 수있었습니다. 나는 xaml 코드를 제외하고, 우리는 C# 코드에 대해 매우 높은 코드 커버리지를 가지고있다. 우리는 실제로 컨트롤러를 사용하는 MVVM의 수정 된 버전을 사용합니다. 코드 숨김 파일에 코드가 없는지 확인하면 버튼 클릭/다른 UI 이벤트를 시뮬레이트 할 수 있습니다. 이것은 통합 테스트에 매우 유용합니다. 우리는 MVVM의 패턴이 컨트롤러 및 명령 패턴을 사용하여 단위 테스트를 용이하게한다는 것을 알았습니다.

+0

저는 일주일 내 MVVM을 가지고 놀고있었습니다. 나는 그것을 좋아하지만, MVVM을하고있는 사람들과 일하기 위해 Blend를 업데이트해야합니다. – punkouter

+0

동의합니다. 비주얼 스튜디오에서하는 것이 어렵다고 생각하는 것에 만 블렌드를 사용합니다. 현재 블렌드 3을 사용했습니다. 블렌드 4를 개선하지 못했는지 확인하지 않았습니다. –