책과 영화,음악이야기/책

[책] 소프트웨어 개발과 테스트

버리야 2015. 4. 27. 23:16
반응형


입사한지 되어서 그런지 회사 컴퓨터가 점점 느려지는 틈을 노려 메이븐 빌드하는 도중 틈틈히 읽었더니

순식간에 읽은 조대협님의 '소프트웨어 개발과 테스트'.

새로운 내용의 책이라기 보다는 프로젝트 개발방법론, 개발과 테스트등에 전반적으로 한번 정리하는 의미에서 괜찮은 책 같다.

중간에 다양한 짤막한 내용들도 흥미로웠다.. 





이슈 트랙킹 도구

> Trac : 이슈관리, 소스 코드의 형상관리, Wiki, 태스크 관리, 문서 관리, 소스코드 관리

> RedMine

> JIRA

> IBM Jazz/RTC

> 클라이언트 연동 : MyLyn


UX 프로토타입

> 프로토타입 디자인 도구 : balsamiq

> 9 Excellent Tools for Design Mockups : http://mashable.com/2012/06/07/mockup-tools/

> 부트스트랩 디자인 도구 : layoutit

> 18 Essential Bootstrap UI Editors http://mashable.com/2013/10/20/bootstrap-editors/


단위테스트 도구

> Junit

> DBUnit

> Easy Mock

> Cactus


REST API 테스팅 도구

> 크롬 브라우저의 플러그인 Advanced Rest Client

> SoapUI : http://www.soapui.org/


웹 테스트

> Selenium IDE

> Selenium RC(Remote Control) vs WebDriver

> Selenium Grid


부하테스트

> HP Load Runner

> nGrinder


테스트 케이스 관리 도구

> TestLink


모니터링 도구

> 애플리케이션 모니터링

> 상용 도구 

> CA의 Introscope

> 제니퍼소프트의 제니퍼 


자바 가상 머신 모니터링

> JConsole


인프라스트럭처 모니터링


소스 코드 관리

> 브랜치 

 코드의 원본에서 용도와 목적에 따라 새로운 복사본을 만들어 나가는것.

> 태깅 

 코드를 개발 중에, 특정 시점의 이미지에 표시해 놓는것. 태깅은 주로 빌드 시마다 하는 경우가 많은데(이를 빌드 태그라고 함). 통상적으로 빌드시 에러가 날 경우에 다른 개발자들이 빌드 에러로 인하여 개발을 못하는 경우가 생길 수 있기 때문에 이런 경우에는 이전 빌드 시 태그해놓은 버전으로 소스 코드를 돌려서 다시 개발을 수행하고 문제가 해결되면 새로운 코드를 다시 커밋하는 방식으로 개발을 진행.

> 릴리즈 브랜치

페이스북 등의 웹 서비스의 경우 하나의 코드가 하나의 서비스에만 배포가 되기 때문에, 별도의 릴리즈 브랜치를 유지하는 것보다는 릴리즈 태깅을 한 후에, 이슈가 있을 경우 이슈를 수정한 최신 버전을 다음 릴리즈 때 배포하는 방식으로 주로 사용하기 때문에 릴리즈 브랜치의 효용성이 패키지 소프트웨어에 비해서 떨어짐

> QA 브랜치

상품화하기 위해 개발팀에서 소스 코드를 프리징하고 QA팀에 해당 제품을 넘겨서 테스트를 의뢰.


유용한 Git 관련 도구들

> git-gui : Git에서 commit하는것을 도와줌.

> gitk : Git 저장소를 gui 기반으로 브라우징할 수 있게 해준다.

> gerrit : 오픈소스 코드 리뷰 도구

> gitLab : 코드 리뷰 뿐만 아니라 Git 저장소에 대한 브라우징, 프로젝트 관리, 이슈 관리 등 기능 제공


개발 환경 가상화

> Vagrant : 가상 머신 관리 서비스

> Hypervisor : 논리적인 가상 하드웨어 머신 생성하고 가상 머신에 OS를 설치하고 설정해줘야하는데 이런 반복적인 작업을 자동화하는것을 돕기 위해 Vagrant가 나옴.

> Vagrant + Provisioning

> Docker

> 가상 머신보다 조금 더 경량으로 사용할 수 있는 리눅스 컨테이너인 도커. 리눅스 기반의 컨테이너 런타임 오픈소스.



반응형