저의 꿈의 도전기 2편을 시작 하겠습니다.

저의 노력의 시작은 사랑하는 여자와 아픈 아버지가 시작점이 되었습니다.

 

22살의 군인이였던 저는, 우연히 초등하교 동창과 연락하게 되었고, 사랑에 빠져버렸습니다.

저는 학창시절 공부도 안하고 소문도 안 좋은 학생이였지만, 그녀는 한없이 착한 여자였습니다.

어느날 그녀의 친구가 저와 교제한다는 소식을 듣고, 당장 헤어지라는 등, 질이 안좋다는 등,, 그런 소리를 했다는 사실을 알았습니다. 저는 한없이 부끄러울 뿐 이였습니다. 

저는 그럼에도 불구하고 저를 선택해준 그녀와 아픈 아버지를 기쁘게 하기 위해 제대 후 열심히 공부해야겠다는 다짐을 하게 되었습니다.

제대 후에는 사실 편입에 대한 고민도 있었지만, 아버지는 제가 빨리 자리를 잡기를 원하셔서(아버지는 언제 돌아가실지 모른다는 생각에 제가 빨리 경제적 활동을 하시길 원하신거 같습니다..)

어쩔 수 없이 전문대에서 열심히 하기로 마음 먹었습니다.

그렇게 저는 열심히 노력하여 저는 항상 1등만 할 수 있었습니다.

 

그렇게 저는 24살 운좋게 조기 취업으로 벤츠 서비스센터에 일을 하게 되었고 당시 연봉 1980을 받고 일을 시작하게 되었습니다.

 

정비 업계에서 알아주는 업계여도 연봉은 정말 작고 소중했습니다..ㅠ,,

몸은 힘들었지만, 무언가 고장난걸 고쳤을때 쾌감은 정말 잊지 못했습니다.

어느날 센터에 원인불명의 고장난 차량이 입고 되었고, 아무도 고치질 못해 독일 본사에 요청하여 엔지니어가 한국에 방문하여 해결하는 것을 본 경험이 있습니다. 

문제는 소프트웨어였고, 이때 저는 소프트웨어란걸 알게 되었습니다. 저는 이때 저의 꿈을 갖게 되었습니다. 자동차 제어기를 개발하는 멋진 연구원이 되고싶다는,,!

 

저는 바로 사이버 대학교에 입학하였고 공부를 시작하였습니다. 공부를 시작한 이유는 그 독일 엔지니어들이 너무 멋져보였기 때문입니다. 하지만 생각처럼 프로그램은 쉽지 않았고, 주경야독은 정말 미친듯이 힘들었습니다.

저는 저에게 유리한 자동차 엔지니어링 쪽 학문만 신청하여 수업을 들었습니다..

그렇게 졸업을 어찌어찌하고 27살 어린 나이에 결혼을 하고 퇴사를 결심했습니다.

 

저의 꿈을 위해서는 육체적 노동이 강한 업무를 병행하면서 하기에 힘들다는 생각을 갖게 되었기 때문입니다.

당시 저는 회사 선배들에게 저의 꿈을 말하며 저도 할 수 있을지 물어봤습니다.

그들은 "우리 같은 사람들은 이미 끝이야, 전문대를 졸업한 우리는 여기가 최고의 위치고, 연구원은 결이 달라 우린 안돼"

이렇게 말했습니다. 30대 40대 선배들은 자기 주변에 그런 사람은 없다며 결혼도 했는데 안정적으로 살라고 하셨습니다.

 

저는 아내에게 물어봤습니다.  프로그래밍을 공부하여 제어기 개발하는 연구원이 되고 싶다고 말했을때  안된다는 말도 없고 이유도 안물어보고 그저 해보라고 했습니다. 

저는 저를 믿어주는 저의 아내의 응원에 퇴사를 하고, 프로그래밍을 배우기위해 학원, 정부 지원 교육 등 찾아봤습니다.

 

정부 지원 교육중에 미래인재를 양성하기 위한 1년짜리 프로그램이 있었습니다. 저는 지원을 했지만, 교육담당자에게 해당 교육은 취업을 위해 하는 교육으로 취업 경험이 있다면 안된다는 메일을 받게 되었습니다.

 

저는 청소라도 할테니 청강만이라도 하게 해달라하며, 교육에 대한 갈망을 비추었고, 5번 시도 끝에 결국 저는 교육을 듣게 되었습니다.

 

하지만 교육에는 이름만 들어도 알 대학교 학생들과 컴공과 석사들,, 정말 수준 높은 교육생들이 많았습니다.

다들 어느정도 프로그래밍 수준이 있었고, 부족한 저는 이런 부족한 부분을 채우기위해 저녁에 무료 C언어 교육나눔 프로그램을 알게되어 신청하게 되었고, 약 반년간 아침부터 오후까지 AUTOSAR 교육을 듣고, 저녁엔 C언어 교육을 들으러 다니며 저는 1년동안 약 3시간 왕복거리를 배우기위해 다녔습니다.

평일 밤엔 자기전에 코딩테스트 프로그램으로 코딩 연습 하고, 병이 악화되신 아버지를 돌보기위해 주말엔 아버지 병실에서 곁을 지켰습니다.

 

 

 

 

 

'성장일기' 카테고리의 다른 글

꿈의 도전기(1편)  (1) 2024.01.02
꿈을 위한 첫 걸음!  (0) 2019.09.16
아버지  (0) 2019.08.10
start  (0) 2018.11.20

1단계 - 자의식 해체 (무의식, 유전자 해체)
 1.탐색 - 2.인정- 3. 전환
 
 1. 탐색 - 자신의 기분 변화등을 관찰하고 이것이 진짜인지 의심해보기
 2. 인정 - 기분의 변화를 객관적으로 살펴보고, 이해하기
 3. 전환 - 인정을 통해 열등 감 해소 및 인정 
 
 result - 학습력과 의사결정력을 높이고 정신적 건강도 좋게 만든다.
 
2단계 - 정체성 만들기(의도적으로 형성)
결심이 아닌 환경부터 만들기 

3단계 - 유전자 오작동 극복 
책읽기와 글쓰기를 통한 뇌를 활성화 
독서를 통한 간접적 글쓴이의 경험 습득

4단계 - 뇌 자동화
 1. 22전략 - 2년간 2시간씩 글씨기와 독서 
 2. 오목 이론 - 장기적인 수 ( 가깝거나 미래 생각)
 3. 뇌증폭 : 다른 분야 or 처음 접하는 길 , 충분한 수면
 
5단계 - 역행자의 지식 (수많은 결정을 좋은 판단으로) 
 1.인생을 바꾸는 방법은 의사결정력을 높이면 된다. 
 -> 독서와 글쓰기를 통한 의사결정력 향상
 2.베푸는 Giver가 되자 (Giver/Taker) 
 3.타이탄의 도구를 모으면 몇배가 된다. 

6단계 - 경제적 자유를 얻는 구체적 루트(패배에 직면함으로써 레벨업)
 돈을 버는 근본 원리는 문제 해결력 (상대를 편하게 , 행복하게) 
 
7단계 - 역행자의 쳇바퀴 
경제적 자유를 위한 5가지 공부법(p235)
 1.정체성 변화 
 2.20권의 법칙 : 이루고 싶은게 있다면 관련분야 책 10권씩만 보라
 3.유튜브시청 : 하루 3개이상 필기하면서 봐라 다양한 분야
 4.글쓰기를 통한 초사고 세팅 : 잠자기전 10분간 타이머를 켜고 오늘 했던 생각중 하나를 글로 정리해보기
 5.온라인을 넘어 오프라인 학습도 

 * 하루 2시간 독서/하루에 한번 5분 생각/ 7시간 이상 숙면 



우리는 무의식적으로 새로운것에 대한 부정을 한다. 
또한 우리의 자의식은 우리가 편한 방향으로만 가게 인도한다.
이것이 이책에서 말하는 순리자이다. 순리자가 되지 않게 하기 위해 우리는 조금 더 자신을 의심해야 한다. 
내가 조금 더 편하거나 익숙한 길로 가려고만 하지 않는지 의심해야 한다.
독서를 하거나 글을 쓰는 것은 정말 귀찮고 막연하다. 하지만 이러한 행동은 우리의 생각의 폭을 넓여가며 조금 더 나은 결정을 할 수 있도록 도와 준다.

이 책을 읽으며 나는 어느순간 편한 방향도 나쁘지 않다고 생각했었던 것 같다. 
무언가 문제가 생기면 분석을 하기 보다는 불평을 했었던것 같아 반성하게 만드는 기회였던것 같고, 
문득 잊었던 "혼자 있는 시간의 힘" 책이 생각 났다. 
무언가 배움을 위해 몰입을 하기 위해서는 우선 환경이 구성되어야 하고(혼자),자의식을 해체하여 받아 들여야 한다.
배움에 있어 모든 이론은 언제나 하나로 흘러가는 것 같다. 
 

정말 나약하게도 22년 23년 목표를 설정을 안했더니 이룬게 별로 없습니다..

하지만 그래도 열심히 노력해서 23년에 제가 원하던 자동차 제어기를 개발하는사람이 되었습니다..! 

이제 회사 규모도 크고, 더 높은 곳으로 갈지 아니면 여기서 이제 제가 원하던 돈의 흐름(내가 일 안해도 돈버는 구조)를 만들지 고민이 됩니다.

 

벌써 열심히 살기로 한지 12년차 입니다.. 하핫 1년도 헛되이 보내지 않은 나자신을 칭찬합니다.

 

 

1. 오픽 IH이상 점수 획득 

블로그 계속 열심히 쓰기 

 

2. 자동차 특허 쓰기 -완료 2건 (2024.11월  특허 변리사 미팅 진행중)

 

 

 

 

'Target' 카테고리의 다른 글

2021 목표!  (0) 2021.01.04
2020 목표  (0) 2020.05.08

오늘은 꿈에 대한 이야기를 해볼까 합니다.

우선 저는 드디어 목표했던 자동차 제어기 개발인 제어기 시스템 개발자이며 연구원 직무로 일하고 있습니다.

 제 꿈은 빠르면 빠르고 느리면 느리다 할 수 있는 나이 24살에 찾게 되었습니다.

 

저의 어린 시절은 무난했던 것 같습니다. 아버지는 공무원이고 어머니는 청소부이셨습니다. 

그렇게 사랑받지도 안받지도 않은 어린 시절 저는 방황을 많이 했습니다. 성적은 항상 뒤에서 1~2등 하며 놀기도 많이 놀았습니다.  중 고등학교때 까지의 기억은 많지 않습니다. 그만큼 생각 없이 살았다는 증거 이겠지요..

고등학교 2학년때 저는 공부 한번 잘해서 고려대학교에 가고 싶다는 생각이 들었습니다. 이유는 멋져서입니다..

공부하려고 하니 너무 어려워서 중학교 과정을 다시 살펴봤습니다. 

중학교 과정을 다시 하니 하루하루 진도 따라가기가 어렵더라고요.. 그때 더 노력했어야 했는데 잠도 줄여가며 공부하고, 수업 중에 졸리면 손등을 샤프로 막 찔렀습니다. 그랬더니 선생님께서 그냥 자라고 하시더라고요.. 그래서 잤더니 진도를 못 따라가는 거 있죠.. 하하 

그렇게 고3이 되어도 저는 바닥이었습니다. 그나마 노력해서 전문대중에서는 탑이라고 할만한 학교에 야간으로 입학하게 되었습니다. 

과는 당시 그나마 엔진에 관심이 있어서 자동차과를 선택했습니다.

첫 수업을 아직도 잊을 수 없습니다. 공고 나온 친구들을 이길 수가 없더라고요.. 수업도 계속 빠지게 되고 결국 저는 한학기도 채우지 못하고 군 휴학을 하면 성적이 리셋된다는 말에 바로 군 휴학을 하고 도망갔습니다.

군대에서 저는 습관성 어깨 탈골로 많은 구박과 욕을 먹었습니다. 왜냐하면 툭하면 어깨가 빠져서 훈련을 제대로 하지 못했기 때문입니다.

저는 너무나도 무력했습니다.

학교도 망치고 군대도 망치고 몸도 아프고 너무나 우울했습니다.

일병 때 어깨수술을 하고 저는 상병까지 군 병원에 입원해 있었습니다. 

그 당시 아버지도 담도암에 걸리셔서 이런저런 생각이 많았습니다. 왜냐하면 아무것도 해드린 게 없어서요..

공부도 못하고, 학교도 열심히 안 다니고 저는 불효자라고 생각했습니다.

더더욱 무력했습니다.

그러다가 우연찮게 책을 접하게 되었습니다.

책 제목은 죽음의 수용소에서 라는 책을 봤습니다. 너무나도 인상 깊었고 결국 살아남은 사람은 잘나고, 돈 많은 사람이 아니라 성취해야 할 삶의 목표와 의미를 알고 있는 사람이었다는 내용입니다.

저 또한 저의 삶의 목표와 의미를 찾기 위해서 많은 생각을 했습니다.

내가 정말 하고 싶은 게 뭘까 

내가 이루고 싶은게 뭘까 

이 2가지의 생각을 가지고 많은 독서를 하였습니다.

연관된 책을 찾게 되었고 무엇을 위해 살 것인가 라는 책을 보게 되었습니다.

제가 태어난 이유 나의 삶의 소명은 무엇일까..?라는 생각을 정말 많이 한 거 같습니다.

그러다가 혹시 부자가 되면 행복할까? 하는 마음에 관련된 서적을 읽었습니다.

부자가 되고 싶어 부자아빠 가난한 아빠를 보고.. 이거를 보니 경제를 알야 할 것 같아서 경제 기본 개념 설명 책을 봤습니다. 이렇게 보다 보니 어느 순간 돈에 이끌려서 보고 있는 게 아닌가? 하는 생각이 들었습니다. 제가 원초적으로 좋아하고 흥미 있는게 뭘까 라는 생각을 가지고 여러 가지를 써봤습니다.

당시 기억으로는 1. 고치는 것 , 2. 엔진 원리 3. 기계  4. 애니메이션

이런저런 생각으로 결국 엔진을 고치는 사람이 되고 싶다고 생각했습니다.

그래서 자동차 공학 책을 가져와서 공부를 했습니다.

공부를 할 때는 왜라는 의문을 가지고 공부를 했습니다. 저에겐 매번 암기하려는 공부법이 아닌 새로운 도전으로 새로운 공부법을 하게 된 것입니다.

그렇게 전역하고, 새 학기 1학년으로 다시 복학하여 공부를 하였습니다.

목표가 있어서 그런지 정말 광기를 가지고 공부했습니다. 물론 독서도 계속했습니다. 의지가 약해질까 봐 자기 계발서를 정말~~ 많이 봤습니다. 또한 지칠 때는 애니를 봤습니다. 약한 주인공이 노력해서 강해지는 것을 볼 때면 눈물이 흘렀습니다.

저도 그렇게 되고 싶어서가 아닌가 싶습니다. 저는 애니를 보며 정말 위로를 많이 받았습니다.

어차피 인생의 주인공은 나이고, 애니의 주인공도 온갖 역경이 오지만 결국 최고가 되니깐요..

 

아무튼 군대에서 많은 공부방법 서적을 본 저는 할 수 있는 건 다했습니다.

아침에 일어나서 넌 할 수 있다. 넌 최고다 외치며 학교에 가서 도서관이나 아님 야외 책상에서 공부를 했습니다.

부족한 실습은 몰래 실습실 들어가서 연습해 보고, 정말 학교에서 살았습니다.

그렇게 전 1학년 1학기 4.5 All  A+을 받으며 1등을 할 수 있게 되었습니다.

신난 마음에 아버지한테 자랑했더니 아버지는 우연일 수도 있다며 칭찬을 안 해주셨습니다.

지금에서야 알았지만 제가 자만할 까봐 걱정하셨던 것 이겠죠. 그래도 목표가 있기에 더더욱 열심히 하여 1학년 2학기도 All A+을 받으며 저는 저의 가능성을 믿게 되었습니다. 하지만 저는 집이 너무 멀어서 자취를 하고 싶었습니다.

그러나 집에 돈이 없어서, 안된다는 아버지 말씀에 겨우 설득하여 월세 10만 원짜리 노래방 위에 자취방을 얻게 됩니다.

어차피 공부는 학교에 가서 하면 되니깐 말이죠..(지네가 너무 나와서 힘들었어요 절 물거든요..ㅠ 하수구 악취와) 

당시 저는 용돈 10만원.. 월세 10만원과 정말 구질구질하게 살았습니다. 후배들한테 얻어먹고, 담배도 피우는데 돈도 없고..

어느 날 저는 아버지한테 전화해서 용돈 좀 올려달라고 서럽게 울었습니다.. 그 당시 후배 한 명이 왜 그렇게 구질구질하냐고 한소리 들었거든요..ㅋㅋ 그래서 5만 원 올려줘서 나름 나쁘지 않게 살았습니다.

 

제가 2학년이 되었을 때 벤츠코리아에서 전국 전문대 대상으로 성적 우수 학생 대상 벤츠 아카데미라는 것을 했습니다.

저는 지원하게 되었고 기존에 했던 공부 방식으로 저는 상위권으로 우수 학생으로 선정되어서 독일 본사방문을 할 수 있게 되었습니다.! 첫 공짜 유학을 다녀온 것이지요.. ㅎㅎ 유학이 왜 좋은지 알겠더라고요 물론 3주지만 시야가 넓어졌다고 할까나.. 

아무튼 그렇게 저는 제가 생각했던 대로 흘러가며 2학년 1학기까지 1등으로 2학기에 벤츠서비스센터로 조기 취업을 하게 되었습니다.! 

 

이렇게 저는 패배자에서 괴물 소리를 듣는 학생이 되어 원하던 벤츠 서비스센터에 조기취업을 하게 되었습니다.!

 

또 시간 날 때 적어보겠습니다.. 

만약 이 글을 보시는 분이 있다면 절대 포기하지 마십시오! 

 

 

 

 

'성장일기' 카테고리의 다른 글

꿈의 도전기(2편)  (2) 2024.11.23
꿈을 위한 첫 걸음!  (0) 2019.09.16
아버지  (0) 2019.08.10
start  (0) 2018.11.20

작년에 이어서 새로운 도전을 해보겠습니다.

매년 저의 목표를 많이 세웠지만 , 항상 1~2개만 이루어 내는거 같아서 이번에도 많이 목표를 잡았습니다.

저는 목표를 만들 때 우선순위를 만들어서 목표로 잡습니다.
0. 다이어트(현재72kg(20.12.31) -> 68kg(Target) // 코로나 때문에 흑흑.. (22. 8 성공)
1. TOEIC speaking (21.2 성공)
2. 전기 자동차 블로그 하기
3. c언어 , c++ 공부 (기본기 탄탄.. 기준은 보유한 교재 다 풀기) (c언어만 성공 22.11)
4. 영어 공부한거 블로그 하기! ( 정말 바닥부터 공부한거라서.. 백신이 영어인걸 코로나때문에 알았습니다.. )
5. 컴퓨터 기사 자격증!

저의 올해 목표는 6개 이고, 열심히 살기로 한지 벌써 8년이 되었습니다.

그 동안 한해도 빠짐 없이 후회없이 살기 위해 노력했습니다.

여전히 그저 멋진 사람이 되고 싶습니다.!
미래의 자식에게 멋진 아빠가 되고 싶습니당!

올해는 정말 열심히 기본기를 다져서 내년에 대학원에 가고싶네요 ㅎㅎ

오늘도 그럼 Stimpack 흐읍~~

'Target' 카테고리의 다른 글

2024 목표!  (2) 2024.01.02
2020 목표  (0) 2020.05.08

공부 기간 : 6/1~ 6/23 

공부 방법 : 오직 실라버스..

 

우선 실라버스가 너무나도 졸립고... 재미없어서 첫 주는 실라버스만 대충 1장부터 6장까지 스윽 봤습니다..

 

그 다음주부터 일주일간 실라버스를 블로그에 정리하면서 필사를 했습니다.. 너무나도 고독의 시간..

그리고 그 주 주말에 문제 A를 풀고 좌절을 맛보고 오답을 하면서 제가 몰랐던 이론을 정리했습니다.

그 다음에는 B를 풀고 이제 문제의 감을 잡았습니다.

어떤 식으로 나올지 감을 잡고 이번 부터는 26점 맞더군요... 

이때 다시 오답을하고, A를 다시 풀었습니다. 

A를 다시 오답하고 C를 풀어보고 28점을 맞았습니다..

연속으로 A 와 B를 풀고 다시 틀린거 오답했습니다. 

 

1. 실라버스 스윽 흐름 파악하기

2. 문제풀면서 좌절감 맛보고 오답노트하는데 오답을 거의 필사 느낌처럼 문제에 필요한 이론 다시 공부하고 적는 방법으로..

3. 문제 A B C 를 동일하게 했습니다...

 

후기 - 

저는 회사를 다니고 끝나고 헬스장을 꼭 꼭 가기때문에 부족한 시간은 일찍자고 일어난 새벽에 똘망 똘망한 눈망울로 공부를 했습니다. 

항상 저는 무언가를 할때 그때 이룰 성취감을 상상합니다.! 흐흐...

하기 싫을 때는 떨어졌을때의 그 기분을 상상합니다.. 흑흑흑 ....

비전공인 저는 처음 보는 이론이 많았지만.. 역시.. 하면 되네요 ..! 

 

제가 하면 모두가 할수 있습니다.! 저는 머리가 안좋아서 계속 봐야하거든요..ㅎㅎ 어쨋든 올해 목표중 하나를 이뤘네요 히히히 

 

모두들 화이팅 하세요!

'자격증 > ISTQB' 카테고리의 다른 글

정리 1  (0) 2020.06.22
[Part 6] 테스트 지원 도구  (0) 2020.06.14
[Part 5] 테스트 관리  (0) 2020.06.14
[part 3] 정적 테스팅  (0) 2020.06.11
[Part 2] 소프트웨어 수명주기와 테스팅  (0) 2020.06.08

1.2.2 품질 보증과 테스팅

품질이란 컴포넌트, 시스템, 또는 프로세스가 명시된 요구사항이나 사용자/고객의 필요와 기대를 만족하는 정도이다.

품질 관리는 품질 보증과 품질제어를 포함한 여러가지 활동을 포함하는 용어이다.

품질 보증은 적절한 품질 수준을 달성했는지 확신을 얻기 위해 적절한 프로세스를 준수하도록 하는 것에 초점을 두고있다. 품질 제어는 테스팅 활동이 포함.

 

 

1.2.3 오류, 결함,장애

사람 프로그램 코드 또는 기타 작업 산출물을 작성하면서 결함(결점, 버그)을 발생시키는 오류(실수)를 범할 수 있다.

특정 작업 산출물 내 결함의 원인이 되는 오류는 연관된 다른 작업 산출물의 결함의 원인이 되는 또 다른 오류의 계기가 될 수 있다.

 

결함의 근본 원인이란 해당 결함을 생성하는데 기여한 최초의 해동이나 조건을 지칭한다. 결함을 분석함으로써 근본 원인을 찾을 수 있으며, 차후 유사한 결함의 발생 가능성을 낮출수 있다.

 

예를 들어, 단 한줄의 잘못된 코드로 인한 이자 지급 오류는 소비자 불만을 초래한다. 제품 소유자가 이자 계산법을 잘못 이해해서 작성한 애매모호한 사용자 스토리를 기반으로 코드가 잘못 작성 되었다.

 

이 예제에서 결과는 소비자 불만이며 장애는 잘못된 이자 지급이다. 결함은 코드에 포함된 잘못된 계산식이며, 그것의 원인이 되는 최초의 결함은 사용자 스토리의 모호성이다. 최초 결함의 근본 원인은 제품 소유자의 지식 부족이였으며, 그 결과로 제품 소유자가 사용자 스토리를 작성할 때 오류를 범했다고 볼 수 있다. 

 

Ex) C-Q3

A. 시스템 개발자가 잘라 붙이기 후 변경된 부분에 대한 이름 수정을 잊어 버렸다. (오류,실수)

B. 후진 시 경고음을 울리는 불필요한 코드가 시스템에 들어갔다. (결함)

C. 라디오 볼륨을 키우거나 줄일 때 시스템이 설정 속도를 유지하지 못한다. (장애)

D. 시스템의 설계 명세에 Km/h 속도 단위가 잘못 표기되었다. (결함) 

 

1.4 테스트 프로세스

모두가 사용하는 일반적인 테스트 프로시저는 없지만, 설정한 목적의 달성 가능성을 높여주는 공통적인 테스트 활동 세트는 존재한다. 이런 테스트 활동 세트를 테스트 프로세스라 한다.  

 

테스트 프로세스에 속하는 테스트 활동과 이런 활동을 어떻게 구현할지, 또 이런 활동을 언제 수행할지에 대한 내용은 조직의 테스트 전략에서 다룰수 있다.

 

1.4.2 테스트 활동과 작업 

  • 테스트 계획 - 계획 ( 일정, 테스팅 접근법,..)
  • 테스트 모니터링과 제어 ( 상황진행보고서, 요약보고서등)
  • 테스트 분석 - 베이시스 평가, 테스트 컨디션 우선순위
  • 테스트 설계 - 테스트 데이터 식별, 인프라와 도구 식별 , 테스트 환경 설계 , 테스트 케이스와 테스트 세트
  • 테스트 구현 - 테스트 데이터 생성 , 테스트 프로시저
  • 테스트 실행 - 결함 보고서
  • 테스트 완료 - 보고서, 

 - 테스트 계획 : 테스팅의 목적과 정황으로 인한 제약 사항을 고려해 테스트 목적을 달성하기 위해 필요한 접근법을 정의하는 활동을 포함한다. 예를 들어, 적합한 테스트 기법과 작업 명시, 정해진 출시 일정 전에 완료하기 위한 테스트 일정 수립 등이 여기에 포함된다.

 

5.2 테스트 계획과 추정

5.2.1 테스트 계획의 목적과 내용 

 - 계획에 영향을 주는 요소

  • 조직의 테스트 정책
  • 테스트 전략
  • 사용하는 개발 수명주기 및 방법
  • 테스팅의 범위
  • 목적
  • 리스크
  • 제약
  • 심각도
  • 테스트 용이성
  • 자원의 가용성

 - 테스트 계획서 기록 내용

  • 테스팅의 범위 정의, 목적, 리스크 결정
  • 전반적인 테스팅 접근법 정의
  • 테스트 활동을 소프트웨어 수명주기 활동에 통합하고 조정
  • 테스트 대상 다양한 테스트 활동에 필요한 인력과 기타 자원, 테스트 활동 수행 방법 결정
  • 테스트 분석, 설계, 구현, 실행, 평가 활동의 일정 조정. 일정은 특정 날짜나 반복주기 단위로 편성할 수 있다.
  • 테스트 모니터링과 제어에 사용할 메트릭 선정
  • 테스트 활동 예산 결정
  • 테스트 문서의 구조와 상세화 정도 정의

 

------------------------------------------------------------

  • 작업 산출물 : 테스트 계획(베이시스에 대한 정보)

 

- 테스트 모니터링과 제어 : 테스트 계획에 정의된 테스트 모니터링 메트릭을 활용해 실제 진행 상황을 계획한 진척상황과 지속적으로 비교하는 활동을 말한다.

테스트 제어는 테스트 계획에 따른 목적 달성을 위해 필요한 행동을 취하는 활동을 포함한다. 

테스트 모니터링의 목적은 정보 수집 및 테스트 활동에 대한 피드백과 가시성 제공이다. 모니터링 대상 정보는 수동 혹은 자동으로 수집할 수 있고, 테스트 진행상황을 평가하는 데 활용한다. 그리고 테스트 종료 조건(예: 제품 리스크 커버리지, 요구사항 커버리지, 인수 기준)을 만족하는지 또는 애자일 프로젝트에서 완료의 정의와 관련된 테스팅 작업을 만족하는지 측정하는 데 이용한다.

 

테스트 제어 활동의 예는 

  • 식별한 리스크(예: 소프트웨어 인도 지연) 발생 시 테스트 우선순위의 변경
  • 테스트 환경이나 기타 자원의 가용 여부에 따라 테스트 일정 변경
  • 재작업으로 인해 테스트 항목이 시작 조건이나 종료 조건 만족하는지 재 평가 
  • 작업 산출물 : 테스트 요약 보고서와 같은 여러 형태의 테스트 보고서

5.3.1 테스팅에서 사용하는 메트릭

테스팅 활동 중이나 종료 시점에 아래와 같은 사항을 평가하기 위해 메트릭을 수집할 수 있다. 

  • 계획한 일정과 예산 대비 진행 상황
  • 테스트 대상의 현재 품질
  • 테스트 접근법의 타당성
  • 목적 대비 테스트 활동의 효과 

 

일반적인 테스트 메트릭은 다음과 같다.

  • 계획 대비 테스트 케이스 준비 작업 완료율(또는 계획 대비 테스트 케이스 작성률)
  • 계획 대비 테스트 환경 준비 작업 완료율
  • 테스트 케이스 실행률(예: 수행한/수행하지 않은 테스트 케이스 수 , 테스트 케이스 합격/불합격 수, 테스트 컨디션 합격/불합격 수)
  • 결함 정보( 예: 결함 밀도, 발견한 결함, 수정한 결함, 실패율, 확인 테스트 결과)
  • 요구사항 커버리지, 사용자 스토리 커버리지, 인수 기준 커버리지, 리스크 커버리지, 코드 커버리지
  • 작업 완료, 자원 할당과 사용, 노력
  • 다음 결함을 발견하면 얻는 이익 대비 비용이나 테스트를 계속 실행해 얻게 되는 이익 대비 비용 등을 포함하는 테스팅 비용

5.3.2 테스트 보고의 목적, 내용, 독자

테스트 보고의 목적은 테스트활동(예: 테스트 레벨) 중이나 마무리 시점의 테스트 활동 정보 요약과 공유이다.

테스트 보고서(테스트 진행 상황 보고서, 요약보고서(테스트 활동 종료시점에 작성) ( 테스터 관리자 작성)

- 테스트 진행 보고서에 들어가는 정보

  • 테스트 계획 대비 테스트 활동과 진행 상황
  • 진행을 방해하는 요소
  • 다음 보고 기간에 진행하기로 계획한 테스팅
  • 테스트 대상의 품질

- 테스트 요약 보고서에 들어가는 정보(종료 조건 만족시)

  • 테스트 수행 내용 요약
  • 테스트 기간 도중에 발생한 상황 정보
  • 계획 대비 편차(예: 일정, 기간, 테스팅 활동 노력)
  • 종료 조건 및 완료의 정의에 대한 테스팅 현황과 제품 품질
  • 진행을 방해했거나 계속해서 방해하고 있는 요소
  • 메트릭(5.3.1에 설명한 결함, 테스트 케이스, 테스트 커버리지, 활동 진행 상황, 소비한 자원)
  • 잔존 리스크
  • 재사용 가능한 테스트 작업 산출물'

5.4 형상 관리

형상 관리의 목적은 프로젝트와 제품 수명주기 동안 컴포넌트나 시스템, 테스트웨어와 이들 서로간의 관계 통합을 수립하고 유지하는 데 있다. 형상 관리는 테스팅을 적절히 지원하고자 아래 내용을 확인한다.

  • 모든 테스트 항목에 고유 식별번호를 부여하고, 버전을 관리하고, 변경 이력을 기록한다. 형상 관리에서 테스트 항목은 서로 연관돼 있다.
  • 모든 테스트웨어 항목에 고유 식별번호를 부여하고, 버전을 관리하고, 변경사항을 추적하고, 서로 연결해 테스트 항목 버전과도 연결되도록 해서 테스트 프로세스 전반에 걸쳐 추적성을 유지할수 있게 한다.
  • 식별한 모든 문서와 소프트웨어 아이템은 테스트 문서 내에서 명확하게 상호 참조되도록 한다.

테스트 계획을 수립하면서 형상관리 절차와 인프라(도구)를 식별하고 구현해야 한다.

----------------------------------------------------------------------------------------------------------------

- 테스트 분석 : 테스트 가능한 기능과 연관된 테스트 컨디션을 식별하기 위해 테스트 베이시스를 분석하고 평가한다.

테스트 분석의 주요 활동

  • 고려중인 테스트 레벨에 적합한 테스트 베이시스 평가
  • 컴포넌트나 시스템의 기능, 비기능, 구조 측면을 고려한 리스크 분석 보고서
  • 테스트 베이시와 테스트 항목을 평가해서 다양한 형태의 결함 식별
  • 테스트할 기능과 기능세트 식별
  • 테스트 베이시스를 평가하고 기능, 비기능, 구조 특성 리스크 수준 등을 고려해서 각 기능에 대한 테스트 컨디션 정의 및 우선순위 선정
  • 테스트 베이시스의 개별 요소와 연관된 테스트 컨디션 간의 양방향 추적성 포착

*작업 산출물

  • 우선수위가 선정된 테스트 컨디션

------------------------------------------------------------------------------------------------------------------

테스트 설계 - 테스트 컨디션을 기반으로 상위 수준 테스트 케이스, 상위 수준 테스트 케이스 세트, 기타 테스트웨어를  생성한다. 

테스트 설계의 주요 활동

  • 테스트 케이스와 테스트 케이스 세트 설계 및 우선순위 선정
  • 테스트 컨디션과 테스트 케이스에 필요한 테스트 데이터 식별 ***************
  • 테스트 환경 설계와 필요한 인프라 도구 식별  ****************
  • 테스트 베이시스 , 테스트 컨디션, 테스트 케이스 간의 양방향 추적성 설정

*작업 산출물 

  • 테스트 케이스와 테스트 케이스 세트
  • 필요한 테스트 데이터의 설계나 식별
  • 테스트 환경 설계
  • 인프라와 도구의 식별

-------------------------------------------------------------------------------------------------------------------

테스트 구현 : 테스트 구현 중 테스트 실행에 필요한 테스트웨어를 생성하고 완성하며, 테스트 케이스를 배치해서 테스트 프로시저를 만드는 것도 여기에 포함된다.

테스트 구현에 주요 활동

  • 테스트 프로시저의 개발과 우선순위 선정, 가능하다면 자동 테스트 스크립트 생성
  • 테스트 프로시저와(있다면) 자동 테스트 스크립트로부터 테스트 스위트 생성
  • 효과적인 테스트 실행이 가능하도록 테스트 스위트를 테스트 실행 일정 내에 배치
  • 테스트 환경 구축, 가능하다면 테스트 하네스, 서비스 가상 현실화, 시뮬레이터, 기타 인프라 항목까지, 또 필요한 모든 사항을 제대로 구현했는지 확인
  • 테스트 데이터를 준비하고, 테스트 환경에 제대로 입력했는지 확인
  • 테스트 베이시스, 테스트 컨디션, 테스트 케이스, 테스트 프로시저, 테스트 스위트 서로 간의 양바향 추적성 검증과 업데이트

*작업 산출물

  • 테스트 프로시저와 이 프로시저의 배열
  • 테스트 스위트
  • 테스트 실행 일정

--------------------------------------------------------------------------------------------------------------------

- 테스트 실행 : 테스트 스위트를 테스트 실행 일정에 따라 실행한다.

테스트 실행의 주요 활동

  • 테스트 항목, 테스트 대상, 테스트 도구, 테스트웨어 등의 고유번호(ID)와 버전 기록
  • 테스트를 수동으로 혹은 테스트 실행 도구를 활용해서 실행
  • 기대 결과와 실제 결과 비교
  • 이상 현상을 분석해 원인 파악
  • 관찰한 장애를 기반으로 결함 보고
  • 테스트 실행 결과 기록
  • 이상 현상 때문에 취한 활동의 결과로 인해 또는 계획된 테스팅의 일부로 테스트 활동 반복
  • 테스트 베이시스, 테스트 컨디션, 테스트 케이스, 테스트 프로시저, 테스트 결과 간의 양방향 추적성과 검증 업데이트

*작업 산출물

  • 개별 테스트 케이스나 테스트 프로시저의 상태에 대한 문서
  • 결함 보고서
  • 테스팅에 사용한 테스트 항목, 테스트 대상, 테스트 도구, 테스트웨어 등에 대한 문서 

---------------------------------------------------------------------------------------------------------------------

- 테스트 완료 : 완료한 테스트 활동에 서 데이터를 수집해서 경험, 테스트웨어 기타 관련 정보를 축적하는 활동이다. 테스트 완료 활동은 소프트웨어 시스템을 릴리스 했을 때 테스트 프로젝트를 완료 했을때 등 일어난다.

테스트 완료의 주요 활동

  • 모든 결함 보고 처리를 완료했는지, 테스트 실행 후 해결되지 않은 모든 결함에 대해 수정 요청서 또는 프로젝트 백로그 항목을 생성했는지 확인
  • 이해관계자에게 전달할 테스트 요약 보고서 생성 
  • 차후 재사용을 위해 테스트 환경, 테스트 인프라, 기타 테스트웨어의 마무리 및 보관
  • 테스트웨어를 유지보수팀, 다른 프로젝트팀, 그것을 활용할 수 있는 기타 이해관계자 등에게 인계
  • 완료한 테스트 활동을 통해 얻은 교훈을 분석해서 향후 분석주기, 릴리스, 또는 프로젝트를 위해 수정해야 하는 사항 판단
  • 테스트 프로세스 성숙도 개선을 위해 수집된 정보 활용

 

1.4.4 테스트 베이스와 테스트 작업 산출물 간의 추적성

- 좋은 추적성은 테스트 커버리지에 대한 평가를 가능하게 한다.

- 수정으로 인한 영향 평가를 가능하게 한다. ( 리그레션 테스팅)

- 테스팅에 대한 감사(audit)를 가능하게 한다. (테스트 실행의 완전성 평가)

- IT 통제 조건을 충족할 수 있게 한다.

- 테스트 베이시스 개별 요소의 상태에 대한 정보를 포함함으로써 테스트 진행 상황 보고서와 테스트 요약 보고서를 좀     더 쉽게 이해할 수 있게 한다. 

- 테스팅의 기술적인 내용을 이해관계자가 이해할 수 있는 형태로 전달한다.

- 비지니스 목표 대비 제품 품질, 프로세스 역량, 프로젝트 진행 상황 등을 평가할 수 있는 정보를 제공한다.

 

 

2.3 테스트 유형

테스트 유형이란 특정 테스트 목적을 위해 소프트웨어 시스템이나 시스템의 일부 특정 속성을 테스트하는 활동의 집합을 얘기한다. 대표적인 목적

  • 완전성, 정확성, 적합성 등과 같은 기능 품질 특성 평가 -> 기능 테스트
  • 신뢰성, 성능 효율성, 보안성, 호환성, 사용성 등과 같은 비기능 품질 특성 평가 -> 비기능 테스트
  • 컴포넌트나 시스템의 아키텍처 및 구조가 정확하고 완전하며 명시된 것과 일치하는지 평가
  • 수정의 효과 평가. 예를 들어, 결함이 수정됐는지 확인(확인 테스팅)하고, 소프트웨어나 환경의 변화로 인해 동작에 의도하지 않은 변화가 없는지 평가(리그레션 테스팅)

테스트 유형에는 기능 테스트 , 비기능 테스트 , 화이트박스 테스팅 , 변경 관련 테스팅 , 유지보수 테스팅

 

- 변경 관련 테스팅 - 리그레션 테스팅 , 확인 테스팅

 - 확인 테스팅 - 결함으로 인한 수정후 확인하는 테스트

 - 리그레션 테스팅 - 의도하지 않은 부작용을 발견하기 위해 하는 테스트 

 

- 영향도 분석 - 유지보수 릴리스에 포함된 변경을 평가해서, 의도한 결과뿐만 아니라 변경으로 인해 발생할 수 있는 예    견된 부작용을 식별하고, 변경의 영향을 받는 시스템 영역을 식별하기 위해 식별한다. 

  영향도 분석은 변경이 기존 테스트에 미치는 영향을 식별하기 위해 사용할 수 있다.( 리그레션 테스팅에 유리하다)

 

4. 테스트 기법

 테스트 기법의 목적은 테스트 컨디션, 테스트 케이스, 테스트 데이터 식별을 지원하는 것이다. 

 

테스트 기법의 선택

  • 컴포넌트나 시스템의 복잡도
  • 규제 기준
  • 고객 또는 계약 요구사항
  • 리스크 수준과 유형
  • 사용 가능한 문서
  • 테스터의 지식과 역량
  • 사용 가능한 도구
  • 시간과 예산
  • 소프트웨어 개발 수명주기 모델
  • 컴포넌트나 시스템에서 예상되는 결함 유형 

4.1.1 테스트 기법의 종류와 특성

블랙박스, 화이트박스, 경험기반으로 분류

 

- 블랙박스 테스트 기법 : 적절한 테스트 베이시스(예 : 공식 요구사항 문서, 명세서, 유스 케이스, 사용자 스토리 또는 비    지니스 프로새스)에 대한 분석을 기반으로 한다. 테스트 대상의 내부 구조를 고려하지 않고, 입력과 출력에 집중한다.

* 특징 

  • 테스트 컨디션, 테스트 케이스, 테스트 데이터는 소프트웨어 요구사항, 명세서, 유스케이스, 사용자 스토리와 같은 테스트 베이시스로 부터 도출한다.
  • 테스트 케이스는 요구사항과 요구사항 구현 결과물 간 차이와 편차를 식별하는 데 사용환다.
  • 커버리지는 테스트 베이시스에서 테스트된 항목과 테스트 베이시스에 적용한 기법을 기반으로 측정한다.

- 화이트박스 테스트 기법 : 아키텍처, 세부 설계, 내부 구조, 구조, 테스트 대상의 코드에 대한 분석을 기반으로 한다. 테스트 대상의 내부 구조와 처리에 집중한다.

* 특징

  • 테스트 컨디션, 테스트 케이스, 테스트 데이터는 코드, 소프트웨어 아키텍쳐, 상세 설계 또는 소프트웨어 구조와 관련된 기타 정보를 포함한 테스트 베이시스로부터 도출한다.
  • 커버리지는 선택한 구조내에서 테스트한 항목과 테스트 베이시스에 적용된 기법을 기준응로 측정한다.

- 경험 기반 테스트 기법 : 개발자, 테스터, 사용자의 경험을 활용하여 테스트를 설계, 구현, 실행한다.

* 특징

  • 테스트 컨디션, 테스트 케이스, 테스트 데이터는 테스터, 개발자, 사용자, 기타 이해관계자의 지식과 경험과 같은 테스트 베이이스로 부터 도출한다.
  • 지식과 경험은 소프트웨어의 예상 동작과 사용 환경, 발생 가능성이 있는 결함과 분포 등을 포함한다. 

4.4 경험 기반 테스트 기법( 헷깔림..)

경험 기반 테스트 기법을 적용할 경우 테스트 케이스는 테스터의 기술 역량과 직관 그리고 유사한 애플리케이션과 기술에 대한 경험을 기반으로 도출한다.

 

 - 오류 추정

 테스터의 지식을 기반으로 오류, 결함 및 장애 발생을 예측하는 데 적용하는 기술이며 다음을 포함한다.

  • 애플리케이션의 과거 동작
  • 발생하기 쉬 오류의 유형
  • 다른 애플리케이션에서 발생한 장애 

- 탐색적 테스팅 **************************************

탐색적 테스팅에서는 비공식 테스트를 테스트 실행중에 동적으로 설계, 실행, 기록하고 평가한다.

테스터가 테스트를 수행할 때 테스트 설계를 적극적으로 제어하고 새롭고 더 나은 테스트 설계를 위해 테스트 하는 동안 얻은 정보를 사용하는 비공식적인 테스트 기법.!

 

- 체크리스트 기반 테스팅 ****************************************

체크리스트에 기록된 테스트 컨디션을 커버하기 위해 테스터가 테스트를 설계, 구현, 실행한다. 테스터는 분석의 일환으로 새로운 체크리스트를 작성하거나 기존 체크리스트를 확장할 수 있다. 체크리스트는 경험, 사용자에게 무엇이 중요한지에 대한 지식 또는 소프트웨어가 실패하는 이유와 방법에 대한 이해를 기반으로 작성할 수 있다.

 

구체적인 테스트 케이스가 없는경우, 체크리스트 기반 테스팅은 대략적인 지침과 일관성을 제공할 수 있다.

 

 

 

3.1 정적 테스팅 기초

정적 테스팅은 작업 산출물을 수동으로 검사( 예 : 리뷰) 하거나 코드나 다른 작업 산출물을 도구를 기반으로 평가( 예 : 정적 분석)하는 방법에 의존한다.

 

3.1.1 정적테스팅으로 검토할 수 있는 작업 산출물

 

  • 비즈니스 요구사항, 기능 요구사항, 보안 요구사항과 같은 명세
  • 에픽(epic), 사용자 스토리, 인수 기준
  • 아키텍처 및 설계 명세
  • 코드
  • 테스트 계획, 테스트 케이스(테스트 설계 산출물), 테스트 프로시저, 자동화 테스트 스크립트와 같은 테스트웨어 ( 테스트 구현 산출물)
  • 사용자 가이드
  • 웹 페이지
  • 계약, 프로젝트 계획, 일정, 예산 기획 
  • 형상(configuration) 및 인프라(infrastructure) 셋업
  • 액티비티 다이어그램과 같은 모델 기반 테스팅에 사용되는 모델 

- 정적 테스팅 효과

 

  • 동적 테스트 실행 전에 보다 효율적으로 결함을 발견하고 수정 ( 결함 수정은 디버깅)
  • 동적 테스팅으로 발견이 쉽지 않은 결함 식별
  • 요구사항 불일치, 애매 모호함, 모순, 누락, 부정확, 중복 등을 식별해서 설계나 코딩의 결함 예방
  • 개발 생산성 향상 (예: 설계 개선, 향상된 코드 유지보수성)
  • 개발 비용 및 기간 단축 
  • 테스팅 비용 및 기간 단축
  • 수명주기 후반 또는 출시 후 운영 과정에서 발견되는 장애 감소로 소프트웨어 수명주기 전반에 걸친 총 품질 비용 감소
  • 리뷰에 참여하는 팀원 간의 의사소통 개선

- 결함 유형

  • 요구사항 결함 (예: 불일치, 모호함, 모순, 누락, 부정확, 중복 등)
  • 설계 결함 (예: 비효율적인 알고리즘(algorithm)이나 데이터베이스 구조, 높은 결합도(coupling), 낮은 응집도(cohesion)) 등
  • 코딩 결함 (예: 정의되지 않은 값이 있는 변수, 선언했으나 사용하지 않는 변수, 도달할 수 없는 코드, 중복 코드 등)
    표준과의 차이 (예: 코딩 표준 미준수 등)
  • 잘못된 인터페이스 명세 (예를 들어, 호출하는 시스템과 호출되는 시스템이 서로 다른 측정 단위 사용)
  • 보안 취약점 (예를 들어, 버퍼 오버플로우에 대한 취약성) 
  • 테스트 베이시스 추적성이나 불충분한 커버리지 또는 부정확성 (예를 들어, 특정 인수 조건에 대한 테스트 누락)

3.2 리뷰 프로세스

 

계획

  • 리뷰 목적, 리뷰할 문서가 전체인지 특정 부분인지, 평가할 품질 특성 등을 포함하는 범위의 정의
  • 노력과 기간 추정
  • 리뷰 유형에 따라 결정되는 역할 , 활동, 체크리스트와 같은 리뷰 특성의 식별
  • 리뷰에 참석할 인원을 선정하고 역할 할당
  • 인스펙션과 같은 보다 공식적인 리뷰에 경우에는 시작 및 종료 조건정의
  • 시작 조건이 충족되는지 확인

리뷰착수

  • 작업 산출물과 이슈기록 양식, 체크리스트, 관련된 작업 산출물 등 배포
  • 참가자에게 범위, 목적 ,프로세스,역할 작업산출물을 설명
  • 참가자가 리뷰에 대해 가질수 있는 여러 질문에 답변

개별 리뷰

  • 작업 산출물 전체 혹은 부분 리뷰
  • 잠재 결함, 권고사항, 질문기록

이슈 논의 및 분석

  • 식별한 잠재 결함 전달
  • 잠재 결함 분석 및 담당자 및 상태 할당
  • 품질 특성 평가 및 문서화
  • 종료 조건을 기준으로 리뷰 결과를 평가하여 리뷰 결과 결정

 

수정 및 보고

  • 작업 산출물에 대한 수정을 요하는 잠재 결함에 대한 결함 보고서 작성
  • 리뷰할 작업 산출물에서 발견한 결함 수정(저자가 수정)
  • 결함 정보를 적절한 사람이나 팀과 공유
  • 메트릭 수집
  • 종료 조건의 충족여부 확인
  • 종료 조건이 충족되면 해당 작업 산출물 인수

3.2.2 공식 리뷰에서의 역할과 책임

 

저자 ( 워크쓰루에서 회의를 주도한다) 

 - 리뷰 대상 작업 산출물 작성

 - 리뷰 대상 작업 산출물 결함 수정

 

관리자

 - 리뷰 계획 담당

 - 리뷰 실행 결정

 - 인력, 예산, 시간 할당

 - 진행 비용 대비 효과 모니터링

 - 결과가 만족스럽지 않은 경우 제어 결정 실행

 

촉진자 ( 기술리뷰, 인스펙션에서 회의를 주도한다.)

 - 리뷰 회의 진행 시 효과적 진행 보장

 - 필요한 경우 다양한 관점들에 대해 중재

 - 많은 경우 리뷰 성공의 여부에 결정적인 역할을 하는 사람

 

리뷰 리더

 - 전반적으로 리뷰에 대한 책임을 지는 사람

 - 참여자를 결정하고 언제 어디서 진행할지 결정

 

검토자 (테스터 포함)

 - 해당 주제에 대한 전문가, 프로젝트 참여인원, 작업 산출물에 관심이 있는 이해관계자나 특정 기술 혹은 비지니스 배     경을 가진 사람등

 - 리뷰 대상 작업 산출물의 잠재적 결함 식별

 - 다양한 관점을 대표할 수 있음

 

서기 (대부분의 리뷰에 필수 비공식빼고)

 - 개별 리뷰 활동에서 발견한 잠재 결함 수집

 - 리뷰 회의가 진행되는 경우 새로운 잠재 결함, 쟁점, 결정 사항 기록

 

6.1 테스트 도구 고려 사항

 

테스팅 및 테스트웨어 관리 지원 도구

 - 테스트 관리 도구와 애플리케이션 수명주기 관리 도구

 - 요구사항 관리 도구

 - 결함 관리 도구

 - 형상 관리 도구

 - 지속적인 통합 도구

 

정적 테스팅 지원 도구

 - 정적 분석 도구( 개발자 지원 , 리뷰) 

 

테스트 설계 및 구현 지원 도구

 - 모델 기반 테스팅 도구

 - 테스트 데이터 준비 도구 

 

테스트 실행 및 로깅 지원 도구 

 - 테스트 실행 도구 ( 예 : 리그레션 테스트 수행)

 - 커버리지 도구 ( 예 : 요구사항 커버리지 , 코드 커버리지)

 - 테스트 하네스 

 

성능 측정과 동적 분석 지원 도구

 - 성능 테스팅 도구

 - 동적 분석 도구

 

'자격증 > ISTQB' 카테고리의 다른 글

[ISTQB] CTFL 합격 후기!  (2) 2020.06.30
[Part 6] 테스트 지원 도구  (0) 2020.06.14
[Part 5] 테스트 관리  (0) 2020.06.14
[part 3] 정적 테스팅  (0) 2020.06.11
[Part 2] 소프트웨어 수명주기와 테스팅  (0) 2020.06.08

6.1 테스트 도구 고려 사항

- 테스트 도구는 하나 이상의 테스팅 활동을 지원하는데 사용할 수 있으며, 다음과 같은 종류가 있다

  • 테스팅에 직접 사용하는 도구 (예: 테스트 실행 도구, 테스트 데이터 준비 도구)
  • 요구사항, 테스트 케이스, 테스트 프로세스, 자동 테스트 스크립트, 테스트 결과, 테스트 데이터, 결함을 관리하고 , 테스트 실행 보고와 모니터링을 지원하는 도구
  • 분석과 평가 에 사용하는 도구
  • 테스팅을 지원하는 모든 도구

6.1.1 테스트 도구의 분류

테스트 도구는 정황에 따라 다음과 같은 하나 이상의 목적이 있다.

  • 반복적인 작업이나 수동으로 진행했을 때 상당한 리소스를 필요로 하는 작업(예 : 테스트 실행, 리그레션 테스팅)을 자동화해서 테스트 활동의 효율성을 높인다.
  • 테스트 프로세스 전반에 걸쳐 수동 테스트 활동을 지원해서 테스트 활동의 효율성을 높인다.
  • 테스팅의 일관성과 결함 재현성 향상으로 테스트 활동의 품질을 향상시킨다.
  • 수동으로 실행할 수 없는 활동을 자동화( 예 대규모 성능 테스팅) 한다.
  • 테스팅의 신뢰성을 향상 한다.( 예 대규모 데이터 비교 자동화나 동작 시뮬레이션)

도구는 목적, 가격, 라이선스 모델, 사용된 기술에 따라 분류할 수 있다. 본 실바러스에서는 테스트 도구가 지원하는 활동에 따라 도구를 분류 한다.

 

테스팅 및 테스트웨어 관리 지원 도구 , 정적 테스팅 지원 도구 , 테스트 설계 및 구현 지원 도구, 테스트 실행 및 로깅 지원 도구 , 성능 측정과 동적 분석 지원도구, 특수 목적 테스팅 지원 도구

 

테스팅 및 테스트웨어 관리 지원 도구 - 테스팅 및 테스트웨어 관리를 지원하는 도구는 다음과 같다.

  • 테스트 관리 도구와 애플리케이션 수명 주기 관리 도구 
  • 요구사항 관리 도구
  • 결함 관리 도구
  • 형상 관리 도구
  • 지속적인 통합 도구(개발자 지원)

정적 테스팅 지원 도구

  • 정적 분석 도구

테스트 설계 및 구현 지원 도구 - 테스트 설계와 구현 단계에서 작업 산출물 (예 테스트 케이스, 테스트 프로시저,테스트 데이터)를 유지보수 하는데 도음을 준다.

  • 모델 기반 테스팅 도구
  • 테스트 데이터 준비 도구

테스트 실행 및 로깅 지원 도구

  • 테스트 실행 도구
  • 커버리지 도구 커버리지, 코드 커버리지
  • 테스트 하네스

성능 측정과 동적 분석 지원 도구 - 성능 측정 및 동적 분석 도구는 성능 및 부하 테스트 활동이 수동으로는 효과적으로 수행할 수 없기 때문에 이를 지원하는 데 필수적이다.

  • 성능 테스팅 도구
  • 동적 분석 도구

특수 목적 테스팅 지원도구  - 일반적인 테스트 프로세스를 지원하는 도구 외에 비기능적 특징을 커버하기 위한 보다 특정적인 테스팅을 지원하는 도구도 있다.

 

6.1.2 테스트 자동화의 효과와 리스크

 

테스트 실행 지원도구 잠재적 가치 ( 샘플 A - Q39)

  • 반복적인 수동 업무의 감소로 시간 절약
  • 월등한 일관성과 반복성 제공
  • 보다 객관적인 평가 기준 제공
  • 테스팅 관련 정보에 접근이 쉬움

테스트 지원도구 잠재적 리스크

  • 도구에 대한 비현실적인 기대
  • 초기 도구 도입에 필요한 시간, 비용, 노력에 대한 과소 평가
  • 도구가 생성하는 테스트 작업 산출물을 유지하기 위한 노력의 과소평가
  • 도구에 대한 지나친 의존
  • 테스트 작업 산출물에 대한 버전의 관리 소홀
  • 요구사항 관리도구, 형상 관리 도구, 결함 관리 도구, 다수의 공급 업체에서 제공하는 도구 환경에서 주요 도구 간의 관계와 상호 운용성 이슈를 관리하지 않음
  • 도구 공급 업체의 폐업, 해당 도구의 판매 중단, 해당 도구가 다른 공급 업체에 매각될 수 있음.
  • 지원, 업그레이드, 결함 수정에 대한 공급 업체의 부적절한 대응
  • 오픈소스 프로젝트는 연기되거나 중단될 수 있음.
  • 도구가 새로운 플랫폼이나 기술을 지원하지 않음
  • 도구가 소유권이 명확하지 않음.

테스트 실행 도구 - 테스트 실행 도구는 자동화 테스트 스크립트를 사용해 테스트를 실행.

  • 캡처 기반 테스트 접근법  - 테스터의 수동적인 조작을 녹화해 테스트를 캡처하는 것은 매력적으로 보일 수 있지만 이러한 접근 방식은 테스트 스크립트의 수가 많을경우 적절하지 않다.
  • 데이터 주도 테스트 접근법 - 이 접근법은 테스트 입력값과 기대 결과값을 보통 스프레드시트에 저장하고 더 많은 공통 스크립트를 활용해 해당 테스트 데이터를 읽어 들여 동일한 테스트 스크립트를 매번 다른 데이터로 반복적으로 실행한다.
  • 키워드 주도 테스트 접근법 - 이 접근법은 해야 할 행동을 설명하는 키워드를 공통 스크립트가 처리해 키워드 스크립트를 호출한다. 키워드 스크립트는 연관된 테스트 데이터를 처리한다.

위에서 언급한 접근법은 스크립트 언어 전문가(테스터, 개발자 또는 테스트 자동화 전문가) 가 필요하다.

 

테스트 관리 도구 - 아래와 같은 이유로 다른 도구나 스프레드시트와 연동해야 하는 경우가 많다.

  • 필요한 정보를 생성하기 위해
  • 요구사항 관리 도구에 저장된 요구사항의 추적성을 지속적으로 유지하기 위해
  • 형상 관리 도구에 저장된 테스트 대상 버전 정보와 연결하기 위해

6.2 도구의 효과적인 사용

  • 조직의 강점, 약점 등 성숙도 수준 평가
  • 도구의 지원으로 테스트 프로세스 개선 기회 식별
  • 테스트 대상이 이용하는 기술을 이해해 테스트 대상과 호환 가능한 도구 선택
  • 호환과 통합이 가능한 도구 확인을 위해, 조직에서 이미 사용하고 있는 빌드와 지속적인 통합 도구 이해
  • 명확한 요규사항과 객관적인 기준에 맞는 도구 평가
  • 도구를 일정 기간 무료로 시험해 볼 수있는지 여부
  • 공급자 평가 또는 비 상업적 도구 지원 평가
  • 조직이 요구하는 도구 사용 코칭과 멘토 요구사항 식별
  • 도구를 직접 사용할 사람의 테스팅 역량을 고려한 훈련 수요 확인
  • 다양한 라이센스 모델의 장단점 고려
  • 필요시 구체적인 비즈니스 사례에 근거해 비용 대비 효과 추정

마지막으로 사전검증을 진행 해야 한다. 사전 검증으로 테스트 대상 소프트웨어와 현재 인프라 환경에서 도구가 효과적으로 동작하는지 확인하고 필요한 경우에는 효율적으로 도구를 사용하는데 필요한 요구사항을 식별.

 

6.2.2 도구 도입을 위한 파일럿 프로젝트 - 도구 선택과 사전 검증이 성공적으로 끝난 다음 선택한 도구를 조직에 도입하는 시점은 주로 파일럿 프로젝트 이다. 파일럿 프로젝트의 목적은 다음과 같다 :

  • 깊이 있는 도구 지식의 습득, 장단점 모두 이해
  • 도구를 기존 프로세스와 프랙티스에 어떻게 적용할지 평가하고 무엇을 변경할지 결정
  • 도구와 테스트 작업 산출물의 사용, 관리, 저장, 유지보수에 대한 기준 결정
  • 목표한 가치를 적절한 비용으로 달성할 수 있는지 평가
  • 도구에서 수집하고 보고하기를 희망하는 메트릭을 이해하고 그런 메트릭을 도출하고 보고할 수 있도록 도구를 설정

6.2.3 도구 성공 요인

- 조직에 도구의 평가, 구현, 배포, 지속적인 지원을 위한 성공 요인은 다음과 같다.

  • 조직의 다른 부서에 도구 사용 전파를 점진적으로 진행
  • 도구의 사용법에 맞게 프로세스를 수정하고 개선
  • 도구 사용자에게 교육, 코칭, 멘토링 제공
  • 도구사용에 필요한 지침을 정의
  • 실제 도구 사용에서 얻은 사용법 정보의 수집 방법 구현
  • 도구 사용 현황과 성과를 모니터링
  • 특정 도구 사용자에게 지원 제공
  • 모든 사용자로부터 사용 후 교훈 수집

소프트웨어 개발 수명주기와 도구를 기술적으로, 유기적으로 통합하는게 중요하다. 가령 운영이나 외부 공급업체를 담당하는 조직을 별도로 둔다.

 

'자격증 > ISTQB' 카테고리의 다른 글

[ISTQB] CTFL 합격 후기!  (2) 2020.06.30
정리 1  (0) 2020.06.22
[Part 5] 테스트 관리  (0) 2020.06.14
[part 3] 정적 테스팅  (0) 2020.06.11
[Part 2] 소프트웨어 수명주기와 테스팅  (0) 2020.06.08

+ Recent posts