こんにちは、アイスリーデザインの荒澤です。
先日3月7日-8日に開催されたJaSST'18 Tokyo(ソフトウェアテストシンポジウム 2018 東京)に参加してきました!
JaSST(読み:ジャスト)はソフトウェア業界全体のテスト技術力向上と普及を目指しているもので、毎年各地域で開催されています。
事前に、各セッションの内容が大変興味深く思っていました。また、海外の講演者をお招きしているため、世界のテスト事情を聴講できるチャンスでもあったので、今回参加してきました。
多くのセッションが行われましたが、その中でも特に心に残ったセッションをいくつかご紹介します。
目次
目次
- 1.基調講演『Advances in Continuous Integration Testing at Google』
- 2.WEBテスト「Web.JaSST~ウェブ系QAがみんなのお悩みに全力で提案を返す会~」
- 3.CEDEC x JaSST「無料で始める!「龍が如く」を面白くするための高速デバッグログ分析と自動化」
- 4. まとめ
1.基調講演『Advances in Continuous Integration Testing at Google』
1日目の一番最初はGoogleのJohn Micco氏による講演でした。
Micco氏によると、Googleでは全てのテストを自動で行っているそうです。そのため、手動でテストを実施しているテスターもいないとのことでした。
自動テストでは、「Flakyな状態」を見ているそうです。
Flakyな状態とは、同じコードだが、テストの結果がpassしたりfailedしたりと、あてにならない状態になっているテストを指しています。
また、Googleではテストコードを書いて当たり前であり、新卒採用の時にもテストコードが書けないと採用されないという厳しい基準も。
入社するすべての新入社員に対しても、テストの仕方を共有するそうです。
開発者が450万件ものテストを実施しており、Micco氏たちはその自動テストの結果に対して、おかしな動きをしていないかチェックをしているそうです。
テストには、かなりお金をかけており、テストの文化を根付かせるために、トイレにテストのテクニックを貼ったりしているそう。なんと、その手法は思いのほか有効とのことでした。
[会場からの一部質問]
Q:本当に100%テスト自動化なのか。
A:基本的には100%です。だけど、翻訳だけはマニュアルで実施しています。難しいので。
Q:新サービス提供のときも手動テストは実施しないのですか?
A:手動テストはしていません。自動運転などのクリティカルなサービスがないため必要がないという判断です。
Q:AIのテスト自動化はしていますか?
A:していませんし、できません。
Q:人数と品質の関係はありますか?
A:1ファイルを触るのは2人までなら良い方に働くが、3人以上になると、一気に品質が下がってしまいますね。
Googleのテスト成功率が99パーセントとのことでしたが、裏を返せば1%失敗しているということになります。たったの1%と思う方もいらっしゃるかもしれません。しかし、1%=おおよそ150万件のエラーが出ているとのこと。
この、一番最初に聞いた講演の内容がかなり濃く、驚く内容ばかり。海外のテスト自動化は、かなり進んでいる印象を受けました。
2.WEBテスト 「Web.JaSST~ウェブ系QAがみんなのお悩みに全力で提案を返す会~」
様々な企業からの若手とベテランの2人組4チームが、事前に参加者から頂いた質問にそれぞれ回答していく流れになりました。Webに特化しすぎず、幅広いQAに関する疑問に答えていただけました。
パネルディスカッションの内容
- ◯テスト観点を網羅的に洗い出す工夫
- ◯バグ分析のメトリクスはどのようにやってるか
- ◯給料が安い、QAの適正な給与額、給料をどうやって上げるか
- ◯QAメンバの評価方法、チーム/個人の目標設定
- ◯プログラミングもできるQAの中途採用に苦戦、転職ニーズはどの辺か
- ◯品質保障チームの仕事範囲はどこまでがいいか、実際どこまでやってるか
- ◯テスト管理ツール、その使い方
- ◯探索的テストの終了条件
この中でも、印象に残ったパネルディスカッションの内容を二つご紹介します。
◯テスト観点を網羅的に洗い出す工夫
<Aチーム>
木を見て森を見ず状態というアプローチが間違っている。
大きい観点から、詳細化に落とし込む作業が必要なので、ロジカルシンキングが必要になってくる。
漏れがちな観点をテンプレート化して、最終確認をする。
<Bチーム>
マスターテストプランを用意して、抜け漏れが無いように可視化する。
サービス(≠機能)として重要な観点を洗い出しておくと良い。
<Cチーム>
業務知識を身につけたり、発注者の顔を見る
本当に何をしたいのか、お金を出してる人が何をしたいのかを考える。
<Dチーム>
コミュニケーションロスを減らす
仕様書やテストケースをレビューして認識をあわせる。
一人で考えるより、複数人で考えたほうが網羅的になるのでは?
◯品質保障チームの仕事範囲はどこまでがいいか、実際どこまでやってるか
<Aチーム>
枠済みは決めずに、技術の空白を埋める。
ユーザーを理解するために、ビジネスサイドにも寄ってみる
保育園・幼稚園向けにサービスを展開しているので、QAが保育士の研修を受けに行く
<Bチーム>
担当のスコープはサービス全体になる
<Cチーム>
困っているのであれば、どこまでも
要件まとめ、仕様まとめなど他の人がわかりやすいように現状やっている
<Dチーム>
部署→全て
チーム→全て
他の会社のQAの方が普段どんなことを考えているのかや、様々な考えに触れることができました。
勉強になることが多く、今後の業務にも活かしていけそうな内容でした。
3.CEDEC x JaSST 「無料で始める!「龍が如く」を面白くするための高速デバッグログ分析と自動化」
個人的な趣味もあって、『CEDEC x JaSST 「無料で始める!「龍が如く」を面白くするための高速デバッグログ分析と自動化」』のセッションを聴講しました。
元ゲームプログラマであり「龍が如くスタジオ」専属QAエンジニアの阪上さんによる、テストの自動化とそのログ解析方法についてのセッションです。
内容は"kibana"と"fluentd"、"elasticsearch"を組み合わせたデバッグログの分析です。
自動テストでゲームを全クリできるくらいに自動化しており、実際にキャプチャやリプレイでテストのデモを見ることができ、大変見応え、聴き応えのあるセッションでした。
また、使用しているツールは全て無料のもの。そのため、無料でも使いこなせばここまでできるということに驚きました。
自動テストをバグ出しのためだけでなく、テスト結果を分析してゲームのチューニングに利用している...とのこと。
例えば、龍が如くシリーズの主人公である桐生一馬がこのエリアで何回も倒されている....敵が多すぎるかもしれないから、少し減らしてみよう...といった感じになります。
自動テストで壁抜けを探したり、またバグ前後のムービーが撮られているため、開発者もどこで起きたバグなのかがすぐに分かるとのこと。
ゲーム業界のテスト自動化を垣間見ることができました。
まとめ
JaSST'18 Tokyoに参加してみましたが、『テスト自動化』が大きなテーマだと感じます。
海外のテスト事情や他の企業がどのような考え、やり方でテストをしているのかなど知ることができました。
私にとっても収穫の多いイベントであり、今後の業務に対するモチベーションが上がったイベントでした。
____________
in-Pocket is presented by i3DESIGN
i3DESIGN(アイスリーデザイン)は渋谷とウクライナに拠点を構えるIT企業です。
「デザイン思考」の手法を取り入れたクライアントワークと、Google対応の自社クラウドサービス「GOMOBILE」の提供を行っています。
ビジネスの創出に必要な”右脳”であるUX/UI分野と”左脳”の開発分野が融合した組織で、サービスデザイン・UI制作・プロジェクト管理・設計・開発・品質管理・システム運用を一貫してご提供できることが、i3DESIGNの強みです。
お問い合わせはこちらから