nseg第11回勉強会

16
NSEG 第11回勉強会 にしざわこういち:@koty 2011/1/15 1 11NSEG 勉強会 ソフトウェアテスト技法の基本的な話

Upload: ko-ty

Post on 24-Jun-2015

955 views

Category:

Technology


3 download

DESCRIPTION

NSEG(長野ソフトウェアエンジニアグループ)勉強会でお話させてもらいました

TRANSCRIPT

Page 1: NSEG第11回勉強会

NSEG 第11回勉強会

にしざわこういち:@koty

2011/1/15 1 第11回 NSEG 勉強会

ソフトウェアテスト技法の基本的な話

Page 2: NSEG第11回勉強会

自己紹介

• にしざわこういち(@koty)

• 市内の情報サービス会社勤務

• VB.NET C# ASP.NET

• 最近、GALAXY TABをゲットしました

2011/1/15 2 第11回 NSEG 勉強会

Page 3: NSEG第11回勉強会

目次

• 良いテストとは

• 良いテストケース書いてますか?

• 読んだ本の紹介

2011/1/15 第11回 NSEG 勉強会 3

Page 4: NSEG第11回勉強会

良いテストとは

• 「良いテストケース」が

• 「自動化されている」

ふたつ揃って初めて良いテストと言える

自動化の話は良いテスト

ケースが書けていることが

暗に前提となっている

2011/1/15 第11回 NSEG 勉強会 4

Page 5: NSEG第11回勉強会

良いテストケース書いてますか?

→自信なし、、、

• というかテスト自体嫌い

• 教えてくれる人もいない

• というわけで勉強会で発表するのを理由に、本を読むことにした

2011/1/15 第11回 NSEG 勉強会 5

Page 6: NSEG第11回勉強会

読んだ本

秋山浩一(@akiyama924)氏著 http://www.amazon.co.jp/dp/4817193603

この本の読書会も開かれているようです→http://atnd.org/events/11596

2011/1/15 第11回 NSEG 勉強会 6

ほとんど本の紹介に終始しますが、秋山氏の了解はいただきました

Page 7: NSEG第11回勉強会

本の目次

• 第1章 点に注意を向ける

• 第2章 線を意識する

• 第3章 面で逃さない

• 第4章 立体で捉える

• 第5章 時間を網羅する

• 第6章 多次元の品質

だんだん観点の次元が上がっていく

2011/1/15 第11回 NSEG 勉強会 7

このへんを紹介

Page 8: NSEG第11回勉強会

点に注意を向ける - 3色ボールペンで怪しい箇所の認識

以下の仕様の怪しい点を指摘しなさい(4ページ)

「数値nを入力するとnの階乗を出力する。例えば、5を入力すると、5!=5×4×3×2×1を計算し120を出力する」

赤:客観的に最も重要な箇所

青:客観的にまあ大事な箇所

緑:主観的に怪しいと感じた箇所

2011/1/15 第11回 NSEG 勉強会 8

大きな数字 すごく小さな数字

桁あふれ シフト演算

応答時間 時間制限ある?

事前に分かると良い

自然数?

整数、実数

0 ゼロ

所感)何だか、マインドマップっぽい

Page 9: NSEG第11回勉強会

点に注意を向ける - 間,対称,類推,外側を考える(8ページ)

• 間 1と2⇒1.5 一般化して実数

• 対称 5⇒-5,1/5 一般化して、負数や実数

• 類推 100⇒0

• 外側 数値の外側⇒文字、全角の数字

「間→対称→類推→外側」という順番が大切。視点を広げていく 2011/1/15 第11回 NSEG 勉強会 9

数値n

Page 10: NSEG第11回勉強会

例題を考えてみました

不明点や気になる点をできるだけ多く指摘してください

身長tと体重mを入力すると、BMI値(m÷t÷t)を出力する。例えば身長167cm体重65kgと入力すると、22.3と出力する。

2011/1/15 第11回 NSEG 勉強会 10

単位は? 小数? 計算順序

割り算を最後?

標準体重

精度は?

Page 11: NSEG第11回勉強会

ここまでで所感

• あまり良い例題が思いつかなかったけど、仕様書に対して書き込んでいって、テストすべき項目を洗い出すのに有効

• ここで漏れがあると、組合せテストとかどんなにうまいことやっても良いテストにならない

2011/1/15 第11回 NSEG 勉強会 11

Page 12: 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 簡単そうに思えても、必ず線と丸を描いて視覚的に分かるようにする

境界値 境界値 境界値 境界値 境界値

Page 13: NSEG第11回勉強会

例題を考えてみました どの年齢をテストすれば良いですか?

以下のように現金を給付します。(年齢は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

境界値 境界値

Page 14: NSEG第11回勉強会

演習問題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 変数のオーバーフローが原因 ⇒数直線を描いていれば、防げた?

Page 15: NSEG第11回勉強会

所感

本の紹介って難しいですね。。

続きはHEIAND○かAMAZ○Nで。。

2011/1/15 第11回 NSEG 勉強会 15

Page 16: NSEG第11回勉強会

おしまい

良いテストケースが書けるようになったところで、自動化にとりくみましょう!!(`・ω・´)

2011/1/15 第11回 NSEG 勉強会 16