Egloos | Log-in
결론에 가보기
결론에 가보기
[잡생각] 나에겐 TDD보단 데이터 정합성 체크툴이 더 필요하다


벌써 금요일이다. 
이번주는 어떻게 시간을 보냈는지 기억이 나지 않을 정도로 정신이 없었다.

월화수목은 운영하는 사이트에서 발생한 장애를 처리하느라 하루종일 코드 분석과 데이터분석, 
분석/복구 쿼리를 만들어서 DBA에게 돌려달라고 조르느라 바빴다.

역시 돈과 연관이 되어 있는 데이터의 경우에는 
그냥 괜찮겠지라고 생각하고 넘긴것들이 결국 뭉쳐지고 꼬여서 돌아오게 되어있다.
잔머리는 결국 최후를 맞이하게 된다. 자신이 아니라면 다른 사람이..

1회성으로 만든 배치프로그램이 잘못되어서 자동배치가 돌면서 데이터를 꼬아놨고
데이터를 변경해놔야 하는데 까먹어서 전체 데이터를 날려먹고 
엉성하게 만든 알고리즘으로 대충 들어가있던 것들이 전체로 다시 넣으려고 하니 안들어가지고
운영자들은 홧김에(?) 운영툴의 컨트롤 미스로 데이터를 망가트리고 안된다고 머라고 하고..

사태가 이정도로 흐르게 되니 무엇인가가 필요하다라는 생각이 절실하게 든다.

딱 떠오르는 생각이 TDD이다. 
개발과 리팩토링할때 마음것 코드를 뒤집을수 있도록 도와준다던 테스트 유닛
하지만 왠지 지금의 나의 상황에는 적절하게 맞지 않다. 

지금과 같이 운영과 개발이 거의 비슷한 비율로 섞여있고
이미 완성이 되어 있는 코드에 테스트 코드를 넣어주는 것은 투자대비 효과가 미비하다. 
그리고 지금 내가 당하는 상황에서는 테스트 코드가 의미가 없다. 운영에 도움이 되는 툴이 필요하다.

바로 데이터 정합성 체크툴이다. 

코드와 전혀 별개로 쿼리를 통해서 데이터를 체크한다. 
그런데 왠지 개념이 TDD와 많이 비슷하다.  

정합성 체크 시나리오를 짠다. 그리고 그것을 쿼리로 만든다. 
예를 들어서 사용자든 상품을 1개만 보유해야 한다. 2개 이상 보유할수 없다면
2개 이상의 데이터를 가진 사용자들의 수를 체크한다.   

이런 시나리오들을 충분히 만들어서 매일 한번씩 자동으로 돌려서 정보를 가져온다.
그리고 그것을 리포팅한다. 메일이나 웹페이지나 기타등등
이상한 데이터나 꼬인 데이터가 있다면 바로 체크가 가능하다. 물론 시나리오를 잘 만들어야겠지만


우리팀은 나름 애자일스럽게 정말 잘 운영된다고 자신하지만
대표적인 애자일 키워드중에 실천을 못하는 것이 있다면 바로 테스트 유닛이었다.
어렵거나 귀찮아서가 아니라 왠지 필요성에 대한 목마름이 부족하다. 이걸로 될까? 하는..

흠.. 어쩌면 테스트의 개념을 데이터 정합성까지 늘린다면 통하는거 같기도 하다. ^^
어째튼 데이터 정합성 툴을 만들어서 운영해야겠다. 
by 제우스 | 2009/03/06 13:50 | 컴퓨터 | 트랙백 | 핑백(1) | 덧글(3)
트랙백 주소 : http://zeous.egloos.com/tb/2253680
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Linked at 결론에 가보기 : [잡생각] .. at 2011/03/29 11:47

... 과거에도 데이터 정합성에 대한 글을 한번 쓴적이 있었는데 벌써 2년이나 지났네.. 내가 생각하였을때 데이터 정합성이라는 개념은 아주 중요하다. (정합성의 사전적 의미 : &nb ... more

Commented by 오리대마왕 at 2009/03/06 14:18
데이터 정합성 확인은 분명히 중요한 작업인데, 테스트는 프로그램을 실제 동작시켜 기대치와의 차이점을 확인하는 활동이므로 둘은 구분해서 언급하시는 것이 맞다고 생각합니다. 테스트는 동작을 확인하는 것이고, 언급하신 정합성은 데이터를 확인하자는 것이니까요. (아니 이런 교과서스런 커맨트를...)
Commented by 제우스 at 2009/03/06 15:30
저는 큰그림으로 시스템(개발과 운영)의 질을 높이기 위한 작업이라고 본다면 같은 분류라고 생각이 들구요
동작확인이냐 데이터 확인이냐라는 측면으로 보면 확실히 다른것으로 판단할수 있죠.

오리님이 아시는것처럼
저의 상황에서 2개를 모두 적용하면 좋겠지만 둘중에 하나를 먼저 하자고 하면 데이터 정합성에 손을 들고 싶어요
테스트는 개발자들만 활용한다고 보면 이것은 운영자, 개발자들까지 모두 활용할수 있죠.

이렇게 쓰다가 보니깐 왠지 제가 테스트에 대한 개념이 잘 안잡힌게 아닌가 하는 생각이 드네요
데이터를 확인하는것도 테스트로 봐야 하지 않나? 라는 생각이 드네요..

주제꺼리 한개 생겼으니 담에 만나면 심도있는(?) 이야기를 해보죠 ㅋㅋ
Commented by 오리대마왕 at 2009/03/06 19:05
크게 보자면 둘 다 SW 품질을 보장하기 위한 품질 확보 활동이라고 볼 수 있겠지요. 그러나 정의 상 테스트는 "SW 결함을 찾기 위해 SW를 구동하여 동작을 확인하는 활동" 입니다. 커뮤니케이션 미스를 피하기 위해서라도 이런 정의는 지켜주는 게 좋겠지요.

뭐 이건 둘째로 치고, 저라도 효과 측면에서 데이터 정합성 확인하는 script를 먼저 짜는 것이 낫다고 생각합니다. 개발 중이라면 몰라도 이미 돌고 있는 시스템이라면 급한 불부터 먼저 꺼야겠지요. 검증해서 빵구난 부분이 있다면 그때 범인으로 의심되는 넘들을 테스트로 괴롭혀보고.

:         :

:

비공개 덧글

◀ 이전 페이지 다음 페이지 ▶

카테고리
영화나 책
말말말
컴퓨터
게임이야기
태그
메이저코드 직업 제이슨프라이드 파워코드 기타코드 마이너코드 하이코드 나꼽살 라이프사이클 디아블로3 공연 원리 스테가노그래피 ror 오픈세미나 개발 슬럼프 vanish 개발자 화성학 똑바로일하라 게임 재태크 ngrinder helloworld 서버개발 웹개발자 보험 2nd밴드
전체보기
최근 등록된 덧글
엄지척 바짝 올립니다. 궁금했던..
by 초보 at 10/11
다자가이든 소작이든 닭이 천 마리..
by yada at 09/20
나는 팔라독 헬 깸.
by 남영찬 at 06/17
^안녕.하세요^;; 골드팟 생기개..
by 전설의레전드소설책 at 03/25
이왕이면---- A7 등등 '7' 이 붙는..
by papagoat at 04/12
매우 감사합니다 ! 아주 쉽게 키..
by papagoat at 04/12
자꾸 F를 라로 표기하시네요 ㅎㅎ
by 안녕하세요 at 12/21
시 클라식 기타 코드표 도 보여..
by 강초보 at 06/08
sp를 싫어하는 개발자들은 유지..
by 나도개발자 at 04/23
여자친구와의 금연약속을 어겨서..
by 구사일생 at 11/13
라이프로그
똑바로 일하라
똑바로 일하라

펜트하우스 코끼리
펜트하우스 코끼리

화폐전쟁
화폐전쟁

10억
10억

거북이 달린다
거북이 달린다

용의자 X의 헌신
용의자 X의 헌신

마더
마더

터미네이터 : 미래전쟁의 시작
터미네이터 : 미래전쟁의 시작

스타트렉 더 비기닝
스타트렉 더 비기닝

천사와 악마
천사와 악마

노잉
노잉

7급 공무원
7급 공무원

박쥐
박쥐

인사동 스캔들
인사동 스캔들

와이키키 브라더스
와이키키 브라더스

매란방
매란방

건투를 빈다
건투를 빈다

코끼리는 생각하지 마
코끼리는 생각하지 마

배려
배려

벤자민 버튼의 시간은 거꾸로 간다
벤자민 버튼의 시간은 거꾸로 간다

작전
작전

워낭소리
워낭소리

작전명 발키리
작전명 발키리

적벽대전 2 : 최후의 결전
적벽대전 2 : 최후의 결전

트랜스포터 - 라스트미션
트랜스포터 - 라스트미션

디파이언스
디파이언스

사랑하지 않으면 떠나라!
사랑하지 않으면 떠나라!

촐라체
촐라체

쌍화점
쌍화점

황후화
황후화

크리스마스 별장
크리스마스 별장

눈먼 자들의 도시
눈먼 자들의 도시

예스맨
예스맨

순정만화
순정만화

펀치 레이디
펀치 레이디

눈에는 눈 이에는 이
눈에는 눈 이에는 이

전략적 책읽기
전략적 책읽기

돈, 뜨겁게 사랑하고 차갑게 다루어라
돈, 뜨겁게 사랑하고 차갑게 다루어라

좋은 놈, 나쁜 놈, 이상한 놈
좋은 놈, 나쁜 놈, 이상한 놈

다크 나이트
다크 나이트

H2 1
H2 1

그림으로 읽는 생생 심리학
그림으로 읽는 생생 심리학

호모 코레아니쿠스
호모 코레아니쿠스

강철중: 공공의 적 1-1
강철중: 공공의 적 1-1

이채원의 가치투자
이채원의 가치투자

쿵푸 팬더
쿵푸 팬더

카불의 사진사
카불의 사진사

인디아나 존스 4 - 크리스탈 해골의 왕국
인디아나 존스 4 - 크리스탈 해골의 왕국

시골의사의 부자경제학
시골의사의 부자경제학

종자돈 700만 원으로 부동산 투자 200억 만들기
종자돈 700만 원으로 부동산 투자 200억 만들기

우리동네
우리동네

디지로그 digilog
디지로그 digilog

대하소설 주역 4
대하소설 주역 4

읽지 않은 책에 대해 말하는 법
읽지 않은 책에 대해 말하는 법

Stick 스틱!
Stick 스틱!

색즉시공 시즌 2
색즉시공 시즌 2

바르게 살자
바르게 살자

20대는 통장을, 40대는 인생을 채워라
20대는 통장을, 40대는 인생을 채워라

점퍼
점퍼

생로병사의 비밀
생로병사의 비밀

추격자
추격자

오늘의 거짓말
오늘의 거짓말

주식시장을 이기는 작은책
주식시장을 이기는 작은책

대한민국 진화론
대한민국 진화론

무방비 도시
무방비 도시

피라니아 이야기
피라니아 이야기

우아한 세계
우아한 세계

경제를 읽는 기술
경제를 읽는 기술

실용주의 프로그래머
실용주의 프로그래머

블로그 비즈니스
블로그 비즈니스

어거스트 러쉬
어거스트 러쉬

세븐데이즈
세븐데이즈

뷰티풀 선데이
뷰티풀 선데이

괴물 1
괴물 1

킹덤
킹덤

당신과 일하기 힘들어 죽겠어
당신과 일하기 힘들어 죽겠어

뉴욕의 프로그래머
뉴욕의 프로그래머

나를 바꾸는 데는 단 하루도 걸리지 않는다
나를 바꾸는 데는 단 하루도 걸리지 않는다

벽오 금학도
벽오 금학도

해바라기
해바라기

펀드투자가 미래의 부를 결정한다
펀드투자가 미래의 부를 결정한다

상식이 통하는 웹사이트가 성공한다
상식이 통하는 웹사이트가 성공한다

아버지의 가계부
아버지의 가계부

본 얼티메이텀
본 얼티메이텀

최강 로맨스
최강 로맨스

여자도 여자를 모른다
여자도 여자를 모른다

부동산 10년 대폭락 시나리오
부동산 10년 대폭락 시나리오

아키텍트 이야기
아키텍트 이야기

보물지도
보물지도

오션스 13
오션스 13

게임회사 이야기
게임회사 이야기

바람피기 좋은 날
바람피기 좋은 날

조폭 마누라 3
조폭 마누라 3

삼미 슈퍼스타즈의 마지막 팬클럽
삼미 슈퍼스타즈의 마지막 팬클럽

광기와 우연의 역사
광기와 우연의 역사

런어웨이
런어웨이

회사가 당신에게 알려주지 않는 50가지 비밀
회사가 당신에게 알려주지 않는 50가지 비밀

롱테일 법칙
롱테일 법칙

해리 포터와 불사조 기사단
해리 포터와 불사조 기사단

사소한 것에 목숨 걸지 마라 - 습관 바꾸기 편
사소한 것에 목숨 걸지 마라 - 습관 바꾸기 편

우리가 미처 알지 못한 소프트웨어 공학의 사실과 오해
우리가 미처 알지 못한 소프트웨어 공학의 사실과 오해

트랜스포머
트랜스포머

20대부터 시작하는 스트레스 제로기술
20대부터 시작하는 스트레스 제로기술

미운오리새끼의 출근
미운오리새끼의 출근

캐리비안의 해적 : 세상의 끝에서
캐리비안의 해적 : 세상의 끝에서

미녀는 괴로워
미녀는 괴로워

유태우 교수의 내몸개혁 6개월 프로젝트
유태우 교수의 내몸개혁 6개월 프로젝트

브레이크 업 : 이별후애(愛)
브레이크 업 : 이별후애(愛)

인사이드 맨
인사이드 맨

마키아벨리, 회사에 가다
마키아벨리, 회사에 가다

웹 2.0 경제학
웹 2.0 경제학

한반도
한반도

연애, 그 참을 수 없는...
연애, 그 참을 수 없는...

구미호 가족
구미호 가족

럭키 넘버 슬레븐
럭키 넘버 슬레븐

찰리와 초콜릿 공장
찰리와 초콜릿 공장

아파트
아파트

레전드 오브 조로
레전드 오브 조로

rss

skin by jiinny
X