HDIfes #01「価値のためのテスト」 - UXDx開発xゲーム 情報交換会 に参加してきた #hdifes
関連する3つの団体?で言うと一番『DevLOVE』が近いですが、この
のコラボレーション、及び発表内容(告知)を見たところ非常に興味深いセッションが数多く予定されていたので、早速参加申込。そしてこの日参加して来ました。
開催会場は国立情報学研究所/National Institute of Informatics@神保町。
建物はめっちゃ高くそびえ立ってたので写真サイズに収める事が出来なかったw
当日日中はとても天気が良かったですね。空も綺麗です。
開始時刻になり、今回のイベント実現に至るまでの経緯等、運営メンバーの皆様による各種説明がありました。
キーマンとなる方々数名による『猫の話題』から始まり、そこからスケールがどんどん拡大、色々な繋がりや連鎖反応も手伝って今回のこの豪華な組み合わせが実現したそうです。
以下、参加メモ。
「ソフトウェアのソフトウェアのテストと自動化のメリット・デメリットとは?」
- きょん@うさみみモード (TwitterID:@kyon_mm)氏 (from DevLOVE)
受託開発から見たソフトウェアテストの「難しさ」「考え方」「自動と手動」「これから」についてお話しします。 「テストの見積もりと実装に根拠を持ちながら取り組むための入り口」をぼんやりとでも見つけてもらえれば嬉しいです。
参考資料は以下。(※要ダウンロード)
- 自己紹介
- テストを無くすためにエンジニアをやっている。
- 普段は色々やっている。Groovy, F# C#など。
- イベントも諸々。Bootcampやハンズオン、基礎勉強会等。(なお、基礎と入門は違うので勘違いしないように!)
- SCM Boot Camp in Tokyoに参加してきた #scmbc(※個人的に参加してました)
- SCMBootCamp in Tokyo 2に参加してきた #scmbc(※個人的に参加してました)
- StartupGroovyに参加してきた #startupGroovy(ハンズオン。※個人的に参加してました)
- Groovy基礎勉強会 - connpass(3/9開催予定)
- Java基礎勉強会 #JavaBase -日本で最もJavaの基礎を勉強する会- - Togetter
- Scala基礎勉強会 #ScalaBase - Togetter
- わかめのモナド浸し #わかめモナ化 - Togetter
- 最近は先輩からの萌えハラに悩まされていますw
- ソフトウェアテストの全体像
- テストに関しそうなコミュニティ
- TDDBC
- 開発者が行うTDDを入門しよう、TA(言語別のアシスタント、コーチのようなもの)が居て教えてくれる。
- JaSST/WACATE
- ソフトウェアテストの体系的な勉強会やシンポジウムを開催。
- sqip
- 品質工学について昔からあるイベント。シンポジウムを開催。
- なごやこわい(テストなくす的な意味で
- TDDBC
えっ?
- テストプロセス
- テスト要求分析:達成すべき品質を考える。
- 戦略策定:テストアーキテクチャ、計画を立てる
- テスト設計:テスト設計コード、設計書を作っていく
- テスト実装:テスト仕様書、テストコード
- テスト実施
- 報告
- ソフトウェアテストの分類方法・全体像
- ◎◎テストって言葉、色々な分類がごっちゃになった状態になっている。
- 以下4つに分類出来る。それぞれ何があるかを考えると諸々やりやすくなる。
- テストレベル‥.テストを動かす粒度によって分ける。単体/結合/システム/受け入れ
- この辺りについては本人によるTogetterまとめ等も参照。→単体テスト/結合テストなんて存在しない - Togetter
- テスト技法
- テストタイプ
- テスト目的を詳細化したもの。単機能テスト、機能組み合わせ、シナリオテストなど...
- どんなテストをしたいか。
- テスト観点
- テストの関心事。あまり意識しなくても良いかもしれない。
- 手段と目的を分けた時に…セキュリティに
- ここに何を含めるかは議論する必要があるかも。
- テストレベル‥.テストを動かす粒度によって分ける。単体/結合/システム/受け入れ
- 品質
- これは歴史がある。アジャイルとソフトウェア・工業的にも違う。
- ソフトウェアの品質とは何か?
- 『これは大丈夫です』…根拠の無い品質はありえない。何を根拠に?
- Squbokという知識体系…『ソフトウェアの価値という言葉に置き換える事が出来る。』としている。
- 日本では沢山の品質体系が存在。田口さんによる『品質工学』が広まっている。タグチメソッド。
- 『これは大丈夫です』…根拠の無い品質はありえない。何を根拠に?
- 品質の体系化例
- ISO9126はテストエンジニア的にもクソ(無いよりマシ)
- 品質には指向がある。バグを減らす、顧客に向ける、等など
- 自動化
- 自動化したくない。『きょんさんは自動化の権化だ』と言われますが...
- 自動化が活発なゾーン
- TDD… TDDを明確に定義する/TDDの自殺
- 開発者フレームワーク。開発者の作業を支援していると言い換えられる。
- TDDも様々。Webフレームワークが様々であるように
- どんな目的でTDDをしたいのかを考えるべき。
- BDD
- 終着点:実行できる仕様書?
- コンセプトは良いと思うので、気に入らない場合は作ったほうが早いほうが良い
- 曰く、この辺りが参考になるらしい。
- TDD… TDDを明確に定義する/TDDの自殺
Specification by Example: How Successful Teams Deliver the Right Software
- 作者: Gojko Adzic
- 出版社/メーカー: Manning Publications
- 発売日: 2011/06/06
- メディア: ペーパーバック
- クリック: 4回
- この商品を含むブログを見る
- 自動テストの誤解
- テスト対象とテスト目的とテスト運用
- 対象:関数?ユースケース?シナリオ?ドキュメント?UI?
- 対象物を決める。このテストの対象にどこにバグが有りそうかを考える。
- リリースバグの8割はある箇所の20%に集中している。考えることは重要。
- 目的:どれくらい?なぜ?
- お客さんが求めている要求事項
- 運用:どれくらいの頻度、誰が?難しさは?
- 性能テスト:テストが間違ってるのがの原因分析
- こういったテストをしたいんだな、というまとまりが出来てくる。それがスタート。
- 対象:関数?ユースケース?シナリオ?ドキュメント?UI?
-
- プロジェクトファーブル
- バグを抽象化、一流テストエンジニアが分析。
- プロジェクトファーブル
-
-
- 性質的な自動テスト(Oracle等で取り組み)
- ルールを与える。
- 探索的自動化テストなどがキーワードでは関連。
-
テストの考え方・分類等を分り易く説明しており、後に続く各々の事例セッション等との関連を考えると、イベントの導入としてとても良いセッションだったのでは、と思います。
「評価方法のバリエーションとその特徴、および開発工程への組み込み事例について」
- イトゥ / Hideaki Itoh (TwitterID:@itow_ponde)氏 (from hcdvalue)
評価方法のバリエーションとその特徴、それを開発行程中のどういうタイミングでやるのか、 どういうことを検証したいときに向いているのかなどをお話しします。
講演資料は以下。@itow_pondeさんの作られる資料は非常に分り易く参考になる部分も多いですね。
このセッションは資料内の一部、スパイラルアップに関するメモのみ追記する形で。
- PDCAサイクルにも似たスパイラルアップ
- このサイクルを何度もくりかえす事が大切。その都度評価をする。
- それぞれのフェーズでテストをして行く。
- コンセプト・企画段階
- シナリオ受容性評価
- どうしても形になっていない。こういう事ができるようになったらどうですか?という点で評価。
- CLT(セントラルロケーションテスト)
- 数を集めることにフォーカス。
- ヒューリスティック評価
- ガイドラインや指標に基づく観点や細かい部分まで網羅的に確認したい場合に向いている
- ユーザビリティテスト
- 実際に使えるものを使って評価。
- 裏で観察、記録をとったりする。具体的な問題点が明らかになる。
- なるべく早い段階でやりたくなると思う。悩ましいところ。
- 簡易モデルによるテスト...実は中に人が入っている。WOZ法(人力でモデルを動かす→実は科学者が裏で操ってた…/元ネタ『オズの魔法使い』のお話)
- NEM評価
- 初心者と設計者の操作時間の比較から問題のある箇所を見つける。
- 熟練者でも時間が掛かるのだからそこは性能の限界だよね、と判断出来る。
- そうでない場合は操作モデルの不一致と考えられ、改善が可能となる。
- シナリオ受容性評価
『オズの魔法使い』に関するくだりは『へぇ〜、そうだったのか〜!』と感心。つーかこの物語展開、実は初めて知りました(笑
「A/Bテスト成功・失敗の分かれ目」
- Toru Enomoto 榎本 徹 (tedanderson)氏 (from hcdvalue)
ウェブサイトにおけるA/Bテストは、簡単に取り組むことができます。 成功・失敗事例をみながら、活用方法を考えます。
- 自己紹介諸々
- 久々に顔出したら『発表してください』で今回の流れにw
- WebサイトのA/Bテストは誰でも簡単に行う事ができる。テストパターンを試し、どれが一番効果があるかを定量的に計測。
1.A/Bテストとは?
-
- 勝ち負けを決める。
- スプリットランで行う事が重要。
- 時間の影響を受けない。季節曜日/イベント/プロモーション
- 経験の影響を受けない。(割り振られたパターンだけ見える)
2.何がいいの?
-
- オバマ大統領はA/Bテストで選挙に勝った(?) A/Bテストを語る際、このトピックが挙げられる事が多くなった。以下のサイト及びツール(こちらは後述)が詳しい。
- How Obama Raised $60 Million by Running a Simple Experiment | The Optimizely Blog
3.A/Bテスト・ツールとは
- ツールがしてくれること
- 実装
- 集計
- 判定
上述のオバマ大統領選でも言及されている、Optimizelyというツールでかなり便利に色々試すことが出来る。ツール実演デモ等も行われましたが、かなりお手軽に要素を変更する事が出来たりでこれは是非使ってみたいなと思わせるものでした。
5.どうすすめる?
- とりあえずやったら良いよ。
- Livesenseでの事例
- 何が成功?何が失敗?
- 成功:A/Bで差が出ること、しかも早く。=仮説が検証できること
- 失敗:差が出るテストが出来ないこと
- 何が成功?何が失敗?
- なぜいいテストが出来ないの?
- 仮説の制度が低いから。
- 調べよう。
- アクセスログ
- 前後にどんなページを見ている?
- 検索キーワード?
- どんな人?
- ユーザテスト・インタビュー
- どこでエラー?
- 心理モデル?
- アクセスログ
- 6.まとめ
- A/Bテストをやってみよう
- ツールが充実。楽ちん。やるなら今。
- ツール紹介
- A/Bテストをやってみよう
Optimizely
Google Anal ウェブテスト機能 free
A/Bテスト、フレーズとかは良く聞いていますが、大統領選のトピックを聞くに付け、ここまで効果のあるものだとは...。関連するツール等は試しに使ってみようかなと思います。
「ロケテストについて」
- motoko128k氏 (from IGDA日本)
アーケードゲームのロケテストは定量調査(インカム)と定性調査(ユーザー観察)の組み合わせによって行われます。 ロケテストの方法と、一般的なユーザーテストとの類似点・相違点について紹介します。
- 自己紹介
- ゲーセン屋さんの店員です。2000年頃まではやってました。
- それ以外に何をやってきたかというと
- 業務用ゲーム気の企画開発
- 漫画喫茶用のインターネットの端末決め
- 磁気カードによるアミューズメント施設課金決済システムの運営ロジック設計
- 等など…
う〜む、このプロフィールはすごい!w
ロケテストって何?
ロケテストって、何語?
「ロケテスト」と「プレイテスト」・「ユーザーテスト」の違い
スタッフの方のご協力で違いを実演w それによるとこんな感じ。
- プレテスト…テストプレイヤーと教官。
- ユーザテスト…一般のユーザの人を会社によんで、テストルームにて。お客様(ユーザ)に対する態度。
- ロケテスト…あるお店に置かれたゲーム機。ゲーム機と同じ視点に立つ。
- 違いをまとめると...
ロケテストにおける調査方法について
- 3つのタイプのロケテストがある。
- ただ、どれにも共通する調査基本として、「定量調査」と「定性調査」がある。
- 定性調査:アンケート調査。プレイ後にアンケート用紙による調査を行う。
- 定量調査:こちらは売上げデータそのもの。比較対象機種を決めた上で、それとの相対で測る。
- それ以外にある要素として「立ち会い調査」というのもある。
- 1).調査したい「核」をもつこと
- 2).ターゲットユーザ像を考えること。その上で
- 3).プレイする「前」からお客を観察することが大事。
- ここで再度実演開始。観察者が見てるのは...
- 興味を筐体に持つかどうかを見ている。スルーは訴求として失敗
- チラ見→しばらくして座るかどうかが勝負。ゲームをプレイする前に、どうやって他にアピールするかを考える。
- ※プレイする以前のタイミングで、UX関する観察が既に始まっている。
- ここで再度実演開始。観察者が見てるのは...
「シンプルさと多機能の最高のバランスを求めて(ユーザーテストとその反映)」
PS Vita「ペイントパーク」が、どのようなユーザーテストを経て開発されたか紹介します (CEDEC2012講演と同じ内容です)
- 自己紹介 携わった作品群:
- どこいつシリーズ
- みんなといっしょ
- ペイントパーク
- ペイントパークって?
- ここでPVを交えてペイントパークに関する説明あり。
-
- 南治さん『Vita持ってるひと?』『(挙手される方を確認し)このイベントはスゴイいい会ですね(笑)』
- 『ペイントパーク』に課せられたミッション
- AdHocを楽しく体験できるお絵かきアプリを制作せよ!
- PS VItaならではな感じで。
- シンプルで、ボタン類は少なく簡単に。
- でも、使いやすく楽しくしてね♪
- 割りと、キタコレ!な仕事だった。
- 年代的にグラフィックエディタ(死語)を作れる仕事が最高でウェルカム!
- タッチインターフェースでUIを作ってみたかった。
- 開発開始:
- コンセプトを確認。
- 世の中には既に素晴らしく高機能なphotoshopなど多数のツールが存在。
- ペイントパークはどうあるべきか?
- 誰向き?何が必要なのか?
- ペイントパークは
- 誰でもすぐ使えるべき
- 皆簡単に遊べるべき、便利というべき
- 面白くあるべき
- 必要なものと不必要な要素の選別
- レイヤーはバサっと削った。
- 初期のuIを考案
- グラフィックエディた部分
- キャンバスライン(投稿された絵)の部分
- ボタンを少なくシンプルに。
- PS Vitaっぽい感じに?
- これについては、結果本体内蔵(=本体同時発売)されないのであんま影響受けなかった。
- 編集画面を考えた
- 開発初期のUIの特徴
- 伸びるボタン
- キャンバスライン:ボタン数を少なく。
- Vitaをタテにすると変わるUI。
- この部分は『Instagram』に影響を受けたりもしていた。
- 自信を持ってユーザテストに!
- …がしかし、色々と考えた工夫が全部裏目に…
- マニュアルの類は一切教えていない状態で、それに気づくかとうかも含めてテストした。
- …がしかし、色々と考えた工夫が全部裏目に…
スライドの挿絵として時折挿入される『トロ』に、悶絶死する面々w
- 試行錯誤へ…
- 伸びるボタン・改
- 伸びることを理解させる演出を、起動時に追加。
- 描画領域の変更案
- 覗き窓的なコンセプトにすれば行けるんじゃない?
- 正方形のエディットエリアはそのままで、その中を拡大縮小・移動出来るようにしてみた
- 送信時の工夫もこらしてみた。
- 伸びるボタン・改
- 再度ユーザーテスト
- でもやっぱり不評...
- 見えている場所に書けない苛立ち
- PS Vitaの大きな画面に書きたい!
- 相変わらずキャンバスラインはわかりずらいまま(ぎゃふん
- ただし、コンテストモードはとても好評だった
- でもやっぱり不評...
- 思い切った刷新の必要性へ
- 正方形のキャンバスラインと切り抜き
- タテのキャンバスライン表示
- 伸びるボタン
- こだわりや資産を捨てて、全て作り直す事に!!
- 本体から分離される事が決まったことで諸々余裕が生まれてきた。
- そして改変後
- UIの事例
- 斬新=使い易いことではない、というのを地で行った。
- 上下にボタンを配置
- アイコンにも工夫
- キャンバスラインにボタンが!
- 見やすく分かり易いあいこん
- スクリーン全てをキャンバスに
- ちょっとした工夫も
- まとめ
- 追加:テスト環境の紹介
- テストルーム風景も用意、撮影用Webcamも用意した。
- ペイントパークの場合、手元の撮影も行った。
- ペイントパーク、verupして絵ちゃんねるに。
- えちゃんねる〜NEW ペイントパーク〜 | ソフトウェアカタログ | プレイステーション® オフィシャルサイト
- 動画を見せるも、南治さん『まぁ、これもこんなシチュエーションがあるかどうかはさておき...w』
…という感じで、メモを取ったのはここまで。参加自体も途中で撤収する形となりました。
(イベントの残り部分については他の人が書いてくれる事でしょう。と期待)
『テスト』という括りで今回はイベントが催され、また色々な視点からの『テスト』に関する発表があった訳なのですが、これまで自分が知らなかった視点も幾つかあり、とても刺激&勉強になりました。
今回のイベント企画・実現に携わられた皆様及び会場御提供頂いた国立情報学研究所の関係者の皆様、発表者の皆様、また当日ご参加された皆様、ありがとうございました!