テストとは

Yukimitsu Izawa
Yukimitsu Izawa株式会社クルウィット
テストとは
株式会社クルウィット
井澤 志充
Kanazawa.rb #14
2013/10/19

「安心・安全・安定・信頼」できるインターネットサービスを
じこしょうかい
•

井澤  志充  (いざわゆきみつ)

•

(株)クルウィットの取締役  兼  北北陸陸⽀支社⻑⾧長
博⼠士(情報科学)

•

•

ネットワークの委託研究・⾃自社サービス開発など

「安心・安全・安定・信頼」できるインターネットサービスを

2
テストとは

一般的には「試験」を意味する
「何か」が「特定の条件をみたす」かどうかを「試す」こと。

「安心・安全・安定・信頼」できるインターネットサービスを

3
テストとは

一般的には「試験」を意味する
「何か」が「特定の条件をみたす」かどうかを「試す」こと。

例:「中学生」が「英語能力がある」かどうかを「期末試験で試す」

「安心・安全・安定・信頼」できるインターネットサービスを

3
今日話すテストとは

ソフトウェア工学におけるソフトウェアテストのことです

「安心・安全・安定・信頼」できるインターネットサービスを

4
今日話すテストとは

ソフトウェア工学におけるソフトウェアテストのことです

「あ、はい。」

「安心・安全・安定・信頼」できるインターネットサービスを

4
ソフトウェアテストとは

プログラムが正しく動作するかどうか確認する作業のこと

目的: プログラム中のバグを発見すること
→目的通りにちゃんと動くソフトウェアを作る。

「安心・安全・安定・信頼」できるインターネットサービスを

5
ソフトウェアテストとは

プログラムが正しく動作するかどうか確認する作業のこと

目的: プログラム中のバグを発見すること
→目的通りにちゃんと動くソフトウェアを作る。

→テストしたところしか目的通りに動くことが確認できない

「安心・安全・安定・信頼」できるインターネットサービスを

5
ソフトウェア作成におけるテストの種類

注: ここらへんの用語は、業界・会社・宗教などによって様々なので
エッセンスを

み取っていただければさいわいです。

「安心・安全・安定・信頼」できるインターネットサービスを

6
ソフトウェア作成におけるテストの種類
・静的テスト/コードレビュー
→ソースコードの査読などによって、文面上の問題点を探る作業
・単体テスト/ユニットテスト
→最小単位である関数やメソッドに対して品質を確認する作業
・結合テスト/インテグレーションテスト
→単体テストで完了したプログラムを組み合わせて行う
・システムテスト
→システム全体を通して実施する
・受け入れテスト/検収テスト
→発注側がシステム全体が仕様どおりの機能や性能を満たしているかをテストする
「安心・安全・安定・信頼」できるインターネットサービスを

7
開発とテストのVモデル
要求

受け入れテスト

要件定義

システムテスト

基本設計

結合テスト

詳細設計

coding

単体テスト

静的テスト

「安心・安全・安定・信頼」できるインターネットサービスを

8
その他のテストの種類

・α / βテスト
→完成前の状態を限定的にユーザに展開して、欠陥発見を手伝ってもらう
・ストレステスト
→ソフトウェアを高負荷状態にして、問題が発生しないかを確認する
・パフォーマンステスト
→ソフトウェアの性能を計測して、目的どおりの性能が出るかどうかを確かめる

「安心・安全・安定・信頼」できるインターネットサービスを

9
ブラックボックステスト
プログラムの入出力だけに着目して実行するテスト
→入力値と出力値の網羅性を充足させることが肝要
→充足方法
・同値分割
入力のうち代表的な値を用いてテストを行う
・境界値分割
境界となる値を用いてテストを行う
プログラムのエラーは分岐の境界で発生する場合が多いため

「安心・安全・安定・信頼」できるインターネットサービスを

10
ホワイトボックステスト
プログラムコードの構造を元にして実行するテスト
→網羅性を充足させることが肝要
→充足方法
・命令網羅(C0)
すべての命令を実行する
・分岐網羅(C1)
すべての分岐を通過する
・条件網羅(C2)
条件の真と偽の両方を通過する

「安心・安全・安定・信頼」できるインターネットサービスを

11
テストいっぱい
※ひとくちに「テスト」と言っても色々なものがあるので、
どんなテストの話をしているのかを意識しないと会話が噛み合いません。

「安心・安全・安定・信頼」できるインターネットサービスを

12
テストいっぱい
※ひとくちに「テスト」と言っても色々なものがあるので、
どんなテストの話をしているのかを意識しないと会話が噛み合いません。

再掲:ソフトウェアテストとは
プログラムを実行し、正しく動作するかどうか確認する作業のこと
目的: プログラム中のバグを発見すること
→目的通りにちゃんと動くソフトウェアを作る

「安心・安全・安定・信頼」できるインターネットサービスを

12
•

Thank  You!
•

If  you  have  any  comments,
•

please  send  to:
•

Mail:  izawa@izawa.org  /  izawa@clwit.co.jp

•

Twitter:  @Yukimitsu_̲Izawa

「安心・安全・安定・信頼」できるインターネットサービスを

13
1 of 17

More Related Content

More from Yukimitsu Izawa(15)

IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみよう
Yukimitsu Izawa1.7K views
docxをmdで書こうdocxをmdで書こう
docxをmdで書こう
Yukimitsu Izawa15.6K views
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは
Yukimitsu Izawa1.6K views
RubyでオートマトンRubyでオートマトン
Rubyでオートマトン
Yukimitsu Izawa4.8K views
Log-modeのご紹介Log-modeのご紹介
Log-modeのご紹介
Yukimitsu Izawa948 views
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイド
Yukimitsu Izawa5.3K views
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみた
Yukimitsu Izawa3.6K views
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについて
Yukimitsu Izawa2.6K views
PowPow
Pow
Yukimitsu Izawa947 views
RVM with Server EnvironmentRVM with Server Environment
RVM with Server Environment
Yukimitsu Izawa2K views
TryTry
Try
Yukimitsu Izawa1.3K views
rvm でbundlerと仲良くするrvm でbundlerと仲良くする
rvm でbundlerと仲良くする
Yukimitsu Izawa1.6K views
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディング
Yukimitsu Izawa3K views

テストとは