기본 콘텐츠로 건너뛰기

Featured Post

영어회화 빨리 느는 방법 3가지

소프트웨어테스터가 꼭 알아야 할 QA업무 20가지 노하우

  QA가 전문적인 분야로 인식되어 가면서 QA 전문가와 테스터에 대한 개념과 업무에 대한 이론이 더욱 자리 잡아가고 있다. 단순히 테스트만 하는 테스터와 QA 전문가를 분류하는 기준은 명확하게 말할 수 있다. "QA가 무엇인가?" 이 물음에 답할 수 있느냐이다. 소프트웨어 테스트라는 업무를 진행하면서 단순히 테스트만 진행했다면 대답하기 어려울 것이다. 단순히 테스트만 한 테스터가 있다면 아래의 테스팅 노하우를 읽어보는 것을 권하고 싶다. 그리고 한번쯤은 왜라는 의문점을 스스로 가져보길 바란다. 이 포스트를 주의 깊게 읽어보면 테스트 활동을 실천하고 적용해 볼 수 있다. 이후에 경험을 통해 모든 사례를 배울 수 있고 실패하는 사례도 경험의 과정이고 배움이라는 것을 인지해야 한다.


경험을 통해 배운 20가지 최선의 소프트웨어 테스트 업무 노하우

1) 소프트웨어 요구 사항과 설계 단계에서 테스트팀의 권한을 확보해야 한다.
 이 방법으로 테스트팀이 애플리케이션 의존도에 대해 아는 것이 상세한 테스트 커버리지를 달성 시킬 수 있다. 만약 테스트팀이 개발 수명 주기에서 이런 부분을 요청받지 못했다면 관리자나 담당자에게 모든 프로세스 결정이나 관련 회의에 대해 테스트팀을 포함시켜 달라고 요청해야 한다.

2) 사용자 요구 사항 문서에 대한 이의 제기를 생략한다.
 사용자가 어플에 필요하지 않거나 요구하지 않으려고 했던 것을 명시하지는 않는다.

3) 테스트 결과를 철저히 분석해서 인지한다.
 테스트 결과만 보고 지나치면 안 된다. 마지막 테스트 결과는 ‘Pass’ 이거나 ‘Fail’일수 있다. ‘Fail’의 근본적인 원인을 해결하려는 것이 문제의 해결책으로 당신을 안내할 것이다. 테스터가 단순히 결함을 보고하는 것이 아닌 해결책을 제시한다면 인정받을 것이다.

4) 테스트 대상이 되는 소프트웨어의 테스트 범위를 항상 최대로 잡아서 노하우를 터득한다.
 100% 테스트 범위를 충족하는 것은 불가능하지만 항상 근접하게 시도할 수 있다.

5) 최대 테스트 범위를 확실히 하기 위해서 테스트 중인 어플의 비슷한 기능을 모듈화한다.
 각각의 단위 모듈 별로 테스트케이스를 작성한다. 예를 들면 만약 웹사이트 어플을 모듈별로 나눴다고 가정하고 ‘사용자 정보 수락’이라는 하나의 모듈이 있다. 테스트 케이스 작성을 위해 ‘유저 정보’ 화면을 UI 테스트, 보안 테스트, 기능 테스트 등과 같은 항목으로 분류할 수 있다. 테스트 데이터에 대해서 모든 폼 영역 유형과 사이즈, 유효한 값과 부정적인 값을 적용하고 모든 테스트 범위를 충족하는 테스트 케이스를 작성한다.




6) 요구 사항 분석, 설계 단계에서 테스트 케이스를 작성해라.
 이 방법은 당신이 모든 요구 사항을 테스트 가능하게 할 뿐만 아니라 결함을 예방할 수 있다. 테스트를 진행하기에 앞서 테스트 케이스를 준비해 둔다면 더 효율적인 테스트 진행이 가능하다.

7) 테스트 케이스 설계 시 요구 사항에 따른 유효한 조건의 기능을 먼저 작성한다.
 그다음 유효하지 않은 조건의 테스트 케이스를 작성한다. 이렇게 하는 이유는 정상동작을 알아야 비정상동작에 대한 인지가 가능하며 유효한 조건에 만족하지 않는 것은 1 결함으로 판단해야한다.
이 방법으로 테스트 대상의 예상되는 동작과 예상하지 않는 동작에 대해 포함할수 있다.

8) 개발자에게 테스트 케이스를 코딩보다 먼저 인지하게 해라.  더 많은 결함을 발견할 생각에 테스트 케이스를 테스트 버전 어플이 나올 때까지 숨겨 놓고 기다리지 말고 개발자에게 테스트케이스를 리뷰하도록 공유한다. 개발자가 품질 있는 어플을 개발하면 재작업 시간을 절약시킬 것이다.

9) "개발자는 자신의 코드를 테스트하지 않는다."라는 것을 염두해 두자.
 개발된 어플의 기본적인 단위 테스트가 끝나면 개발자는 테스터에게 테스트용 어플을 전달한다. 하지만 당신은 개발자에게 테스트 용 어플을 전달하라고 강요해서는 안된다. 처리할 시간을 줘야 한다. 관리자를 포함한 모든 사람들이 언제 모듈과 업데이트가 언제 테스트를 위해 전달되는지 알고 있으며, 그들은 그에 따라 테스트 시간을 추정 할 것이다. 이것이 애자일 프로젝트(Agile Project) 환경에서의 전형적인 상황이다.

10) 결함을 찾을 수 있다는 긍정적인 생각을 하고 테스트를 진행해라.
 사전에 테스트 대상에 결함이 없을 거라고 생각하고 진행하면 안 된다. 결함을 발견한다는 인지를 하고 테스트를 진행하면, 분명히 검출하기 어려운 결함을 발견하게 될 것이다.

11) 우선순위와 중요도가 높은 테스트 업무를 시간이 다 돼서 진행하지 말자.
 테스트 업무에 높고 낮은 우선순위를 정해서 이에 따라서 테스트 업무를 진행해야 한다. 우선순위를 정하기 위해 리스크와 관련된 것을 분석한다.

12) 엄격한 응답시간이 요구되는 어플들은 성능 테스트를 철저히 진행해라.
 성능 테스트는 많은 어플의 중요한 부분이다. 전수 검사에서 성능 테스트는 요구되는 다량의 데이터가 부족하기 때문에 대부분 생략되는 부분이다. 테스트 대상에 대해 성능 테스트를 할 수 있는 방법을 찾아야 한다. 만약 성능 테스트 데이터를 생성하기 어려운 상황일 경우에는 기본적인 스크립트를 작성하거나 담당 개발자에게 요청하여 테스트를 진행한다.

13) 리그레이션 테스트(Regression Test)를 위해 테스트 케이스를 구분하고 그룹화한다.
 이슈가 발생한 부분에 대해서 분석해서 해당 영역에 관련된 기능과 테스트 케이스를 구분할 수 있다면 재 테스트는 효율적이고 신속하게 진행될 수 있다. 하지만 관련 기능을 구분할 때에는 상황과 프로그램의 복잡도에 따라서 개발자 혹은 프로젝트 관리자와 협업이 필요하며 신중하게 분석해야 한다. 잘못 분석한다면 치명적인 결함을 테스트하지 않을 수 있다.

14) 리그레이션 테스트를 진행할 때는 이전 결함 히스토리와 그래프를 사용한다.
 어떤 모듈에서 결함이 많이 발생했는지 등을 측정해서 기록해야 한다. 그래프는 어플의 많은 결함 발생할 부분을 예측하는데 도움이 될 수 있다.



15) 테스트 업무 진행 중 알게 된 새로운 용어와 개념을 메모해라.
 테스트 시 기록 문서를 열어두어야 한다. 테스트 진행 상황과 소견을 기록한다. 최종 테스트 결과 보고를 준비할 때 이 문서를 참고한다. 이 습관은 모호하지 않은 상세한 테스트 완료 보고서를 제공하는데 도움이 될 것이다.

16) 테스트 중 개발자나 테스터로 인해서 변경된 코드 기반에 대해 기록한다.
 이것은 실제 운영 중인 프로젝트에서 변경된 사항이 실제 사용 중인 프로세스에 영향을 미치지 않게 하기 위한 개발과 테스트 환경의 필수적인 사항이다. 테스트 목적을 위한 모든 변경된 코드 내용을 메모하고 최종 배포할 때 변경되고 삭제된 사항들이 적용된 정보가 사용자에게 전달될 수 있도록 해야 한다.

17) 테스트 환경과 개발자는 독립적으로 유지해라.
 이것은 관련 문서나 Release Note에 빠진 어떤 구성요소를 찾기 위해 필수적인 사항이다. 가끔 개발자들은 시스템이나 어플의 구성요소로 변경하는데 해당 사항에 대한 언급을 잊는경우가 있다. 개발자들이 테스트 환경에 대한 접근을 할수 없다면 뜻하지 않게 구성요소를 잘못 변경하는 일은 없을 것이고 놓쳤던 사항들은 정해진 단계에서 발견될 것이다.

18) 애매모호하지 않은 명확하고 기술적인 결함 보고서를 작성해라.
 결함의 증상만 전달하지 말고 미치는 영향과 가능한 해결책을 제안해야 한다.

19) 소프트웨어에 대해 더 많은 정보를 얻기 위해 개발자와 원활한 의사소통을 유지해라.
 언제든 가능하면 분쟁을 해결하기 위해 직접 대면해서 이야기하고 오해를 피해야 한다. 하지만 요구 사항을 받아 들이거나 분쟁이 해결되었을 경우에 구두로만 하지 말고 이메일 같은 서면으로도 기록을 해두자

20) 테스트 팀은 최선의 테스트 사례와 경험을 다른 팀에게 공유해야 한다.
 테스트 업무는 창의적이고 도전적인 업무라는 것을 잊으면 안 된다. 이 도전적인 과제가 어떻게 전개될지는 본인의 능력과 경험에 따라 달라진다고 생각한다.

댓글

댓글 쓰기

이 블로그의 인기 게시물

스티브 잡스 명언 영어 세상에서 가장 감명 깊은 어록 25가지

"Sometimes Life is going to hit you in the head with a brick. Don't lose faith." "때때로 인생은 당신을 심하게 내두를 것이다. 스스로의 믿음을 잃지 마라."   대부분의 사람들은 적당히 즐기고, 적당히 게으르고, 어렵고 힘든 것은 피하고 싶어 한다. 그들이 무지함과 가난에서 벗어나지 못한 것이 그 이유이다. 반대로 큰 성공을 이룬 후에도 스티브잡스는 "내일 죽는다면"이라는 생각으로 극단적 이리만큼 스스로를 동기부여했다. 무엇인가 이룰 수 있는 사람은 그럴만한 자세가 있다.   스티브 잡스가 남긴 어록 중에 사람들이 가장 감명받은 25가지를 선별해 한글로 번역했다. 스티브 잡스 명언 영어  1  "The people who are crazy enough to think they can change the world are the ones who do." 세상을 바꿀수 있다고 생각하는 제대로 정신나간 사람들이 세상을 변화시킨다.  2  "I've always been attracted to the more revolutionary changes. I don't know why. Because they're harder. They're much more stressful emotionally. And you usually go through a period where everybody tells you that you’ve completely failed." 나는 항상 혁신적인 변화를 쫓아왔다. 그건 더 어려웠기 때문인지 모른다. 혁신은 감정적으로 굉장히 압박이 심하다. 그리고 모든사람들이 당신에게 완벽히 실패했다고 이야기 하는 시기를 이겨내야 한다.  3  "It's really hard to design products b

영어숙어 100가지 필수 암기해야 하는 표현 모음

 영어 숙어(idiom)란 두 개 이상의 단어로 이루어져 사용되면서 한 단어처럼 해석되는 단어이다. 예로 'get in'은 두 개의 단어가 결합되어 '타다, 들어가다'라는 의미를 지니며 한단어처럼 사용한다. 관용구의 한 종류이며 많이 사용하여 익숙해져서 생긴 말들을 말한다.  원어민들의 영어를 접하다 보면 알아듣기 힘들거나 잘못 이해하는 경우가 많이 있는데 이런 경우는 대게 숙어와 같은 관용구가 들어간 문장을 접했을 때이다. 영어 공부를 할 때에는 단어만 외우는 것보다 문장이나 숙어를 암기하는 것이 중요하다.  이 글에서는 필수 암기해야하는 영어 숙어 100가지 를 모아서 정리했으며, 더 많은 영어 숙어는 아래 글에서 외우기 쉽게 정리했다. 영어숙어 100가지 전치사+명사 형태의 숙어로 명사나 문장 뒤에서 꾸며주는 역할을 한다. ex) I recommend that the work (should) be done at once . 나는 그 일을 즉시 처리하도록 권한다. at once - 즉시 at the end of the month - 월 말에 at a surprisingly fast pace - 놀랄만한 속도로 at first - 처음에 at least - 최소한, 적어도 at random - 임의로, 무작위로 at all times - 항상 in print - 발간되고 있는 beyond control - 통제 불능의 out of control - 통제 불능의 in effect - 유효한, 효력이 있는 in advance - 사전에, 미리 ahead of time - 사전에, 미리 in a row - 줄줄이, 연달아 with care - ~조심스럽게 with high unemployment rates - ~높은 실업 상황 하에서 with a few exceptions - ~을 제외하고 명사+전치사 형태의 숙어로 뒤에 명사나 동명사가 온다. ex) Staff were asked to

영어회화 빨리 느는 방법 3가지

영어는 공부가 아니고 운동 이다. 영어회화 빨리 늘고 싶다면 머리로만 하지 말고 귀와 입, 몸으로 해야 한다.  이전 회사에서 모토로라 출신의 팀장이 했던 말이 생각난다. "내가 영어 하려고 한 달에 몇십만 원씩 주면서 강남에 1:1 영어도 해보고, 전화 영어도 해보고, 미국 출장도 오래 있고, 별짓 다해봤는데 영어는 안되더라 . 영어는 미국에 살아야 돼."  지금도 누군가에게는 영어는 별짓 다해도 안 되는 것이겠지만, 누군가에게는 미국, 영국 등 외국인 친구들과 즐겁게 대화하는 언어이고 업무를 처리하기도 하는 수단일 것이다. 당신도 반드시 할 수 있다. 그러니 영어를 별짓 다해도 안되는 걸로 단정 짓지 말고, 우리의 뇌를 멈추게 하지 말자. 지금까지 받은 영어교육은 잘못됐다.  한국인이 일반적으로 영어 교육을 받는 기간은 약 15년이다. 하지만 정작 영어 몇 마디 조차 못하는 게 현실이다. 단면적으로 이 부분만 봐도 과연 실용적인 교육인지 의구심이 들 수밖에 없다. 지금까지도 수십 년 동안 많은 사람들이 여전히 명사, 동사, 5형식 문장 등과 같은 문법 위주의 공부와 독해 위주의 잘못된 공부 방식만 고수하고 있다. 그렇게 공부하다가 하루에 10분 전화영어를 하면 원어민처럼 영어를 할 수 있다는 말에 속아 피 같은 돈을 쓰다가 결국 중도에 포기하는 게 일반적인 사람들의 모습이다. 물론 이런 공부 방식이 전혀 쓸모없는 것은 아니다. 하지만 영어회화에서는 도움이 안 된다는 것이다. 외국인과 대화를 한다거나 미국 드라마를 본다면 철저하게 느낄 것이다. 영어에 투입하는 시간 대부분을 읽고, 듣는 식의 영어공부를 했는데, 입으로 내뱉으라고 하면 안되는 게 당연하다. 또한, 원어민들이 실제로 발음하는 대로 공부하지 않았는데 들리지 않는 것도 당연하다.  장담하건대, 지금까지 했던 영어공부 방법으로는 영어회화를 잘할 수 없다. 돈을 들이지 않아도 되고, 혼자서도 할 수 있는 원초적인 영어회화 빨리 느는 방법 을 알아보자. 영어는 공