Date post: | 07-Jan-2017 |
Category: |
Technology |
Upload: | greetech |
View: | 2,742 times |
Download: | 3 times |
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアを通じて弊社の開発環境がより良くなる日
〜 OpenSTF 編 〜2015/10/16( 金 )
エンジニア 佐藤将高
Copyright © GREE, Inc. All Rights Reserved.
今日は QA エンジニア OpenSTFについて話します!
Copyright © GREE, Inc. All Rights Reserved.
佐藤 将高 (@ma3tk) 出身 : 福島県福島市 誕生 : 1987 年 2 月生まれ 28 歳 ( 入社 3 年目若手 ) ニックネーム : まさたん
俺 is 誰
略歴 2012 年 6 月 グリー株式会社 内定者アルバイト / ドリランドチーム 2013 年 3 月 東京大学大学院 情報理工学研究科卒業 2013 年 4 月 グリー株式会社 入社 / SNS チーム / フロントエンド エンジニア 2014 年 2 月 AIP チーム / フルスタックエンジニア的な 2015 年 2 月 QA&LQA チーム / QA エンジニア興味あること TypeScript 、 JavaScript 、 UI/UX トレーニング、カラオケ、ボルダリング、ドライブ
Copyright © GREE, Inc. All Rights Reserved.
まず 1 つ目
Copyright © GREE, Inc. All Rights Reserved.
1. QA エンジニア is 何
Copyright © GREE, Inc. All Rights Reserved.
ぼくらが考える QA エンジニア とは、プロダクト開発の生産性と品質向上に対し技術面から貢献する職業
Copyright © GREE, Inc. All Rights Reserved.
具体的にどういうこと?
Copyright © GREE, Inc. All Rights Reserved.
うちの部では、ゲーム開発エンジニアとQA エンジニアを分けている
Copyright © GREE, Inc. All Rights Reserved.
ゲーム開発エンジニアはゲームづくりに専念してもらう
Copyright © GREE, Inc. All Rights Reserved.
逆に俺ら QA エンジニアは 自動化テストの環境作り デバッグツールの開発 品質担保する的な
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが不在時の開発エンジニアの動きの例
11
QA エンジニアが常駐すると開発がどう変わるか
過去ゲーム開発
テスト自動化実施ゲーム開発
ゲーム開発デバッグツール開発
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが不在時の開発エンジニアの動きの例
12
QA エンジニアが常駐すると開発がどう変わるか
過去ゲーム開発
テスト自動化実施ゲーム開発
おろそかにされやすい!
ゲーム開発デバッグツール開発 ゲーム開発に直結しない!
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが不在時の開発エンジニアの動きの例
13
QA エンジニアが常駐すると開発がどう変わるか
過去ゲーム開発
テスト自動化実施ゲーム開発
おろそかにされやすい!
ゲーム開発が遅れがちになり、品質も担保しにくくなる!
ゲーム開発デバッグツール開発 ゲーム開発に直結しない!
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが常駐しているチームの開発エンジニアの動きの例
14
QA エンジニアが常駐すると開発がどう変わるか
現在ゲーム開発
デバッグツール開発ゲーム開発
テスト自動化実施ゲーム開発
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが常駐しているチームの開発エンジニアの動きの例
15
QA エンジニアが常駐すると開発がどう変わるか
現在ゲーム開発ゲーム開発
テスト自動化実施ゲーム開発
デバッグツール開発 QA エンジニアが対応
QA エンジニアが対応
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが常駐しているチームの例
16
QA エンジニアが常駐すると開発がどう変わるか
現在ゲーム開発ゲーム開発
ゲーム開発
デバッグツール開発テスト自動化実施
開発エンジニア QA エンジニア
デバッグツール開発テスト自動化実施
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが常駐しているチームの例
17
QA エンジニアが常駐すると開発がどう変わるか
現在ゲーム開発ゲーム開発ゲーム開発
デバッグツール開発テスト自動化実施
開発エンジニア QA エンジニア
ゲーム開発に専念しやすくなる!QA 効率化や品質担保ができ、専門性も高くなることで横展開 / リソース調整がしやすく!
Copyright © GREE, Inc. All Rights Reserved.18
成果物初期
去年
ちょい前
新規プロダクト/ QA テスター向け
QA エンジニアの動ける土台
開発管理者ツールデバッグツール
CI 環境構築単体テスト自動化
QA エンジニアなりの課題抽出
品質指標の可視化
QA エンジニアとしての成果
Copyright © GREE, Inc. All Rights Reserved.
詳しくは、CEDEC に登壇した資料を見てねhttp://www.slideshare.net/greetech/cedec2015qa
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが今後やっていきたいこと
デバッグツール開発 負荷テストの巻取り 静的コード解析の実施 品質指標の可視化の拡充 多端末テストの自動化
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアが今後やっていきたいこと
デバッグツール開発 負荷テストの巻取り 静的コード解析の実施 品質指標の可視化の拡充 多端末テストの自動化
Copyright © GREE, Inc. All Rights Reserved.
たくさんの端末で同じテストを自動的に実行して動くよね?
Copyright © GREE, Inc. All Rights Reserved.
皆さんご存知だと思いますが、なぜ多端末テストの自動化が重要なのか
Copyright © GREE, Inc. All Rights Reserved.
みんな端末が違う&& 好きな環境違うから
Copyright © GREE, Inc. All Rights Reserved.
= OS Ver * 機種 * ネットワーク * ……
= 組み合わせは∞に近い
Copyright © GREE, Inc. All Rights Reserved.
圧倒的面倒くささを感じる
Copyright © GREE, Inc. All Rights Reserved.
複数の端末で検証してみないとわからないけど、端末を複数のチームで共有したり、貸し借りのコミュニケーション毎回するのも面倒だし、複数の端末で起こるか検証するのも時間かかるし、設定が端末毎に違うから操作戸惑うし、adb コマンド使って PC から操作も簡単にできるようにしたい!!!!
Copyright © GREE, Inc. All Rights Reserved.
まとめると…
Copyright © GREE, Inc. All Rights Reserved.
多数の端末を多人数で共有したい
端末貸し借り楽にしたい 一括でアプリをインストー
ルしたい 検証を楽にしたい
Copyright © GREE, Inc. All Rights Reserved.
それ全部STF(OpenSTF) で解決できるよ!
Copyright © GREE, Inc. All Rights Reserved.
2. OpenSTF について
Copyright © GREE, Inc. All Rights Reserved.
というか、そもそもOpenSTF is 何
Copyright © GREE, Inc. All Rights Reserved.
• Smartphone Test Farm
• Websocket を使ってブラウザからリモートでAndroid 実機を遠隔操作することができるサービスを OSS にしたもの(http://gpad.tv/develop/cyberagent-stf-smartphone-test-farm/)
• サイバーエージェント様 謹製
Copyright © GREE, Inc. All Rights Reserved.via https://github.com/openstf/stf
Copyright © GREE, Inc. All Rights Reserved.
via http://gpad.tv/develop/cyberagent-stf-smartphone-test-farm/
Copyright © GREE, Inc. All Rights Reserved.
• いつでもブラウザから簡単に検証可能• 複数台同時にデザインチェックが可能
• アプリ• ウェブサイト
• システムログをリアルタイム取得できる• ドラッグ&ドロップでアプリをインストール• adb 使える• 貸し借りコミュニケーションが減る
メリットたくさん
Copyright © GREE, Inc. All Rights Reserved.
• 実際の手で操作しないと難しい内容には向いてない• ( 端末によるが ) リモート接続特有の画面レスポンスの遅延
デメリットはまぁ許容
Copyright © GREE, Inc. All Rights Reserved.
アーキテクチャ
OpenSTF ソフトウェア的な構築
Systemd
Copyright © GREE, Inc. All Rights Reserved.
その他 アプリケーション内で使っている技術の一部
OpenSTF ソフトウェア的な構築
Copyright © GREE, Inc. All Rights Reserved.
ということで、OpenSTF をうちの会社でも構築して使ってみた!( 動画をながすかも )
Copyright © GREE, Inc. All Rights Reserved.
マシンスペック等の見積もり端末確保、 USB ケーブルやハブの発注マシンに Linux 系 OS インストール固定 IP アドレスの設定
ドメイン発行、 SSL 証明書の準備
ドキュメントに沿って .service ファイルやnginx.conf 等の設定ファイルの編集 & 設定
systemctl start hogehoge.service
OpenSTF の構築の流れ
Copyright © GREE, Inc. All Rights Reserved.
構築してみたは、いいが…
Copyright © GREE, Inc. All Rights Reserved.
マシンスペック等の見積もり端末確保、 USB ケーブルやハブの発注マシンに Linux 系 OS インストール固定 IP アドレスの設定
ドメイン発行、 SSL 証明書の準備
ドキュメントに沿って .service ファイルやnginx.conf 等の設定ファイルの編集 & 設定
systemctl start hogehoge.service
問題多発
OpenSTF の構築の流れ
_人人人人人人_> 問題有り < ̄ Y^Y^Y^Y^Y  ̄_人人人人人人_> 問題有り < ̄ Y^Y^Y^Y^Y  ̄
_人人人人人人_> 問題有り < ̄ Y^Y^Y^Y^Y  ̄_人人人人人人_> 問題有り < ̄ Y^Y^Y^Y^Y  ̄
_人人人人人人_> 問題有り < ̄ Y^Y^Y^Y^Y  ̄
Copyright © GREE, Inc. All Rights Reserved.
マシンスペック等の見積もり端末確保、 USB ケーブルやハブの発注マシンに Linux 系 OS インストール固定 IP アドレスの設定
ドメイン発行、 SSL 証明書の準備
ドキュメントに沿って .service ファイルやnginx.conf 等の設定ファイルの編集 & 設定
systemctl start hogehoge.service
困難の分類
OpenSTF の構築の流れ
←Wi-Fi アクセスポイント接続数や設置場所は大丈夫か見積もった?←DHCP だと DNS 設定した時に設定大変だけど大丈夫?←SSL 証明書いらないでしょ、って思ったけど結局導入して手間取る
← 何を書き換えると、どう動いてくれるのか全然分からない← 動いてる ? Docker のプロセスがすぐ死ぬんだけど? ( 動いてない )
ハード的な困難
ソフト的な困難
Copyright © GREE, Inc. All Rights Reserved.
マシンスペック等の見積もり端末確保、 USB ケーブルやハブの発注マシンに Linux 系 OS インストール固定 IP アドレスの設定
どう困難だったか
OpenSTF の構築の流れ
←Wi-Fi アクセスポイント接続数や設置場所は大丈夫か見積もった?←DHCP だと DNS 設定した時に設定大変だけど大丈夫?
ハード的な困難
Copyright © GREE, Inc. All Rights Reserved.
今日は OpenSTF 構築中に起こったハード的な困難の部分について紹介します!
Copyright © GREE, Inc. All Rights Reserved.
ハード的な問題とは
Copyright © GREE, Inc. All Rights Reserved.
問題:場所的にセキュリティ担保しつつ電波や発熱などの問題がない状態で周りに迷惑をかけず STF が使え、毎月端末の棚卸しができる方法を考える
Copyright © GREE, Inc. All Rights Reserved.
問題:場所的にセキュリティ担保しつつ電波や発熱などの問題がない状態で周りに迷惑をかけず STF が使え、毎月端末の棚卸しができる方法を考える
Copyright © GREE, Inc. All Rights Reserved.
内容を分解してみる
Copyright © GREE, Inc. All Rights Reserved.
ハード的な困難場所発熱端末管理問題電波無線 AP
Copyright © GREE, Inc. All Rights Reserved.
それぞれの詳細は…
Copyright © GREE, Inc. All Rights Reserved.
場所 実端末をどこかに置いておかない
といけないシステム 会社のセキュリティ的に端末
が安全であることを確保 席替えによって別の場所へ端
末を移動しなくてはいけない
Copyright © GREE, Inc. All Rights Reserved.
発熱 執務室にある棚に閉まっちゃうと排熱しにくい
Copyright © GREE, Inc. All Rights Reserved.
端末管理問題 月一回端末があることを確認しな
いといけない
Copyright © GREE, Inc. All Rights Reserved.
電波 (セキュリティロックはかけないといけない前提で ) 金属の棚に入れると電波遮られて
Wi-fi 届かない
Copyright © GREE, Inc. All Rights Reserved.
無線 AP 50 台くらい使うと
アクセスポイントを専有して周りに迷惑がかかる!
Copyright © GREE, Inc. All Rights Reserved.
ハード的な困難 場所 発熱 端末管理問題 電波 無線 AP
これらの問題を全て解決した理想の状態とは
Copyright © GREE, Inc. All Rights Reserved.
これ!(本家)via http://gpad.tv/develop/cyberagent-stf-smartphone-test-farm/
Copyright © GREE, Inc. All Rights Reserved.
これを見た後に、問題を抱える前の初期のぼくらの端末達を御覧ください
Copyright © GREE, Inc. All Rights Reserved.
アカン…/ (^o^) \
Copyright © GREE, Inc. All Rights Reserved.
発熱、 Wi-fi 接続不可、席替えリスク…
Copyright © GREE, Inc. All Rights Reserved.
もちろん即、中止 (特に発熱 )
Copyright © GREE, Inc. All Rights Reserved.
ヤバ過ぎるので…
Copyright © GREE, Inc. All Rights Reserved.
ぼく「インフラさん、 サーバ室のスペース ください」
インフラさん「おk」
Copyright © GREE, Inc. All Rights Reserved.
サーバ室に置いた僕らの端末
Copyright © GREE, Inc. All Rights Reserved.
ゴッチャァ……
Copyright © GREE, Inc. All Rights Reserved.
汚い(苦笑)
Copyright © GREE, Inc. All Rights Reserved.
汚いだけじゃなくシステム的にも
よくない…
Copyright © GREE, Inc. All Rights Reserved.
なぜか?
Copyright © GREE, Inc. All Rights Reserved.
ケーブルが画面の上に乗ってるとスマホがタップ判定してしまう
Copyright © GREE, Inc. All Rights Reserved.
ので、ケーブルがひっかからないように整理したところ…
Copyright © GREE, Inc. All Rights Reserved.
うーん…
Copyright © GREE, Inc. All Rights Reserved.
イマイチ…
Copyright © GREE, Inc. All Rights Reserved.
なので、それっぽいケースを注文
Copyright © GREE, Inc. All Rights Reserved.
(数日後…)
Copyright © GREE, Inc. All Rights Reserved.
届いたので整理した
Copyright © GREE, Inc. All Rights Reserved.
Copyright © GREE, Inc. All Rights Reserved.
美しい!!!作業完了だ!!!!
Copyright © GREE, Inc. All Rights Reserved.
とおもいきや…
Copyright © GREE, Inc. All Rights Reserved.
Copyright © GREE, Inc. All Rights Reserved.
無線 AP 使いまくってすみませんすみませんすみませんすみません
Copyright © GREE, Inc. All Rights Reserved.
Copyright © GREE, Inc. All Rights Reserved.
専用 AP追加!!!接続状況も悪く無い!!
Copyright © GREE, Inc. All Rights Reserved.
ということで
Copyright © GREE, Inc. All Rights Reserved.
マシンスペック等の見積もり端末確保、 USB ケーブルやハブの発注マシンに Linux 系 OS インストール固定 IP アドレスの設定
ドメイン発行、 SSL 証明書の準備
ドキュメントに沿って .service ファイルやnginx.conf 等の設定ファイルの編集 & 設定
systemctl start hogehoge.service
←Wi-Fi アクセスポイント接続数や設置場所は大丈夫か見積もった?←DHCP だと DNS 設定した時に設定大変だけど大丈夫?←SSL 証明書いらないでしょ、って思ったけど結局導入して手間取る
← 何を書き換えると、どう動いてくれるのか全然分からない← 動いてる ? Docker のプロセスがすぐ死ぬんだけど? ( 動いてない )
ハード的な困難
ソフト的な困難
OpenSTF の構築の流れ
Copyright © GREE, Inc. All Rights Reserved.
マシンスペック等の見積もり端末確保、 USB ケーブルやハブの発注マシンに Linux 系 OS インストール固定 IP アドレスの設定
ドメイン発行、 SSL 証明書の準備
ドキュメントに沿って .service ファイルやnginx.conf 等の設定ファイルの編集 & 設定
systemctl start hogehoge.service
←Wi-Fi アクセスポイント接続数や設置場所は大丈夫か見積もった?←DHCP だと DNS 設定した時に設定大変だけど大丈夫?←SSL 証明書いらないでしょ、って思ったけど結局導入して手間取る
← 何を書き換えると、どう動いてくれるのか全然分からない← 動いてる ? Docker のプロセスがすぐ死ぬんだけど? ( 動いてない )
ハード的な困難
ソフト的な困難
OpenSTF の構築の流れ
大体解決!
今真っ最中
Copyright © GREE, Inc. All Rights Reserved.
ということで問題もりもりで意外に大変だけど、通常 Webアプリケーションでは出てこないような問題が出てきて新鮮だった
Copyright © GREE, Inc. All Rights Reserved.
ローカルでも動かせるので、OpenSTF を使ってみるといいと思います!
Copyright © GREE, Inc. All Rights Reserved.
まとめ 俺 is QA エンジニア 技術で生産性と品質向上 多端末テスト自動化も問題多いよね
OpenSTF 使える! OpenSTF 使えるんだが構築ムズい
ハード的な問題 (DONE) ソフト的な問題 ( WIP )
Copyright © GREE, Inc. All Rights Reserved.
QA エンジニアを通じて弊社の開発環境がより良くなる日
〜 OpenSTF 編 〜
つづく