웹 응용 프로그램에서 테스트 중심 개발을위한 자료? [닫은]


15

웹 응용 프로그램에서 TDD를 사용하여 회귀를 줄이고 릴리스 품질을 향상 시키려고하지만 웹 테스트와 같은 솜털 같은 자동화 테스트가 얼마나 잘 수행되는지는 확신하지 못합니다.

나는 TDD와 단위 테스트를 읽고 시도했지만 그 예는 '단단하고'통화 변환기와 같은 단순한 기능입니다.

콘텐츠 관리 및 게시 시스템의 단위 테스트에 도움이되는 리소스가 있습니까? 쇼핑 카트 / 상점 (물리 및 온라인 제품)의 단위 테스트는 어떻습니까? 아약스?

"Web Test Driven Development"에 대한 인터넷 검색은 몇 년 전에 계산기와 같은 기능의 동일한 예제 또는 TDD가 왜 어떤 것보다 더 좋은지에 대한 토론을 다루는 오래된 기사를 얻었습니다.


1
사용 가능한 도구는 언어에 따라 다릅니다. 어떤 언어를 사용하고 있습니까?
Alb

나는 그것을 알고있다-그러나 나는 특정 도구보다는 토론 기사와 수필을 더 찾고 있었다. 사용 가능한 도구는 알고 있지만 프런트 엔드 기반 응용 프로그램에 가장 적합한 도구를 배우고 싶습니다.
HorusKol

답변:


2

면책 조항 : 웹 응용 프로그램을 구축하지 않았으며 웹 응용 프로그램을 테스트하지 않았습니다. 다음은 정보 영역 내에서 임의의 단계로 흡수 한 정보입니다.

비즈니스 규칙을 개별적으로 테스트 할 수있는 방식으로 웹 애플리케이션을 구성하십시오. 사용자 인터페이스를 통해 비즈니스 규칙을 테스트하고 있다면 재 설계에 대해 생각해야 할 때입니다.

UI 테스트와 관련하여 비즈니스 규칙을 예측 가능한 방식으로 응답하는 모의 구현으로 바꾸십시오.

위의 두 규칙은 RailsConf 2010에서 열린 Bob Martin의 연설에서 발췌 한 것입니다 . 대화는 TDD에 관한 것이 아니며 테스트를 언급하는 부분은 짧고 중간에 있습니다.

JavaScript 테스트를 위한 JsUnit , JSSpec , YUI Test 및 UI 테스트를위한 SeleniumWatir 와 같은 도구가 있습니다 .

실용적인 책장은 웹 애플리케이션의 테스트를 포함하는 몇 권의 책을 가지고있다. Testing 태그가 지정된 책 목록은 http://www.pragprog.com/categories/design에 있습니다. Pragmatic Bookshelf 웹 앱 테스팅 북은 주로 Ruby와 Rails에 중점을두고 있지만 일반적으로 적용 가능해야합니다.


웹 디자인과 관련된 주요 문제 중 하나는 CSS 테스트입니다. 새로운 CSS 규칙은 의도하지 않은 결과를 초래할 수 있지만 특정 콘텐츠가있는 페이지에서만 가능합니다. 단위 테스트 할 수 있습니까?
HorusKol

좋은 질문. 이것이 UI 테스트의 일부라고 제안합니다. 다양한 페이지 내용을 포함하고 예상하지 못한 내용을 포함하도록 테스트를 개발하고 승인 내용을 적절하게 작성하십시오. 그런 다음 새로운 CSS 규칙을 도입 할 때 UI 테스트에서 회귀를 강조 표시해야합니다. 이 프로세스는 시간이 너무 오래 걸리므로 누군가 사이트에서 QA 테스트를 수행하고 문제를보고하면 더 나은 서비스를 제공받을 수 있습니다.
Anthony Cramp

3

Test-Driven JavaScript DevelopmentSinon.jsBuster.js 의 개발자 인 Christian Johansen의 멋진 책입니다 .

  • 단위 테스트 및 TDD 이해
  • 올바른 단위 테스트 프레임 워크 선택
  • 보다 깨끗한 API, 모듈화 및 강력한 JavaScript 작성
  • 리팩토링을 통해 지속적으로 코드 개선
  • 5 가지 실용적인 TDD 세션 : Ajax, DOM 조작, Node.js 등
  • 언어에 익숙하지 않은 개발자를위한 테스트 중심의 JavaScript 둘러보기

현재 우리는 Mocha와 함께 Sinon.js를 사용하지만 그 기능이 정말 깔끔하기 때문에 Buster.js로 전환 할 준비가되었습니다!


1

내가 최근에 작업 한 프로젝트에서 주요 개발자는 Unity 를 사용하기로 결정하여 대형 웹 응용 프로그램에서 조롱 및 TDD가 단순화되었습니다. Unity 사용에는 종종 웹 응용 프로그램 인 TDD가 수반됩니다.

단위 테스트 조사 CMS는 단순히 조롱해야 할 합리적인 것이 없기 때문에 막 다른 길로 이어질 수 있습니다. 페이지에 대한 http 트래픽을 조롱하지 않고 테스트 할 수있는 것이 보이지 않습니다. 그 시점에서 테스트에는 가치가 거의 없습니다.

웹 응용 프로그램에서 유용한 경험 법칙을 생각 하면 복잡성을 줄이기 위해 모의 를 사용할 수 있다면 단위 테스트가 가능합니다.

따라서 웹 애플리케이션에서 데이터베이스를 조롱하여 데이터 액세스 계층 또는 모델의 다른 부분을 단위 테스트 할 수 있습니다. 뷰 또는 UI 등을 단위 테스트하기 위해 사용자 입력을 조롱 할 수 있습니다.


0

Python + Django를 사용한 웹 개발을위한 TDD에 관한 책을 썼습니다. TDD는 엔드-투-엔드 / 기능 테스트 (셀레늄) 및 하위 레벨 "단위"테스트를 모두 포함합니다. 또한 git을 워크 플로에 통합하는 방법, 서버에 배포하고 자동화 및 테스트하는 방법, 지속적인 통합, 모의 및 테스트 격리 등의 최신 개발 방법을 다룹니다.

http://www.obeythetestinggoat.com/

(또는 http://shop.oreilly.com/product/0636920051091.do )


링크가 깨진
Keldon Alleyne을
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.