소프트웨어공학: 두 판 사이의 차이
→소프트웨어 개발 프로세스
| 26번째 줄: | 26번째 줄: | ||
** 동시성 패턴: 멀티스레딩 등의 병렬화된 작업에서의 동기화를 설계하는 패턴이다. 멀티코어 프로그래밍이 필요해진 21세기에서 중요해지는 디자인 패턴이다. | ** 동시성 패턴: 멀티스레딩 등의 병렬화된 작업에서의 동기화를 설계하는 패턴이다. 멀티코어 프로그래밍이 필요해진 21세기에서 중요해지는 디자인 패턴이다. | ||
* 구현(Implementation) | * 구현(Implementation) | ||
* 시험(Test): 코드를 까지 않고 유닛 별로 실행하면서 equivalence partitioning, boundary value analysis, all-pairs test, state transition tables, decision table testing 등을 검사하는 블랙박스 테스트와 코드를 까면서 API 테스트, 코드 커버리지 테스트, 폴트 인젝션, 뮤테이션 테스트, 스태틱 테스트 등을 동반하는 화이트박스 테스트 등이 있다. | * 시험(Test): 코드를 까지 않고 유닛 별로 실행하면서 equivalence partitioning, boundary value analysis, all-pairs test, state transition tables, decision table testing 등을 검사하는 블랙박스 테스트와 코드를 까면서 API 테스트, 코드 커버리지 테스트, 폴트 인젝션, 뮤테이션 테스트, 스태틱 테스트 등을 동반하는 화이트박스 테스트 등이 있다. 또 소프트웨어의 구현이 제대로 되었는지 검사하는 검증 검사(Validation Test)에는 형상 테스트, 알파 테스트(개발자와 선별된 소규모 사용자들이 함께 고치는 테스트), 베타 테스트(사용자를 공개 모집하여 일부 선정한 뒤 실전처럼 소프트웨어를 굴려 문제를 보고하도록 함) 등이 있다. | ||
* 유지보수(Maintenance) | * 유지보수(Maintenance) | ||