JaSSTソフトウェアテストシンポジウム-JaSST'15 Tokyo より
登壇者
- 堀岡勝 (ローグウェーブ ソフトウェア ジャパン)
- 山城裕一 (マイクロフォーカス)
- 雨宮吉秀 (日本シノプシス)
- 大西建児 (ガイオ・テクノロジー)
- 小井土亨 (OSK)
- きょん (テスト自動化研究会)
- 山口鉄平 (ヤフー)
モデレータ
現場で行っている自動化の仕組み
きょん
- インテグレーションテスト、コンポーネントテストレベルの機能性に関する自動テストを書いてから実装を始める
- バグを見つけたら失敗するテストコードを書いてから報告する
- テストコードはドキュメンテーションであると考えて取り組むほうが効率がいい
- ドキュメントとして書きにくいテストツールはクソだと思う
- 大まかなテストの分割方法についての共有
- テストをすることが目的になっているのは良くない
山口
- 実行・評価のテスト自動化は普及中
- モバイルアプリのプラットフォーム変更や多様性の影響が大きくなってきた
- しょっちゅうAPIが変わって、テストの全てダメになる
- 今後、APIが変わっても工数がかからない仕組み・ノウハウを作っていきたい
- モバイルアプリは端末ごとの差異が結構ある(組み合わせ数は爆発的に)
- スマホのVersionUp→すぐにアプリもVersionUp→Androidマーケットのレビューで☆1に
- テスト自動化を考慮したシステム・ソフトウェアアーキテクチャの整理
今後の方向性・野望などについて
昔から変わらないこと(小井土)
- 自動テストを効果的に利用するためには改善が必要
- 自動テストの保守・運用コストを考える
変わったこと(小井土)
大西
- テストを行ったものを分析する
雨宮
- 自動テストの見える化は重要
きょん
- CIで1週間毎の変更したモジュールと変更したテストケースについて調べる
堀岡
きょん
- リリースできるかどうかだけを見たい。
- これが出たからあなたのチームが悪いと一概的には言えない。
小井土
- 自動化とか開発はやっていって見えることがある
- 自動化が改善ではなく、自動化で見えていくことを改善する
- カバレッジで100%を目指す必要ではない。
大西
- 「網羅率100%を作成しなさい」を示してくるユーザもいるが…
小井土
- いくらカバレッジしても品質が良くなるわけではない。
山城
堀岡
- テストツールに振り回されないようにするにはどうすれば
雨宮
- 「直す段階になっていない」と相談されたので「リリースしたものを諦めましょう」とアドバイスした。
- ただし、今後のVersionUpでは同じバグを入れさせない。
- ほっとくのは良くない
堀岡
大西
- 受け手としてはアクセプトできるのか
山口
今後の野望など
きょん
- 汎用的にテスト並列実行することで、
- Jenkinsで環境を立ち上げ
- テストケースをキューに流し込む
- テスト実行結果をGraphite作成
- TestCodeにリクエストを飛ばす
- 全部終わったら環境を削除する
- なかなかシステム全体を監視して、どうこうするということができない。
小井土
テストの実行
- テストをコントロールする
- テストを管理する
- テストの準備する
- テストを実行する
- テストを確認する
これから行うこと
- シェル言語と連携する
- ツールの中でまたがないようにする
- 並列化すると準備に時間がかかる。
大西
- 組み込み系の場合も、仮想環境上でテストをする。その中で気をつけるポイントはあるか?
山口
- 物理単位は切りやすいが、システムのほうは難しい。
- 物理層のレイヤーに自分達用のインタフェースを入れるとか
大西
- エンタープライズ系と同じような動き?
山口
- 組み込み系の場合はエンタープライズ系とくらべてテスト自動化をしっかりやってもペイできない
小山
- 他のシステムとの組み合わせや統合については?
山城
- GitやCIツール(Jenkins)との連携は重視している
- トップダウンで入れてもらえるケースが少ない。
- トップダウンで入れると開発者のモチベーションが下がるので、
- 開発者も共有しながら使えるように目指す。
大西
堀岡
- 大きい企業は自分達の部分がプラットフォームとすべきだ。という考えもある。
- ツールのベンダーとしては、ライセンスの問題などもある。
- 一つのものでカバーするのは難しくなっている
雨宮
- 基本的には同じ考え。
- メトリクスを取るとかは自分で。
- 自分達が使いやすいと思っているメジャーなところに出せるようにしている。
大西
データベースの中身を開示して、その中身を変更できるようにしている。
きょん
大西
- 確かに独自フォーマットにするのは良くない。
- そのデータをどうするのかはお客さんに任せるようにするべき。
小井土
きょん
山城
- RESTはうちはやってる
雨宮
- うちは全て対応している
山口
- CUIを使いこなすには、できるひとがきちっといる必要がある。
- そうじゃない人もものづくりできる仕組みも必要。
- パラメータセッティングがわかりやすいようにするとか。
堀岡
松木
トレードオフではなく両方あれば良い。
小井土
- 自動テストのシステム構成について。
- 2つのシステム
- テスト対象システム
- 自動テストシステム
- 3つのサブシステム
- テストケースの作成
- テストケースの実行
- 自動テストの運用
まとめ
- 目的目標大事
- 数字に振り回されないように
- 疎結合な役割分担、システムの組み合わせ
- 出来る人とできない人用に
- ユーザとベンダでのお話が大事