[ XP Test ]

 XP는 프로그램 테스트의 중요성을 강조한다.

 XP에서, 프로그램은 각 변경사항을 적용 한 후 테스트된다.

 

[ 특징 ]

Test-First Development

- 개발하기 전에 테스트를 한다. 코드를 이용해 테스트를 실행 하고 개발 동안 문제

  점을 발견 할 수 있다.

- 장점

·개발 하기 전 요구사항을 명백하게 할 수 있다.

·요구사항과 인터페이스의 잘못된 이해를 줄일 수 있다.

·테스트를 빠뜨리는 것을 줄일 수 있다. 테스터 보다 개발자가 더 빨리 일하면

  테스트를 안 할 수 있다.

Incremental test development

from scenarios

- XP에서 사용자의 요구사항은 시나리오나 스토리로 표현된다.

- 개발 팀은 각 시나리오에 접근하여 적당한 task로 나눈다.

- 개발을 확인 하기 위해 각 task는하나 또는 그 이상의 unit으로 이루어져 있다.

User involvement

in test development and validation

- 고객은 다음 시스템 배포를 위해 승인 테스트를 하며 개발을 도와야 한다.

- 팀의 일원인 고객은 개발 절차로 테스트를 진행해야 한다.

- 모든 새로운 코드는 고객이 필요로 하는 것을 보장해야 하기에 테스트 된다.

- 고객이 함께하면 나타나는 문제점이 있다.

·고객들은 시간에 제한을 받으므로 개발자들과 항상 함께 할 수는 없다.

·고객들은 요구사항을 주는 것만으로도 충분하다 느끼기 때문에 함께 일하는 것

  을 꺼려한다.

The use of

automated testing frameworks

- 테스트는 개발이 이루어 지기 전에 수행 가능한 요소에 대해 이루어진다.

·컴포넌트를 테스트 하는 것은 독립적이어야 한다. 테스트될 값들을 입력 하고 결

  과가 구체적인 결과값을 충족하는지 확인한다.

·자동적인 테스트 프레임워크(JUnit, CUnit)는 실행 가능한 테스트를 쉽게 만들

  고 실행을 위한 일련의 테스트를 제출한다.

- 테스트는 자동으로 이루어 지며, 빠르고 쉽게 수행될 수 있는 테스트가 있다.

·어떤 기능이 시스템에 추가되던지, 그 테스트는 수행 가능하며 새로운 코드에서

  발생한 문제점은 즉시 찾을 수 있다.

 

[ 테스트의 어려운 점 ]

 개발자는 테스트 보다 개발을 더 선호한다. 때때로 그들은 테스트를 제작하는데 짧은 시간을 할애한다. 개발자들은 가능한 모든 예외를 확인하지 않는 불완전한 테스트를 작성한다.

 테스트는 작성하기 어려울 수 있다. 복잡한 UI에 대한 실험, display logic과 화면 넘기는 것과 같은 코드는 작성하기 어렵다.

 테스트의 완성을 판단하기란 어렵다. 아무리 많은 테스트를 해도 완전한 범위를 포함했는지 알 수 없다.

 

댓글이나 공감 남겨주는 사람 착한사람

 

'학사 그리고 석사 > 소프트웨어공학' 카테고리의 다른 글

Scrum  (0) 2019.10.27
Pair Programming  (0) 2019.10.27
Extreme Programming Development  (0) 2019.10.27
Extreme Programming Practices  (0) 2019.10.25
Extreme Programming (XP)  (0) 2019.10.25

+ Recent posts