BDKK SI Engineer

新人プログラマー必見!?単体テスト仕様書を作成する時の注意点


“新人プログラマー必見!?単体テスト仕様書を作成する時の注意点”

参考したサイト it業界への就職や転職サイト

・単体テスト仕様書の作成方法

上のリンクに入ってみたら、同じような内容の原本を確認ができます。

そして、イメージまで、記載されるのは無理なので、

リンクを通して、確認しましょう。

it業界への就職や転職サイト中の絵を確認してください。 (絵のようにマネできるところがあれば、ご活用ください)

文書ばかりだと、わかりづらいと思うので、サンプル仕様書を見ながら、読み進めて行ってください。

正直ですね、現場によって、仕様書のフォーマットも違うし、項目も微妙に違うかもしれません;

ただ、新しくイチから作る必要はなく、既存のフォーマットが必ずあるはずなので、その仕様書に合わせて、作成していってください。

フォーマットは違っても、必須項目には、ほとんど差がなく、検証ないよう、確認項目、想定結果、実施手順、合否判定、エビデンスNoなどは必ず入れておきたい項目化なと。。

でも、単体テスト仕様書を作成するにあたり、注意点をいくつかお伝えしますね。

위에 링크에 들어가보면, 같은 내용인 원본을 확인할 수 있습니다.
그리고, 이미지까지는 기재시키기 어려워 링크를 통해서 확인해보죠.

문서만이기에, 알기어렵다고 생각되기때문에, 샘플 사양서을 보면서, 읽으면서 진행해 가주세요.

솔직히, 현장에 의해서, 사양서의 포맷도 다르고, 항목도 미묘하게 다를지도 모릅니다.

단지 새롭게 1부터 만들 필요는 없고, 기존의 포맷이 반드시 있을수 있기때문에, 그 사양서에 맞춰, 작성해 가주세요.

포맷은 달라도, 필수항목은 대부분 차이가 없습니다. 검증내용, 확인항목, 상정결과, 실시순서, 합불판정, 에비던스넘버 등은 필수로 넣어두고싶은 항목이라고 생각합니다.

하지만, 단체테스트사양서를 작성할 때에, 주의점을 몇가지를 전달해드릴게요.


―にあたる:とき와 같은 뜻;할 때;-함에 있어서
合否:	합격과 불합격;ごうひ

### ・単体テスト仕様書の作成方法

1.単体テストの目的を知ろう

これから、検証を行うプログラム(機能)は、一体どんな役割をするのか、今一度考えてみましょう。

目的を知ることで、どんなことを検証しなければならないかわかってくるので、仕様書作成前に考えておきましょう!

何を確認できれば、テスト完了なのか?ということです。

例えば、出力された、CSVハァイルのデータをみて、○○に変換されていたらおしまいなのか?

想定しいた、データ件数がテキストファイルに出力されていれば、それでオッケーなのか?

作ったシステムでその処理を動かして、ステータスが正常終了であると確認出来たら、それでオッケーなのか?

など、一つ一つのテスト項目が、何をもって合格なのか、知ることは大切です。

さて、どんなことを検証しなければならないのかわかってきたら、具体的にテストケースを作成します。

1. 단일테스트의 목적을 알아보자

이제부터 검증을 시행하는 프로그램 (기능)은, 도대체 어떤 역할을 하는 것인가, 지금 한번 생각해봅시다.
목적을 알면, 어떤것을 검증을 꼭 해야하는지 알고 있기 때문에, 사양서 작성전에 생각해 봅시다.

무엇을 확인가능하면 테스트완료일까 라는 것이다.

예를들면, 출력시킨, csv화일을 보고, ○○에 변환시키면 끝나는 것인가?
상정해있던, 데이터 건수가 테스트화일에 출력시키고 있으면, 그것으로 오케이일까?
만든 시스템에서 그 처리을 움직이고, 상태가 정상종료라고 확인가능하면 그것으로 오케이 인것인가?
등, 하나하나의 테스트 항목이 뭘두고 합격인지, 아는 것이 중요합니다.
정작, 어떤 것을 검증해야 하는 것인지 알고 오면, 구체적인 테스트 케이스를 작성합니다.

さて:정작, 막상

2.テストパターンを洗い出して、表にしてみよう!

さて、実際に具体的な検証内容を洗いだしてみましょう。

ここはちょっと、仲ちゃんから簡単に説明してみたいと思いますが、

例えば、社長、部長、課長、社員の内緒の手当金額を算出するには、内緒のランクによって振り分けられます。

内緒のランク:社長⇒A、部長・課長⇒、社員⇒C

内緒の手当の金額は、ランクごとに、

A:50,000円、B:30,000円、C:10,000円とします

結果としては、社長の手当ては、50,000円、部長と課長の手当ては30,000円に、社員の手当は10,000円にセットされてたらオッケーなわけですよね?

2. 테스트패턴을 낱낱히 밝혀서, 표로 해서 보자!

그래서, 실제에 구체적인 검증내용을 밝혀내 보죠.
여기는 쫌, 나가상으로부터 간단하게 설명해 보고싶다라고 생각이 들지만,
예를 들면, 사장, 부장, 과장, 사원의 내막인 수당금액을 산출하기에는 내막의 랭크에 의해서 배분합니다.

내막의 랭크 : 사장 > A, 부장, 과장 > B, 사원 > C
내막의 수당의 금액은 랭크마다

A:5만엔, B:3만엔, C:1만엔이라고 합니다.

결과로써는, 사장의 수당은 5만엔, 부장과 과장의 수당은 3만엔, 사원의 수당은 1만엔에 세팅되면 오케이인거에요?

振り分ける : 할당하다;배분하다;나누다;가르다
内緒 : 내막;ないしょ
さて:그래서(위의 글을가볍게 밟으면서)
洗い出して : 철저히 밝혀내다;낱낱히

となると、テストケースは以下の通りです。

テストケース1:ランクAの従業員は(社長)の手当金額が、50,000円になっていること

テストケース2:ランクBの従業員は(部長・課長)の手当額が、30,000円になっていること

テストケース3:ランクCの従業員(社員)の手当額が、10,000円になっていること

テストケース4:ランクなしもしくは、異常値(DとかEとかw)が設定されている場合は、手当額が0であること

テストケース4では、たまに例外が起きる場合があるので、これを想定したテストも必要です。

システム開発では、ありえない!と思っていることが、ある日起きたりしますwなんでこうなった!?って;

Dランクの場合は、手当0ですけど、もし10,000とか金額が設定されていたら、プログラムのミスなので、そういったミスを事前に見つけるという目的もあるんですよ

ですから、そういった予期せぬ事態があっても、結果が正しくなるよう、単体テストでは、これらすべてを確認しなければなりません。

그렇게 되면 테스트케이스는 이하 대로이다.
테스트케이스1 : 랭크A의 종업원은 (사장)의 수당 금액이 5만엔이 되어있는 것
테스트케이스2 : 랭크B의 종업원은 (부장, 과장)의 수당금액이 3만엔이 되어 있는 것
테스트케이스3 : 랭크C의 종업원은 (사원)수당액이 1만엔이 되어있는 것
테스트케이스4 : 랭크 없거나 혹은 이상치(D인가E인가w)가 설정시켜있는 경우는 수당액이 0이다.
테스트케이스4 : 종종 예외가 일어나는 경우도 있기 때문에, 이것을 상정한 테스트도 필요합니다. 
시스템개발에서는 있을수없어!라고 생각하고 있지만, 어느날 일어나거나 합니다. w왜 이렇게 됬어;
D랭크의 경우는, 수당0이지만, 혹시 1만인가 금액을 설정시키면, 프로그램의 미스이기 떄문에 그러한 미스를 사전에 발견한다라는 목적도 있습니다.

그래서, 그리 말한 예기치 못한 사태가 있어도 결과가 정확히 나오도록 단일 테스트에서 모든것을 확인해야만한다.

となると : 그렇게 되면
予期せぬ : 예기치 못한

3.レビューの前に、誰かにチェックしてもらおう!

全てのテストケースを洗い出し、単体テスト仕様書に反映させたら、リーダーや設計者の方とレビューを行います。

その前に、お近くに仕事が出来て、話しやすそうな優しい人がいたら、こっそり昼休みとかに、聞いてみてもいいですよ。

何かしら、先輩から、仕様書の書き方から、テストケースに漏れがないかなど、チェックしてくれるはずです。

恥ずかしいかもしれませんが、不安なままレビューするよりはずっといいです。

新人の頃は、誰かに話しかけるのも戸惑ったりしますよね。。

仲ちゃんは、なかなか自分から話しかけるようなタイプではなく、いつも不安ばかりで、億劫な性格だったもんですから、隣の先輩に聞くことさえも、ためらっていました; 何も進まないのにね、

3.레뷰전에, 누군가에게 체크해받아보자

모든 테스트케이스을 낱낱히 살펴보자 단일테스트사양서에 반영시킨다면, 리더랑 설계자의 분과 레뷰를 시행합니다.

그 전에, 근처일을 할 수 있어서, 말하기 쉬울것 같은 상냥한 사람이 있다면, 몰래, 점심시간등에 물어봐보는 것도 좋다.  

뭘까, 선배로부터 사양서의 쓰는법부터, 테스트케이스에 누설이 아닐까등, 체크해서 해줄 거에요.

부끄러울수도 있지만, 불안한채로 레뷰를 하는것보다는 훨씬 좋습니다.

신입일 때, 누군가에게 말을 거는 것도 망설이거나 합니다.

나카상은 종종 자신으로부터 말을 걸수 있는 타입이 아니고, 언제나 불안하고, 마음내키지 않아기떄문에, 옆 선배에게 물어보는 것 망설이고 있었습니다.

무엇도 진전되지 않았는데,

戸惑う = 말설이다;당황하다;とまどう
億劫 = おっくう;귀찮다
ためらう = 주저하다;망설이다

けど、わからないものはわからないんです!不安なものは不安なんです。

恥をかいてもいい!と割り切れたらいいんですが、これだけは最初1歩。。あなたの勇気だけです。今このような状態な場合、ぜひ仲ちゃんにコメントしてください。お悩み、不安、思う存分ぶちまけてください。

他に、単体テスト仕様性の書き方なども、アドバイス出来たら親切、丁寧をモットーにさせていただきます!それではまたです。

그래도, 모르는 것은 모르는것입니다. 불안한 것도 불안한 것입니다.

수치을 사서 좋다.라고 속시원하면 좋을텐데, 이것만은 최초 한걸음.. 당신의 용기뿐입니다.
오늘 이같이 상태의 경우, 꼭 나카상에게 코멘트해주세요, 고민, 불안, 마음껏 채찍질시켜주세요.

그외에, 단일테스트 사양서의 쓰는법등도, 조언이 가능하면 친절히, 정중히을 알려드리겠습니다. 그럼 또

思う存分 = 마음껏; 실컷
割り切る = 납득이 잘되다, 우수리 없이 떨어지다, 속쉬원해지다

이번 글은 제목을 보고 기존에 아는 내용과 차별화된 내용인줄 알았으나, 복습하는 내용이였습니다.


Comments

Content