カバレッジ?ステップ数?知らなきゃ恥ずかしい製造/単体テストの基本のき
この記事を押した方。
安心してください、僕も今の会社の上司に言われました。
ーーーー
俺 「カバレッジってなんすか?」
上司「え?知らないの・・・?」
俺「・・っえ・・」
上司「とりあえずググってみてよ」(きっとググレカスみたいなニュアンス)
ーーーー
俺「ステップ数ってなんすか?」
上司「っえ・・マジで?とりあえずググれよ」
俺「実行行って言うんですねこれ、これで数えるのかー・・・」
ーー俺のその言葉に上司に戦慄がはしったのは見てすぐにわかった。
上司「え、今まで何してたの?」
今回のキーワード
取り合えず、今回取り扱うであろう単語とか
製造・コーディング
さてはて、ここは説明するほどでも無いような気がします。
むしろ説明できるほどスキル無い気がgagaga
とりあえず、要件定義書などお客様の要件を基本設計、詳細設計として起こし
コードにする。ロジックにする。おわり。
実行行、ステップ数
例のやつ。
さて、実行行は名前どおり。
実際にコードが実行されている行の事になります。
空白行とコメント行はカウントされません。
上のソースを例にするなら行番:1,8,11,16,17,18,19になります。
ここで言うステップ数は、この実行行の総数になります。例でいうならば7ステップってところですかね。
プロジェクトの管理に用いられることが多いです。
というか当たり前のレベル?それを知らなかった俺は略
このステップ数は既存のソースに対して修正を加えた場合や、新規作成したクラス等のボリューム感がわかるので工数管理と予定(見積もり)出すのにいい仕事しますね。
単体テスト
ユニットテストってやーつー。
皆大好きJunitとかmockitoとかがいっぱい活躍するやつですね。
単体テストはいわゆるソースベース(単体)でテストをする工程です。
ロジック視点で行うテストなのですかね、わかりません。
カバレッジとは?
カバレッジは単体テストとセットで来る単語みたいです。
マ●クのポテトフライみたいですね。お腹すいた。
カバレッジは網羅率と簡単に言えるらしく。wikiでは下記のような書き方をされてます。
プログラムのソースコードがテストされた割合を意味する。この場合のテストはコードを見ながら行うもので、ホワイトボックステストに分類される。
カバレッジの中でも「C0」、「C1」というのがあり
これらを指針として単体テストをするらしい。
マジで知らなかった。いや知ってたかもしれないけど知らなかった。
基本的には「C0」、「C1」を理解できれば大丈夫。
内容については他のタブを開いてぐぐってみてください。
単体テストと結合テストって何が違うの?
いやーわからなくなってきましたよ。私は。
単体テストは言葉の通り、単体。ソースコード一つをテストするもの。
主にロジック周り、値だとか。画像だとか。
これによって単体テスト仕様書とかは
- A == B の場合、値AがCに更新されること
- A != B の場合、値AがBに更新されること
こんな書き方されている場合が多いと思います。*1
結合テストはまさしく結合、他のものを連携した一連の動きをテストするようなもの。
上記の成果物をテストする場合は,仕様書はおそらくこんな感じ *2
- B画面を起動する、ボタンAを押下する。値AがC値で更新されていること
- A画面を起動する、ボタンBを押下する。値AがB値で更新されていること
伝わりますかね?
結合テストは一連の流れをテストしているように感じてくれていれば
きっと大丈夫です。
おわりに
テスト工程って一番めんどくさいと思う部分があると思いますが
自分の作ったものを動かすのはやっぱり気持ちいいですね。
その反面、てめぇが作ったもんなんだから仕様とか把握しなきゃいけない、当たり前のものは多いと思いますが。
さてま。いくらか参考になれば・・!
それでは!ちゃお!