E D R , A S I H C RSS

Acceptance Test


AcceptanceTestUserStory들에 의해서 만들어진다. Iteration 동안 IterationPlanning 회의때 선택되어진 UserStory들은 AcceptanceTest들로 전환되어진다. Customer는 해당 UserStory가 정확히 구현되었을때에 한 시나리오를 구체화시킨다. 하나의 시나리오는 하나나 그 이상의 AcceptanceTest들을 가진다. 이 AcceptanceTest들은 해당 기능이 제로 작동함을 보장한다.

AcceptanceTest는 blackbox system test 이다. 각각의 AcceptanceTest는 해당 시스템으로부터 기되는 결과물에 해 표현한다. Customer는 AcceptanceTest들에 한 정확성을 검증과, 실패된 테스트들에 한 우선순위에 한 test score를 검토할 책임이 있다. AcceptanceTest들은 또한 production release를 위한 우선순위의 전환시에도 이용된다.

UserStory는 해당 UserStoryAcceptanceTest를 Pass 하기 전까지는 수행되었다고 생각할 수 없다. 이는 새로운 AcceptanceTest들은 각 Iteration 때 만들어져야 함을 뜻한다.

QualityAssurance (QA)는 XP process의 주요 부분이다. 몇몇 프로젝트들의 QA는 분리된 그룹으로부터 수행되어지지만, 어떤 프로젝트들에서의 QA는 개발팀 스스로에 의해 수행되어진다. 각각의 경우에서 XP는 좀 더 QA와 관계있는 개발을 요구한다.

AcceptanceTest는 자동으로 수행되어져야 하며, 또한 그렇기 때문에 자주 실행될 수 있다. AcceptanceTest score는 개발팀에 의해 점수가 매겨진다. 매 Iteration에 해 실패한 AcceptanceTest를 수정하기 위한 시간분배 스케줄에 해서 또한 개발팀의 책임이다.

'AcceptanceTest'란 이름은 본래 'FunctionalTest' 로부터 온 것이다. 이는 Customer의 요구사항에 해 system이 'acceptable' 함을 보증한다라는 본래의 의도를 더 충실히 반영해준다.

요새는 CustomerTest 라고 표현하기도 한다. (UnitTestProgrammerTest 라고 부른다고 할때 상적인 개념일듯).


ProjectPrometheus 진행중에 1002상민AcceptanceTest 를 작성하며 진행하였다. 주로 Python 을 이용하여 간단한 web bot 를 작성, 시스템이 잘 작동하는지에 해 자동테스트를 구현했다.
(ProjectPrometheus/AcceptanceTest, 소스는 ZeroPageServer 의 CVS 프로젝트들중 AcceptanceTestServer 참조)


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:25
Processing time 0.0145 sec