현장에서 테스트라고 하면
단체테스트
결합테스트
통합테스트
여러 종류가 있다.
테스트의 종류와 구체적으로 진행하는 방법을 해설할 것이다.
시스템 개발의 전체적 흐름(워터폴).
크게 7단계로 나눠진다.
워터폴이 무엇인지에 대해서는 과거 영상을 참조하라.
코딩이 끝나고 행해지는 3가지 테스트를 볼 것이다.
차이점, 무엇을 하는가를 해설.
보족으로써,
補足 ほそく보족, 부족분을 채움
상세설계에서 만든 것을 단체테스트에서 테스트함으로써 담보한다.
기본설계에서 만든 것을 결합테스트에서 테스트하고,
요건정의의 내용을 통합테스트에서 테스트한다.
V자형의 개발수법이라고도 이야기한다.
「ぶっちゃける」という意味。 ホンネの話をする際の前置きに使う。
‘ぶちあける’의 구어적 표현. ぶっちゃけた話、実は… 까놓고 얘기해서, 실은….
각 테스트 페이즈가 무엇을 테스트한다는 건, 신경쓰지 않아도 된다.
즉,단체테스트를 어느 범위까지 한다고 하냐고 이야기하자면, 상세 설계의 범위를 테스트한다.
결합테스트는 기본설계의 내용을 테스트한다라는 개념이지만 신경쓰지 마라.
단지 단체테스트, 결합테스트, 통합테스트가 어떤 것을 테스트하는지만 잘 알아둬야 한다.
단체테스트는 기능 단위의 테스트이다.
결합테스트는 같은 기능을 결합해서 하는 테스트이다.
同士 どうし 같은 동아리·종류
통합테스트는 시스템 전체를 테스트한다.
통합테스트는 시스템테스트 또는 시나리오테스트라고도 불린다.
테스트의 정의, 역할은 대략적으로 해설하겠지만, 현장마다 정의가 바뀔 수 있으므로 이점을 유의해라.
다른 방식으로 진행될 수도 있다. 명확한 단체테스트와 통합테스트 등 경계선이 어디인가라는 이야기는 전혀 생각하지 않아도 괜찮다.
ざっくり대략적인 모양, 대략적으로, 대충
境界線 きょうかいせん 경계선
단체테스트를 하는 방법
단체테스트는 기능 단위의 테스트이다.
기능 단위가 어느 것이냐고 하면
함수 단위이다.
関数 かんすう
로그인 화면에서 로그인 버튼이 잘 작동하는 가 등의 화면의 파트 단위 등
함수는 아니지만, 화면의 파트이다.
되도록이면 작은 단위로 테스트를 진행하자.
넷플릭스의 이 화면에서 어떤 단체테스트를 해야하는가?
되도록이면 작은 단위로 테스트를 해야 한다.
로그인 기능이 잘 작동하는가? 세세한 이야기이지만, 패스워드 틀렸을 때, 상정한 대로 나오는지?
細かい こまかい 자상한 모양, 세세한 모양
링크로 이동한다는 메시지창이라던가 링크가 제대로 눌리는가?
단체테스트사양서라는 엑셀에 정리하게 된다.
단체테스트 사양서.
로그인폼
넷플릭스의 로그인 화면에서 테스트를 진행했었다.
첫번째 테스트는 올바른 메일주소와 패스워드 입력을 하고 로그인 버튼을 클릭했을 때,
로그인 성공해서, 마이페이지로 전이.
遷移 = 転移 せんい 전이
결과적으로 O,X 인지 테스트.
두번째 테스트는 틀린 메일주소와 패스워드 입력을 하고 로그인 버튼을 클릭했을 때,
에러메시지가 표시됨.
세번째 테스트는 이용계약 링크를 클릭했들 대, 이용계약 페이지가 열리는가, 또는 전이하는지 등의 메시지.
단체테스트 사양서는 멤버쉽이 있는 사람만 다운받을 수 있게 해놨다.
결합테스트를 하는 방법
단체테스트가 끝나면, 결합테스트를 행한다.
결합테스트라는 것은 기능의 종류들을 합쳐서 테스트 하는 것이다.
어떤 것인가 상세하게 알아 볼 것이다.
결합테스트를 해설하기 전에, 넷플릭스 시스템이 어떻게 돌아가는지 파악해보자.
관리자가 동영상 전송 시스템을 통해 동영상을 업로드해 모두에게 공유한다.
動画配信システム 동영상 전송 시스템
다음에 일반 유저들이 넷플릭스 시스템에 신규가입.
카드를 등록하면 카드결제시스템으로 월액과금 결제를 처리한다.
月額課金 げつがくかきん 월액과금
회원이 되면 이 시스템에 로그인을 해서, 관리자가 공유한 영상을 보는 것이 가능하다.
전체적으로 이런 흐름이 된다.
전에 로그인 화면에서는 로그인 화면에 대해 단체테스트를 행했다.
로그인화면이 잘 움직였는가 화면을 테스트 했다.
입회 화면도 잘 동작하는지 테스트를 한다.
관리자의 동영상 공개 기능도 잘 동작하는지 단체 테스트를 한다.
동영상을 보는 것도 단체 테스트를 한다.
기능 단위로 상세하게 테스트를 한다.
각각 기능별로 테스트를 마쳤다. 단체테스트를 완료했을 때, 다음은 결합테스트를 한다.
결합테스트는 기능의 종류들을 합쳐서 한줄기로 잘 동작하는지 테스트를 하는 것이다.
관리자가 공유한 해당 영상을 사용자가 보는 것이 가능한지, 테스트를 한다.
一本調子 いっぽんぢょうし단순하고 변화가 없음, 단조(單調).
一本の筋 한줄기
다른 결합 테스트의 케이스를 보도록 하자.
유저가 입회하는 이 기능, 여기서 신용카드 번호 입력을 한다.
하고나면 외부의 결제시스템에 대해서 카드번호가 맞는지 조회를 해서 맞으면 월액과금이 시작된다.
입회기능과 카드결제시스템(외부)와 결합이 잘 되는가.
여기까지가 단체테스트와 결합테스트의 설명이다.
통합테스트를 하는 방법에 대해
최종체크로써 행하는 테스트.
테스트 내용은 크게 2가지가 있다.
기능 테스트와 비기능 테스트이다.
기능 테스트는 정식환경에서 정식데이터로 테스트를 진행하는 것이다.
本番(ほんばん) 정식, 실전
전체를 시나리오대로 테스트를 한다.
시나리오란 무엇인가?
유저가 동영상을 보게되는 시나리오를 생각해보겠다.
우선 관리자가 동영상을 등록한다.
그리고 유저는 입회해서 로그인해서 동영상을 본다.
시나리오의 흐름대로 올바른 순서대로 각각 진행해본다.
통합 테스트에서 시나리오 테스트이다.
아까의 결합테스트에서는 2개의 기능을 결합해서 테스트를 했다.
的を絞る / 마토오시보루 / 과녁을 좁히다
여기의 통합테스트에서는 전체를 횡단해서 테스트한다.
다음은 유저가 탈퇴(퇴회)하는 시나리오를 테스트 해볼 것이다.
유저가 탈퇴 화면에 가서 탈퇴 버튼을 누른다.
그러면 로그인이 되지 않는다.
로그인에 엑세스를 하게 되면 로그인이 되지 않음.
영상을 보려면 영상이 볼 수 없음.
다음 달에는 카드 결제가 발생하지 않을 것.
유저가 탈퇴했을 시의 시나리오이다.
시나리오를 여러 개 만들어서 시나리오가 통하게 되도록 테스트 함.
여기까지가 기능 테스트였다.
비기능테스트
요건정의서에서 정의한 요건을 만족시키는지 테스트한다.
満たす(みたす) 만족시키다.
요건정의에서는 기능 이외의 요건도 정의한다.
성능에 관해서는 화면이 2초 이내에 변경이 되는가 등 정의한 성능만큼 동작하는가를 테스트함.
変える(かえる)
100인이라던가 10,000인이 동시에 엑세스해도 잘 가동하는지 부하를 시험하는 부하 시험을 한다.
감시 시험은 요건정의로 5초에 1번 자동감시 해서 살아있는지 아닌지 요건이 들어있으면 감시를 한다던가,
그래서 시스템이 멈추면 관리자에게 알람이 가는가 실행한다.
요건 정의에서 정한 기능 의외에도 테스트를 하는 테스트, 비기능 테스트도 통합 테스트 페이즈에서 테스트 한다.
定める(さだめる) 정하다.
복습
테스트 페이즈는 워터폴의 7개의 페이즈 중에서 나중에 하는 페이즈이다.
각각 단체테스트, 결합테스트, 통합테스트 3개 테스트이다.
단체테스트 - 기능단위 테스트
결합테스트 - 기능끼리 합쳐서 테스트
통합테스트 - 시스템테스트, 시나리오 테스트.
기본적으로 위와 같은 개념이지만 현장에 따라 달라질 수 있음.
단위테스트는 기능단위 테스트로, 되도록이면 작은 단위로 테스트한다.
함수 단위
화면의 파트 단위 등
함수 단위의 테스트는 JUnit던가 php Unit 이라던가 자동 테스트를 사용해서 테스트를 하기도 한다.
단체 테스트 사양서 등 위의 양식을 사용한다.
결합테스트는 단체테스트가 끝난 후 하는 테스트.
관리자가 영상을 올리는 행위와 유저가 영상을 보는 행위 등이 잘 동작하는지를 행함.
마지막으로 통합테스트를 하는 방법이다.
최종 체크를 하는 것이다.
두 개의 테스트 항목이 있다.
기능 테스트
시나리오 기준으로 테스트를 진행한다.
비기능 테스트
요건정의에서 정했던 내용으로 시스템이 그대로 움직이는가 성능과 함수를 테스트함.
[SEOMARU]データベース設計入門#2 正規化|無駄のないテーブル設計とは?【日本一わかりやすくDB正規化を解説します】정규화 (0) | 2023.11.29 |
---|---|
[SEOMARU] データベース設計入門#1 リレーションとER図 데이터베이스 입문 (2) | 2023.11.21 |
単体・結合・統合テストの違いを解説(단체, 결합, 통합테스트의 차이점?) (0) | 2023.11.17 |
SQL 인젝션 SQL이란?インジェクション【サイバー攻撃&対策】 (0) | 2023.03.25 |
트랜잭션 관리란?(トランザクション管理とは?) (0) | 2023.03.18 |
댓글 영역