Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FGDCvol.13 DESNA 海外の企業がQA で やっていること

nori
February 10, 2022

FGDCvol.13 DESNA 海外の企業がQA で やっていること

13回目は「これからのQAについて海外と自動化と FGDC勉強会vol.13」と題しまして、海外QA事情と主催の私がゲーム自動化についてやってきたことについてあれこれ語る会となります!

nori

February 10, 2022
Tweet

More Decks by nori

Other Decks in Programming

Transcript

  1. 2 Desna - 東欧とのオフショア開発 Global QA trends • 日本とジョージアに拠点 •

    東欧の開発パートナー会社20社以上とプロジェクトを行う • アプリ開発やQAサービスを提供 • 担当できるエンジニア数は数百名 CEO 天野たけし 広島出身 カナダモントリオールの コンコーディア大学卒業 GengoやPayPalで従事 海外のエンジニアとは10年 以上の経験 COO 勝田大介 茨城出身 千葉大学卒業 Shippioなどのスタートアップで 従事 現在は東欧を拠点に活動
  2. 3 a1qa - QA専門のテストサービス提供ベンダー 10 Best Pure-Play Testing Service Providers

    Top Software Application Testing Firms 18+以上のQAの経験 39+の国から800+のクライアント 800+人のQAエンジニア 本社はミンスク、ベラルーシ 7つの国にオフィス 1,500+のプロジェクトを完了 a1qaでのQAのスクール ISO 9001:2015, 27001:2013 Global QA trends
  3. 現在のQAトレンド Global QA trends • テスト自動化 • 継続テスト + アジャイル

    + DevOps = QAOps • APIテスト • パフォーマンステスト • サイバーセキュリティーテスト • QAアウトソース
  4. 5 QAサービス一覧 Global QA trends システム & プラットフォーム Web/モバイルアプリテスト デスクトップアプリテスト

    埋め込みテスト ブロックチェーンアプリテスト ERPテスト AR&VRテスト クラウドテスト IoTテスト and more... 様々なタイプのテストを網羅 機能テスト パフォーマンステスト サイバーセキュリティーテスト 移行テスト 統合テスト 互換性テスト ローカリゼーションテスト アクセシビリティーテスト and more... 品質エンジニア QAコンサルティング テスト自動化 継続テスト E2Eテスト アジャイルでのテスト マイクロサービステスト and more...
  5. 6 QA: Need or Wish? QAが多くのメリットをビジネスにもたらす中で、欧米の先進的な企業はさらにソフトウェア テストへ力を入れるようになっています。 コロナ禍で世界中でリモートワークが進み、ソフトウェア開発サイクルの中での QAを効果 的に実施しソフトウェアの品質を高める事が必要となりました。

    * 新たなQAのツールやアプローチを使うことで、さらに手軽に最新の手法で QAを行うことが できるようになり、これまでのソフトウェア開発や新しいサービスへのテストを実行します。 Global QA trends 以下のクライアントに対して 5000以上のテスト・ケースを作成し、テ スト工程を7倍早くしました *World Quality Report 2021-22 (1,750 IT従事者からのアンケート)
  6. テスト自動化を行う理由 Global QA trends プロダクトをリリースする際に高速で品質を担保する必要がある。 テスト自動化で高速にソフトウェアのリリース。 テスト自動化の戦略を正しく行うことで、企業は以下のメリットを受けれます * • 開発とリリースサイクルの高速化

    • テストcoverageの拡大 (47%) • ROIの向上 • より多くのバグを洗い出す (49%) • 品質の向上 • テスト工程の明確化 (68%) • テスト費用の削減 (42%) 自動テストの市場はグローバルで年率 2019年から2024年までの間で 年率18%上昇 ** *World Quality Report 2021-22 (1,750 IT従事者からのアンケート) ** MarketsAndMarkets
  7. 9 テスト自動化ワークフロー Global QA trends 様々なプロジェクトでテスト自動 化を担当 最新の技術スタックを使用 どの様なアプリや技術でもテスト 自動化が可能

    品質測定の手法 オンサイトでの作業 フレキシブルなコミュニケーションの タイムフレーム 120+ テスト自動化エンジニア テスト自動化のR&Dラボ 透明なプロジェクト監査の システム 継続的なコード品質の監査 品質ゲートを採用 テスト自動化の スコープ決定 テストフレームワーク とツールの合意 テスト環境とドキュメ ントの用意 自動テスト開発 テストを実行して メリットを享受
  8. 10 継続的なコード品質の監査 Global QA trends プロジェクト毎に内部監査を行っています。その一つはプロジェクトの技術的な要素に関するもの。 デザイン、スクリプト作成、パフォーマンス、自動テストのレビューに精通している自動テストのソリューション アーキテクトが監査を担当。 監査はプロジェクトの各フェーズの終わりに実施され、通常は 1-2週間ほどかかる。

    ソリューションアーキテクトが確認する項目 : • 設定 • ドキュメント • 静的な調査の結果 • インフラとパイプライン • アーキテクチャとITソリューションの構造 • テストデータの移行、生成、処理 • ソースコードのロジック、可読性、複雑度、重複などのレビュー [email protected]
  9. 11 テスト自動化のメリット Global QA trends スピードアップ 自動化によりソフトウェアの開発 サイクルの中で致命的なバグを より早く検知 テストサイクルの最適化

    自動化でアジャイルのタスクベー スやビヘイビア駆動の開発が可能 に DevOpsの進化 自動化でDevOpsが継続してテ ストを行う環境を構築可能 テストにかかる工 数を大幅削減 社内のQAチーム 体制への援助 リスクの高いQAプ ロセスから人的ミス を排除 リリース後のソ フトウェアのバ グを瞬時に特定 [email protected]
  10. 13 事例: 決済サービスプラットフォーム Global QA trends 2 ≈60 2,000 100+

    年のプロジェクト期 間 個のシステムテスト ボトルネック発見 ツールとテクノロジー : • Python • SQL Developer • PuTTY • Citrix • Fiddler • Robot Framework • Postman • TestRail • Atlassian Suite • REST API • and more... 新規の決済ソリューションの品質を担保し、データの移行を問題無く行う • 公開されたシステムバージョンの品質改善 • テスト自動化で、リリースの速度が向上 • 問題なくデータの移行が完了 人の QAエンジニア
  11. QAOpsとは? Global QA trends QAOpsはQAとCI/CDパイパイプラインへの統合を行う QAに特化したDevOpsです。 CI/CDパイプラインにソフトウェアのテストを統合する事で、ソフトウェアの開発サイクルに含 まれるようになり、QAチームと開発チームの連携が高まります。 QAOpsはCI/CT/CD (継続インテグレーション、継続テスト、継続リリース

    ) の設定を行いま す。QA自動化エンジニアはQAOpsのスキルを持っていて、DevOpsエンジニアが入らなくて も設定が可能です。 QAOpsを行うことで以下のメリットがあります : • 品質向上 • 生産性向上 • エンジニアのスキルアップ • 顧客の満足度向上 [email protected]
  12. 16 QAOpsとDevOpsの違い Global QA trends DevOps 開発者とオペレーションのとの作業を行い、 QAは開発 の一部としてみる ソフトウェアのデプロイのスピードにフォーカス

    品質を良いものにする QAOps QAスペシャリストが開発者とオペレーションと主要業 務を担当 ソフトウェアの品質にフォーカス 品質を最高のものにする [email protected]
  13. 17 継続テストのメリット・価値 Global QA trends メリット 信頼できるテスト自動化 QAエンジニアリングプロセスの改 開発初期からのテストの導入 テスト環境の見える化

    検証されたデータでのテストの実行の最適化 全体的なテストデータの管理 スキの無いQAサポートとメンテナンス 価値 エンドユーザーから常に送られるフィードバック へ素早く対応 ビジネスリスク検証がより正確に 開発とテストワークフローへの不確定要素減り、 安定性が増す テストへかかる時間が減り、オペレーションコスト が減少 CI/CDパイプラインへテストの自動化と機能の監 視をスムーズに統合 全てのテストを開発 コードの統合 ステージング環境で のビルド 本番環境での ビルド [email protected]
  14. 18 事例: 航空会社のソフトウェアへの継続テスト Global QA trends 5+ 6 100% 年のプロジェクト期

    間 人のQAエンジニア 締切と開発予算を守る ツールとテクノロジー : • SoapUI • Sabre • Chrome • Firebug • Edge • Safari • Opera • Yandex Browser • and more... アプリのアップデートと新機能への品質担保が必要 • 8ブラウザと8言語でのITプロダクトのアップーデートの品質を向上 • ソフトウェア全体の品質改善 • 継続テストとカスタムのQAアプローチを用いて、各機能の本番環境へのリリー スをストレス無く行えるようになった
  15. APIテスト Global QA trends API はコンポーネント同士をとりもつシステムのコアの部分になります。 最新の状態のITプロダクトが問題なく動作するためにはAPIのテストが必須で す。APIレイヤーのテストをしっかり行うことで、以下がもたらされます。 • ビジネスリスクの減少

    • 市場へのプロダクト投入の時間の短縮 • テストカバレッジの拡張 • テスト管理の最適化 • フロントエンドアプリテストの前に不具合を検知 • サイバー攻撃への高度な防御
  16. 21 APIテストの詳細 Global QA trends APIテストを始める前の3つのステップ: 1. ビジネス要件の定義 . 2.

    必須のカバレッジの設定 3. QAプランの制定 (ツール選定、QAプロセスの整理など ) 様々なAPIテストサービス: • セキュリティーテスト • インターフェーステスト • 入力エラーテスト • パフォーマンステスト • 要件テスト • 下位互換テスト • コードレベルテスト セキュリティー サイバー攻撃に対する脆 弱性の排除 パフォーマンス マイクロサービス同 士のスムーズな連 携 効率 各マイクロサービスがエン ドユーザーに想定した機 能を提供しているかドウか の確認 持続可能性 ITソリューションのマイクロ サービスアーキテクチャを どの様に強固にできるか を専門家からのアドバイ ス。
  17. 22 事例: 認証サービスのリリースまでの時間短縮 Global QA trends ハイエンドの認証プラットフォームを開発しているクライアントがプロダクトの成功とリリース期間短縮の ためにプロジェクトを実施。 • コアのビジネスモデルである「パートナー企業の

    APIの承認」を安定して運用 • QAのスペシャリストがAPIテスト用のポータルを開発 • システムの稼働率は100%近くに • DevOpsのベストプラクティスを使ったソリューションが何十ものモバイルキャリアや数百万のユー ザーに対して提供 3+ 50+ 20 8 72 テスト自動化により テストにかかる時間 が20分の1に短縮 のモバイルキャリア がソリューションを使 用 新しいアプリのリ リースにかかる時 間が8分の1に短 縮 年のプロジェクト期間 新しい開発環境を着く時 間が72分の1に短縮 ツールとテクノロジー: • Java, Ruby on Rails, Spring (Java) • Rabbit MQ, CircleCI • SonarQube • AWS Elastic Beanstalk • AWS CloudWatch • NGINX, Jenkins, Docker • MySQL, MS SQL • PostgreSQL
  18. 25 システムパフォーマンステスト範囲 Global QA trends CPUの増強やアーキテクチャ変更 後もソフトウェアが効果的に動作す るかの確認 システムが想定のロード内で安定し て動作し続けるかどうかの確認

    システム対する負荷を増加さ せ、どこで耐えれなくなるかを評 価する 保存や処理されるデータ量が増え た場合のソフトウェアが効果的に 動作するかの確認 72時間ほど中程度の負荷でモニ タリングを行いシステムが安定し て動作するかの確認 様々なソフトウェアや構成がパ フォーマンスにどの様な影響があ るかの評価 スケーラビリティーテスト ボリュームテスト ロードテスト ストレステスト 設定テスト 安定性テスト
  19. パフォーマンステストの実際 Global QA trends パフォーマンスの管理 効果的なパフォーマンスの監 アプリケーションの生産性の コントロール アプリケーションの動作の効率化 パフォーマンステストのメリット

    ページロードの 最適化 正しいキャッシュの 使用 サーバーレスポンス 時間の短縮 IT管理コストの削減 正しいハードウェアへの投資 オペレーションとメンテナンスコストの削 減 リストアにかかる時間の削減 重い処理の除外
  20. 27 事例: アメリカの大規模の住宅向け機器 Global QA trends パフォーマンステストの戦略を一から構築したいクライアントからコンタクト。ホスティングにかかる 費用、組織全体のパフォーマンス改善、別の ECプラットフォームへのデータ移行などが主な課 題。

    • テストアプローチを一から構築して、 ECソリューションのオペレーションの改善を行いました。ダ ウンロードにかかる時間の短縮され、 Black Fridayの間にも全てのWebサイトが問題なく動作 • 全ての不具合を素早く発見し、パフォーマンスのレベルが向上 • オープンソースの WebPageTest を使い、フロントエンドの現状のパフォーマンスを測定し、基 本的な要素 (webサイトのアーキテクチャ、要素にダウンロードできる時間、最適化への手法 ) などを記述 2+ 33 4,000 90% 30% 年のプロジェクト 期間 人のQAスペ シャリストが担 当 件のテスト・ケース作成 以上のマニュアルテス トが自動テストにより削 減 ECサイトのロード時間改 善 ツールとテクノロジー: • VPN GlobalProtect • Citrix Workspace • WebPageTest • Apache JMeter • Dynatrace • Postman • SAP GUI • SAP Java Connector • Splunk • PuTTY • Selenium • Cucumber • G Suite
  21. サイバーセキュリティーテストで脆 弱性を排除 Global QA trends 世界中で多くのインターネットに接続されたデバイスのある、不確実性の多い現在 では、サイバーセキュリティーに関する需要は大きく伸びています。 2020年は39%の企業がセキュリティーに関する問題を起こしています。 被害を受ける主な理由 :

    • 46% — 身代金のターゲットになる • 27% — ビジネス回復にかかる予算が無い • 26% — リスクを明確にするための専門的な知識が無い * 変化が起こっている理由 • 被害を受けた経験 • 法令 *Cyber Threat Intelligence Report 2021 [email protected]
  22. サイバーセキュリティー強化 Global QA trends 診断エリア 脆弱性診断 静的コード分析 セキュリーティー監査 ペネトレーションテスト ソーシャルエンジニアリング

    コンプライアンス セキュリティーテスト 開発 ステージング 本番 継続的な モニタリング セキュリティーテストモデル ホワイトボックス グレイボックス ブラックボックス [email protected]
  23. 31 事例: 救助用の組み込みソフトウェアのグローバル セキュリティー基準への準拠 グローバルの様々な健康関連のプロダクトに対するセキュリティー基準への準拠を支援 • IEC 62304 (Class C),

    HIPAA, FDA, OWASPなどグローバルで認められているセ キュリティーの基準に 100%対応する高品質のソフトウェアを開発 • 各セキュリティー基準に当てはめてソフトウェアのセキュリティーレベルを評価 10+ 10 4 4 年のプロジェクト期 間 人のQAエンジニアが 担当 のグローバルで 認められた基準 つの環境が品質保証 の対象 Global QA trends ツールとテクノロジー : • ESP32 flashtool, CCS UniFlash • Termite • 3uTools, TestFlight, Play Market Beta • Objection, Frida, Introspy • iMazing, Inspeckage • Drozer, dex2jar, libimobiledevice • MobSF, Passionfruit • Metasploit, Amass • Burp Suite, Dirsearch • nmap, Wireshark • and more...
  24. 33 QAアウトソースで市場にリーチ Global QA trends グローバルでは多くの企業がソフトウェアの品質を上げるために QAアウトソースを行う。 70%の以上の企業が何らかの形で QAアウトソースを行い、そのうち 35%がオフショアのQAパートナーによって実施。

    QAアウトソースに含まれるもの QAについての専門性 グローバルのソフトウェアコンプライアンス への準拠 分かりやすく実行可能な QA戦略 QAへのベストプラクティス 迅速で効果的なプロセスのセットアップ QAアウトソースで得られるもの : QAプロセスを専門家に任せ、コアビジネスのゴール 達成にフォーカス 最新のテクノロジーや QAプラクティスでの作業 品質に妥協することなく QAワークフローの改善 正しいレベルのスキルと柔軟性 QAのリスクを明確にしてリスク低減 .
  25. 34 社内QAチームとQAアウトソースの比較 Global QA trends 採用 セキュリティー 管理 コスト 社内専門QA部署

    QAアウトソースからの支援 必要なスキルを持った人材を 長期間かけて探す必要 必要なスキルをもった候補を すぐにアサイン可能 社内のプライバシーポリシーへの 完全な準拠 十分なセキュリティーのルール決めと 安全なコミュニケーション QAプロセスの管理に追加の工数が必要 フルタイムの従業に対する 継続的にかかる人件費や福利厚生 管理の担当をつけてコアゴールに 対してのフォーカス 決まった時間と工数の中での コスト効率のいいQAリソース
  26. 35 QAアウトソースの利点#1 Global QA trends 独立したソフトウェアの品質評価 システムの機能についての前提知識がないところから QAスペシャリス トが実際のテストの結果を参考にしながら独立したソフトウェア品質評 価を実行。

    全くバイアスの無いアプローチで社内の QAチームや開発チームが見 落とす不具合を発見。QAアウトソースのスペシャリストがソフトウェアと 品質に対しての新たな視点と改良について考慮しながらの作業を担 当。
  27. 41 IoTデバイスを提供する スタートアップ Global QA trends クライアント様概要 • シリーズB調達済みのスタートアップ •

    IoTデバイスを提供している会社 • 現在アプリの大幅アップデートを行っており、 主にバックエンドを大きく修正している クライアント様の問題 • バックエンドのAPI endpointに対して、テストが不十分で、 新しいバージョンリリース前にテストのカバレッジを高めておきたい • QA専門のエンジニア、チームが社内におらず、リソースやノウハウがない • テストの戦略やアプローチについて相談できる相手がいない
  28. 44 チーム構成 Global QA trends 調査フェーズ(パイロットフェーズ最初 1ヶ月の調査期間) a1qa: 0.5 PM,

    1 マニュアルエンジニア , 1 自動化エンジニア, 0.15 PR レビューアー Desna: 0.5 PM, 0.5 ブリッジエンジニア 開発フェーズ(パイロットフェーズ残り 2ヶ月の実装期間) a1qa: 0.5 PM, 1 マニュアルエンジニア , 2 自動化エンジニア, 0.15 PR レビューアー Desna: 0.5 PM, 0.5 ブリッジエンジニア 開発フェーズ2 (現在行っているカバレッジを上げるためのロジックテストの実装期間) a1qa: 0.5 PM, 1 マニュアルエンジニア , 1 自動化エンジニア, 0.15 PR エンジニア Desna: 0.5 PM, 0.5 ブリッジエンジニア
  29. 45 ワークフロー Global QA trends 調査 Desnaとa1qaのマニュアルエンジニアがアプリのビジネスロジックの 調査を行うところから始まります。ビジネスロジックを理解するため、 クライアント様とコミュニケーションを密にとり、 TeatRail上にテスト

    ケースを書いていきます。 レビュー PRをマージする前に、3社でレビューを行っていきます。最初 にa1qaチームが内部でレビューを行い、 Desna チームがレビューをし、最終的にクライアント様が PRのレ ビューをし、マージします。 実施 作成された自動化コードは定期的に実行され、自動 テストエンジニアが結果の分析を継続して行っています。 開発 自動化エンジニアが自動化のコードを実装していきます。マ ニュアルQAエンジニアは引き続きテストケースの洗い出し を続けていきます。 調査 開発 レビュー 実施
  30. 46 ツール Global QA trends コミュニケーションとレポート : • Slack •

    ステータスレポート (毎週) • Google spreadsheet (エンジニア同士の質問、進捗確認 ) • Google doc (定期内部ミーティングのメモ ) • Desnaとa1qaの定期ミーティング (週3回) • Desnaとクライアント様との定期ミーティング (週1回) 自動テスト技術スタック : • TypeScript + Jest テスト管理: • TestRail CI: • GitHub Actions タスク管理システム: • Jira
  31. 47 今後のプラン Global QA trends 現在進行中 • APIテストの拡充(異常系・ロジックテスト) • React

    unit test 今後 • API testとUnit testを合わせたコンビネーションテスト • UIテスト • パフォーマンステスト • モバイルアプリのテスト