タナカのプログラミング

プログラミングについて

わかった気でいた用語たちと同値分割と境界値分析

f:id:tanagram18:20190928032810j:plain

こんちは!タナカです!
用語と同地分割と境界値分析について、
ま主にテストに関係することを書いていこうと思います。
最近、概念的なことしか書いてない気がしますが、、、
しょうがないじゃないか!会社入りたてなんだから!!!
最初はテストしまくってDB見てログを見て
エビデンスのキャプチャを取りまくるんです!!きっと多分、、

用語

エラー(謝り)、、、人間のミス!!!
欠陥(バグ、defect)、、、ドキュメントのミス!!!
故障(フォールト)、、、期待した動作がしない、環境による影響
 
JSTQBの用語説明は小難しいので自分なりの解釈で簡単に書きましたw
JSTQBとは日本におけるソフトウェアテスト技術者資格の運営組織。
各国のテスト技術者認定組織が加盟している国際組織(ISTQB)の加盟組織として認定されているため、
JSTQBの認定資格は世界的に通用する国際資格。
です。
 
早速実際のJSTQBの過去問
「故障」と言えるのはA〜Dのどれ?
 
A:間違った入力変数を使用した計算アルゴリズムを使用した。
B:間違ったバージョンのソースコードをビルドしてした。
C:開発者は計算に関する要件のアルゴリズムを誤った解釈をした。
D:ダイアログボックスのオプションを選択した時、製品が異常終了した。
 
 
正解
Aは「欠陥」のこと
故障を原因となる不備なので欠陥
 
Bは「欠陥」のこと
構成管理において間違ったバージョンを追加することは欠陥
 
Cは「エラー」のこと
開発者による人為的な間違いなのでエラー
 
Dは「故障のこと」、つまり正解
テストの間に見かける故障、システムが使えない状態だから
 
 
解けました??
俺は解けませんでした
最初は答えを見てもわかりませんでしたが色んな記事を見て
なんとなくわかりましたw
 
こんなとか 
 
要はいつどんな状況で起きてるかによる気がします。
 
開発手前、アプリの設計書そもそもが間違っていたら欠陥だし
開発中、開発者自身が間違った認識でコードを書いたらエラーだし
アプリを起動させて動かなくなったら故障だし
 
ちょっと「エラー」と「欠陥」が似てる気がするが
こんな感じ。
 
 
もっと用語知りたい人へ
 

同値分割と境界値分析

テストにおいて入力可能なプログラムの組み合わせは膨大で、
それらを全て試すことは不可能である。
そこで効果的な入力をもれなく選び取る方法が考案されている。
その手法の1つが同値分割と境界値分析(ブラックボックステスト
この技法により同じような意味のテストケースになることが避けられ、効率よくテストが実施できる。
 
実際に言葉自体を使うタイミングはなさそうだが、
この考えを意識するかしないかで大分理解度は違うと思う。
 
 
同値分割とは
対象のデータから同じ動作を行う条件の集まりに分類するもの。
システムが正常に作動する値を「有効同値」、エラーとなりうる値を「無効同値」という。
それぞれ代表値を用いてシステムが正常に作動するかエラー作動となるかをテストする。

f:id:tanagram18:20190928021726p:plain

境界値分析とは
仕様条件の境界となる値とそれに近い値に対してテストする技法のこと。
If文等による分岐がしっかりできているのか、
処理の切り替えができているのか確かめる。

f:id:tanagram18:20190928020635p:plain


例としてゴールに入るボールで例えました。

 

ゴールに入るエリアと入らないエリアがあります。
仮にゴールに入るエリア真ん中が0地点だとして
0地点から3m以内がゴールに入ることにしよう

f:id:tanagram18:20190928030712p:plain

 
ここで言えることは
ゴール真ん中から3m以内にボールを蹴れば入る
ゴール真ん中から4m以上にボールを蹴れば入らない
 ということなので
ゴールとしての制御が本当に正しく設定できているかを検証するには
3mにボールを蹴ってゴールに入ることと
4mにボールを蹴ってゴールに入らないことをテストする必要がある。
 
これが境界値分析によるテストです。
 
・・・わかりづらい?w
 
 
ま各々の解釈があると思うので
色んな事象を過程してより理解を深めていただければと思います!
それでは!
 

因みに

初めてはてなブログで目次を使ってみました。

なんだかブロガーのレベルが上がった気がする、、、

よかったら是非!!

 

oyakudachiafi.hatenablog.com