nseg第11回勉強会
DESCRIPTION
NSEG(長野ソフトウェアエンジニアグループ)勉強会でお話させてもらいましたTRANSCRIPT
NSEG 第11回勉強会
にしざわこういち:@koty
2011/1/15 1 第11回 NSEG 勉強会
ソフトウェアテスト技法の基本的な話
自己紹介
• にしざわこういち(@koty)
• 市内の情報サービス会社勤務
• VB.NET C# ASP.NET
• 最近、GALAXY TABをゲットしました
2011/1/15 2 第11回 NSEG 勉強会
目次
• 良いテストとは
• 良いテストケース書いてますか?
• 読んだ本の紹介
2011/1/15 第11回 NSEG 勉強会 3
良いテストとは
• 「良いテストケース」が
• 「自動化されている」
ふたつ揃って初めて良いテストと言える
自動化の話は良いテスト
ケースが書けていることが
暗に前提となっている
2011/1/15 第11回 NSEG 勉強会 4
良いテストケース書いてますか?
→自信なし、、、
• というかテスト自体嫌い
• 教えてくれる人もいない
• というわけで勉強会で発表するのを理由に、本を読むことにした
2011/1/15 第11回 NSEG 勉強会 5
読んだ本
秋山浩一(@akiyama924)氏著 http://www.amazon.co.jp/dp/4817193603
この本の読書会も開かれているようです→http://atnd.org/events/11596
2011/1/15 第11回 NSEG 勉強会 6
ほとんど本の紹介に終始しますが、秋山氏の了解はいただきました
本の目次
• 第1章 点に注意を向ける
• 第2章 線を意識する
• 第3章 面で逃さない
• 第4章 立体で捉える
• 第5章 時間を網羅する
• 第6章 多次元の品質
だんだん観点の次元が上がっていく
2011/1/15 第11回 NSEG 勉強会 7
このへんを紹介
点に注意を向ける - 3色ボールペンで怪しい箇所の認識
以下の仕様の怪しい点を指摘しなさい(4ページ)
「数値nを入力するとnの階乗を出力する。例えば、5を入力すると、5!=5×4×3×2×1を計算し120を出力する」
赤:客観的に最も重要な箇所
青:客観的にまあ大事な箇所
緑:主観的に怪しいと感じた箇所
2011/1/15 第11回 NSEG 勉強会 8
大きな数字 すごく小さな数字
桁あふれ シフト演算
応答時間 時間制限ある?
事前に分かると良い
自然数?
整数、実数
0 ゼロ
所感)何だか、マインドマップっぽい
点に注意を向ける - 間,対称,類推,外側を考える(8ページ)
• 間 1と2⇒1.5 一般化して実数
• 対称 5⇒-5,1/5 一般化して、負数や実数
• 類推 100⇒0
• 外側 数値の外側⇒文字、全角の数字
「間→対称→類推→外側」という順番が大切。視点を広げていく 2011/1/15 第11回 NSEG 勉強会 9
数値n
例題を考えてみました
不明点や気になる点をできるだけ多く指摘してください
身長tと体重mを入力すると、BMI値(m÷t÷t)を出力する。例えば身長167cm体重65kgと入力すると、22.3と出力する。
2011/1/15 第11回 NSEG 勉強会 10
単位は? 小数? 計算順序
割り算を最後?
標準体重
精度は?
ここまでで所感
• あまり良い例題が思いつかなかったけど、仕様書に対して書き込んでいって、テストすべき項目を洗い出すのに有効
• ここで漏れがあると、組合せテストとかどんなにうまいことやっても良いテストにならない
2011/1/15 第11回 NSEG 勉強会 11
線を意識する ー 同値分割と境界値分析
スーパーでりんごを売っています。販売個数に応じて価格が異なります。どの値をテストすれば良いですか?(20ページ)
– 1~4個:単価200円
– 5~9個:単価170円
– 10個以上:単価160円
2011/1/15 第11回 NSEG 勉強会 12
0 1 2 3 4 5 6 7 8 9 10 11 12
同値クラス 同値クラス 同値クラス 無効同値クラス
同値クラスはどれか一個代表してテストすればOK 簡単そうに思えても、必ず線と丸を描いて視覚的に分かるようにする
境界値 境界値 境界値 境界値 境界値
例題を考えてみました どの年齢をテストすれば良いですか?
以下のように現金を給付します。(年齢は2009年2月1日時点)
『給付対象者1人につき12,000円。ただし、基準日において65歳以上の者及び18歳以下の者については8,000円加算され、20,000円』 (http://ja.wikipedia.org/wiki/%E5%AE%9A%E9%A1%8D%E7%B5%A6%E4%BB%98%E9%87%91)
2011/1/15 第11回 NSEG 勉強会 13
1 2 65 66 67
同値クラス 同値クラス 無効同値クラス
境界値 境界値 境界値
0 -1 64 63 18 19
同値クラス
20 17
境界値 境界値
演習問題2.2(33ページ)
電源投入して249日連続利用すると、機能しなく
なるルーターがあったとする。原因として考えられる問題は何か答えなさい。
参考)249日連続利用で発着信不能に、NTTの「ひかり電話」
http://www.atmarkit.co.jp/news/200808/04/hikari.html
2011/1/15 第11回 NSEG 勉強会 14
起動時から10ミリ秒ごとにカウントアップするSigned Int32 変数のオーバーフローが原因 ⇒数直線を描いていれば、防げた?
所感
本の紹介って難しいですね。。
続きはHEIAND○かAMAZ○Nで。。
2011/1/15 第11回 NSEG 勉強会 15
おしまい
良いテストケースが書けるようになったところで、自動化にとりくみましょう!!(`・ω・´)
2011/1/15 第11回 NSEG 勉強会 16