Suche senden
Hochladen
テスト初心者Androiderのためのソフトウェアテスト入門
•
Als KEY, PDF herunterladen
•
22 gefällt mir
•
5,700 views
Satoshi Watanabe
Folgen
Melden
Teilen
Melden
Teilen
1 von 70
Jetzt herunterladen
Empfohlen
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
Twitter4Jとテスト
Twitter4Jとテスト
Yusuke Yamamoto
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
kyon mm
ソフトウェアテスト入門
ソフトウェアテスト入門
Preferred Networks
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
kyon mm
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
Empfohlen
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
Twitter4Jとテスト
Twitter4Jとテスト
Yusuke Yamamoto
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
kyon mm
ソフトウェアテスト入門
ソフトウェアテスト入門
Preferred Networks
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
kyon mm
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
Koji Hasegawa
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
Kotaro Ogino
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
Teppei Sato
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Hiroko Tamagawa
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
Satsuki Urayama
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
Kotaro Ogino
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
Automation test.ssf alpha
Automation test.ssf alpha
ryuji koyama
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
友隆 浅黄
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
Kotaro Ogino
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
Yuki Fujisawa
ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門
tadaaki hayashi
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方
Cake YOSHIDA
JaSST16tokyo tm_koyama
JaSST16tokyo tm_koyama
ryuji koyama
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
Toshiyuki Kawanishi
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
yasuohosotani
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
テストコードのリファクタリング
テストコードのリファクタリング
Shuji Watanabe
Weitere ähnliche Inhalte
Was ist angesagt?
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
Koji Hasegawa
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
Kotaro Ogino
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
Teppei Sato
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Hiroko Tamagawa
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
Satsuki Urayama
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
Kotaro Ogino
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
Automation test.ssf alpha
Automation test.ssf alpha
ryuji koyama
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
友隆 浅黄
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
Kotaro Ogino
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
Yuki Fujisawa
ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門
tadaaki hayashi
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方
Cake YOSHIDA
JaSST16tokyo tm_koyama
JaSST16tokyo tm_koyama
ryuji koyama
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
Toshiyuki Kawanishi
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
yasuohosotani
Was ist angesagt?
(20)
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
テストを分類してみよう!
テストを分類してみよう!
JavaScript Unit Test Why? What? How?
JavaScript Unit Test Why? What? How?
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Automation test.ssf alpha
Automation test.ssf alpha
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
【システムテスト自動化カンファレンス2013 LT】 Data Driven Development (仮)
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
ソフトウェア開発工程とテスト入門
ソフトウェア開発工程とテスト入門
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方
JaSST16tokyo tm_koyama
JaSST16tokyo tm_koyama
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
Ähnlich wie テスト初心者Androiderのためのソフトウェアテスト入門
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
テストコードのリファクタリング
テストコードのリファクタリング
Shuji Watanabe
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
ソフトウェアテスト入門
ソフトウェアテスト入門
iKenji
Gui自動テストツール基本
Gui自動テストツール基本
Tsuyoshi Yumoto
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
Unit testで定時帰宅!
Unit testで定時帰宅!
Funato Takashi
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
kyon mm
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
kyon mm
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
mirer
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
Koji Hasegawa
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
慎一 古賀
自動テストの品質とテストパターン
自動テストの品質とテストパターン
Toru Koido
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
Continuous delivery chapter4
Continuous delivery chapter4
favril1
Code complete ch22_developper_test
Code complete ch22_developper_test
Sho Shimauchi
ITS fidel
ITS fidel
Fidel Softech P. Ltd
Ähnlich wie テスト初心者Androiderのためのソフトウェアテスト入門
(20)
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
テストコードのリファクタリング
テストコードのリファクタリング
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
ソフトウェアテスト入門
ソフトウェアテスト入門
Gui自動テストツール基本
Gui自動テストツール基本
TDDはじめる前に
TDDはじめる前に
Unit testで定時帰宅!
Unit testで定時帰宅!
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
スマートフォンアプリの色々自動化をはじめよう - at SonyDNA Meisters Salon 特別編
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
自動テストの品質とテストパターン
自動テストの品質とテストパターン
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Continuous delivery chapter4
Continuous delivery chapter4
Code complete ch22_developper_test
Code complete ch22_developper_test
ITS fidel
ITS fidel
テスト初心者Androiderのためのソフトウェアテスト入門
1.
テスト初心者Androiderのための ソフトウェアテスト入門
2012/09/08 渡辺悟史 Androidテスト部
2.
今日話したいこと • テストの入門として
• テストの種類について • テスト技法について
3.
自己紹介 • 渡辺 悟史(わたなべさとし) •
仕事はAndroid版SNSアプリ開発 • 過去には組み込みWebブラウザ開発 • 得意 : C言語/Android • 興味: モバイル関連/Web関連/UX関連 • twitter: @sassy_watson
4.
執筆記事 Androidアプリを“超”魅力的にする3種類のUIテスト http://www.atmarkit.co.jp/fsmart/articles/ androidtest03/01.html
5.
ソフトウェアテストについて
6.
そのソフトウェア 正しく動きますか?
7.
正しく動くのを 確かめるために、 テストをしましょう
8.
テストをして バグを見つけて 正しく動くように しましょう
9.
ということで、 今日はテストの基本 について お話ししようと思い
ます
10.
テストの種類
11.
自分が何をテストしたいかを きちんと把握するため テストの種類を把握しておく ことは重要
12.
今回はV字モデルを 使って説明
13.
V字モデル 要件定義
受け入れテスト 基本設計 システムテスト 詳細設計 統合テスト 実装 ユニットテスト
14.
V字モデル 要件定義
受け入れテスト お客様のやりたいことを明確にする 基本設計 システムテスト 詳細設計 統合テスト 実装 ユニットテスト
15.
V字モデル 要件定義
受け入れテスト 基本設計 システムテスト 操作方法や画面など基本的な部分の設計 詳細設計 統合テスト 実装 ユニットテスト
16.
V字モデル 要件定義
受け入れテスト 基本設計 システムテスト 詳細設計 統合テスト 実装に必要な細かい部分の設計 実装 ユニットテスト
17.
V字モデル 要件定義
受け入れテスト 基本設計 システムテスト 詳細設計 統合テスト 実装 ユニットテスト コードを書く
18.
V字モデル 要件定義
受け入れテスト 基本設計 システムテスト 詳細設計 統合テスト 実装 ユニットテスト それぞれのフェーズに対応したテストがある
19.
ざっくり分けると • プログラムで確認するテスト • 実機で確認するテスト
20.
ざっくり分けると 要件定義
実機で確認する 受け入れテスト テスト 基本設計 システムテスト 詳細設計 統合テスト 実装 ユニットテスト プログラムで確認するテスト あくまでもざっくりと・・・
21.
プログラムで確認するテスト
22.
プログラムで確認するテスト • JUnit等を使って、プログラムを書いて 確認するテスト
23.
プログラムで確認するテスト • ユニットテスト • 統合テスト
24.
ユニットテスト • メソッド単位で行うテスト • メソッドに値を入れて、期待した結果
が返ってくるか確かめる
25.
ユニットテスト 入力
メソッド 出力 この出力が正しいことを チェックする
26.
ユニットテストの重要性
27.
ユニットテストをうまくやるには • できるかぎり他のクラスに依存させな いクラスにする •
APIへの依存は最小限にする
28.
詳しくは http://www.atmarkit.co.jp/fsmart/articles/androidtest02/01.html
29.
他のモジュールに依存する ユニットテストをするには? 入力
入力 メソッド メソッド 出力 出力 ここのメソッドが何を返 ここをテストしたい! すかわからない!
30.
Mock 入力
入力 メソッド Mock オブジェクト 出力 出力 ここをテストしたい! ここは一定の値を返す! Androidだとandroid.test.mockパッケージにある (必ず例外を投げる/Overrideして使う)
31.
Mock(Android) • android.test.mockパッケージのクラスを 使って、テストでmockを利用するよう
にうまくテストを実装 • android-mock というフレームワークも ある => http://code.google.com/p/android- mock/
32.
AndroidでのMockについての詳細は http://www.atmarkit.co.jp/fsmart/articles/androidtest05/01.html
33.
統合テスト • きちんとクラス同士が結合されている のを確認するテスト •
Androidだと ActivityInstrumentationTestCase2等を使っ たテスト
34.
統合テスト 入力
入力 入力 メソッド メソッド OS 出力 出力 出力
35.
統合テスト • ユニットテストと統合テストの境界は 曖昧 •
Androidだと、ActivityやViewに強く依存 することが多いので、無理にユニット テストするのではなく、統合テストで がんばった方がよいケースも多い
36.
Activityを含めた統合テストについては http://www.atmarkit.co.jp/fsmart/articles/androidtest03/01.html
37.
実機で確認するテスト
38.
実機で確認するテスト • 仕様通りにソフトウェアが動くかどう か、実機で確認してみるテスト
39.
実機で確認するテスト • システムテスト • 受け入れテスト
40.
システムテスト • 仕様通りにきちんと動くかどうかのテ スト •
確認する項目(テストケース)を挙げてお き、確認する
41.
テストケース
テスト項目 期待結果 EditTextに何も入力しな 送信不可 い EditTextに1文字入力 送信可能 EditTextに256文字入力 送信不可
42.
テストケース • 仕様書からきちんとテストケースを挙 げる必要がある •
機能だけでなく、パフォーマンスやセ キュリティといった非機能要件と呼ば れる項目も考える必要がある
43.
システムテストの詳細は http://www.atmarkit.co.jp/fsmart/articles/androidtest07/01.html
44.
受け入れテスト • 主にお客様が自分たちの要求を満たし ているかを確認するテスト •
今回は省略
45.
テスト技法
46.
テスト技法 • 今まであげたそれぞれのテストを効率 的にするにはどうすればいいか •
やみくもにテストするのではなく効率 的にテストする • テスト技法を用いてきちんとテストす る
47.
よりよいテストとは • 多くのバグを見つけられる
• 少ない時間で見つけられる • 範囲を漏れなくテストする 上記をきちんと行うためにテスト技法は重要
48.
代表的なテスト技法 • 同値分割 • 境界値分析 •
デシジョンテーブルテスト
49.
同値分割と境界値分析
50.
同値分割 似ている値(同じ結果になる値)でグルーピング する
51.
同値分割 • 同じ処理が行われる値をグルーピング する方法 •
グループの代表値だけをテストすれ ば、テストの数を減らせる
52.
境界値分析 グループの間・端の 値を狙ってテストする
53.
境界値分析 • 同値分割した境界値に注目してテスト する方法 •
境界値はバグが出やすいため
54.
255文字まで入力できるEditTextの場合
最大255文字入力できる EditTextを考える
55.
255文字まで入力できるEditTextの場合
同じ処理をする値をクラスとしてグルーピング 無効同値クラス 有効同値クラス 無効同値クラス 0 1 255 256
56.
255文字まで入力できるEditTextの場合 無効同値クラス
有効同値クラス 無効同値クラス 0 1 255 256 0と1が境界値なので、 255と256が境界値なので、 0と1に対してテストする 255と256に対してテストする
57.
デシジョンテーブルテスト
58.
デシジョンテーブルテスト • 入力データや入力の組み合わせに対す る結果を表にまとめたもの •
複数の条件が重なったときの結果を把 握するのに効果的
59.
デジジョンテーブル
ルール1 ルール2 ルール3 条件1 T T F 条件2 T F T 条件3 F T T 結果 T F F
60.
デジジョンテーブル
ルール1 ルール2 ルール3 入力条件・入力データ 条件の組み合わせ 条件1 T T F 条件2 T F T 条件3 F T T 結果 T F F 条件に合わせて実行する動 組み合わせに対する 作結果 結果
61.
例
ルール1 ルール2 ルール3 ルール4 名前を入力 T T F F メールアドレス入力 T F T F 送信可能 T F F F
62.
他のテスト技法 • 状態遷移テスト • 原因結果グラフ •
etc...
63.
テスト技法ポジショニングマップ http://www.hayst.com/Pages/positioning.aspx
64.
テストを勉強するのに おすすめ書籍・記事
65.
テスト駆動開発入門 •
TDDの名著 • ユニットテストを書く 上で参考になりそう
66.
マインドマップから始めるソフトウェアテスト •
テスト行程すべてを網 羅的に書いてある本 • テスト設計の参考にな りそう
67.
ソフトウェアテスト技法ドリル •
テスト技法の使い方が 学べる本 • テスト設計に参考にな るかも
68.
Androidアプリ開発テスト入門 •
Androidアプリ開発に おけるテストの解説 • Androidでテストをや りたい人、必読!
69.
最後に •
テストはあくまでもバグを出すための手段 • テストをすることが目的になってはいけない • 品質/コスト/納期のバランスを考えて
70.
ご清聴ありがとうございました
Hinweis der Redaktion
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Jetzt herunterladen