$30 off During Our Annual Pro Sale. View Details »

ビットキーの中核を担うプロダクトで テスト自動化を駆使して安定的なリリースを実現する/At t...

ビットキーの中核を担うプロダクトで テスト自動化を駆使して安定的なリリースを実現する/At the core of BitKey's products Achieving stable releases through the use of test automation

登壇者名:大高浩太郎
登壇したイベントタイトル:ソフトウェアテスト自動化カンファレンス2024
登壇したイベントのURL:https://testautomationresearch.connpass.com/event/333442/

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. #stac2024 ビットキーの中核を担うプロダクトで テスト自動化を駆使して安定的なリリースを実現する 株式会社ビットキー / 大高 浩太郎 2024.12.07 ソフトウェアテスト自動化カンファレンス2024
  2. Copyright © Bitkey Inc. All rights reserved. #stac2024 大高 浩太郎

    Kotaro Otaka / おーたかこーたろー / @otakakot 2020.04 2022.11 2024.12 新卒社会人として Web業界にてエンジニア人生開幕 AWS Lambda など Serverless による開発を経験 株式会社ビットキーへジョイン Google Cloud を活用した デジタルキーを管理するプラットフォーム開発 技術本部 / プラットフォーム開発部 Cross Service Backend ( CSB ) チーム Go で認証認可基盤を実装したり 弊社デザイナーにわがまま言って Gopherくん描いてもらったり→
  3. Copyright © Bitkey Inc. All rights reserved. Outline #stac2024 1.

    bitkey platform: BKP 2. Jupyter Notebook を使ったシナリオテスト 3. シナリオテストの自動化 4. まとめ・今後の展望
  4. Copyright © Bitkey Inc. All rights reserved. #stac2024 ビットキーのサービス構成 ※

    説明のため簡略化しています。 認証認可/デジタルキー生成
  5. Copyright © Bitkey Inc. All rights reserved. #stac2024 Jupyter Notebook

    とは セル単位の実行 デバッグのしやすさ Markdown の利用
  6. Copyright © Bitkey Inc. All rights reserved. #stac2024 Jupyter Notebook

    とは セル単位の実行 デバッグのしやすさ Markdown の利用 導入背景は不明 開発体験がよいので継続利用
  7. Copyright © Bitkey Inc. All rights reserved. #stac2024 Jupyter Notebook

    を使ったテスト API による機能提供
  8. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 Jupyter Notebook を使ったテスト • チームのテスト実装方針 ◦ Go コードに対してはそこまで強制していない ◦ ロジックが複雑ならば単体テストがあると嬉しい ◦ テストを書くならなるべく統合テストを利用 ◦ シナリオテストは使い方の提示になるので必須
  9. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 Jupyter Notebook を使ったテスト • 実装例 ◦ bravado による OpenAPI からのクライアント利用 ◦ 事前データの準備は秘伝のタレを利用 ◦ 最低限ステータスコード(例外)の確認 ◦ 必要なものは値もチェック
  10. Copyright © Bitkey Inc. All rights reserved. #stac2024 リトライの工夫 1:セル単位でのリトライ

    2:ファイル単位でのリトライ 3:失敗テストファイルの記録
  11. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 シナリオテストの実行 • Jupyter Notebook による実行 ◦ 作成するときはセルごとに実行して確認しながら作成 • コマンド操作による実行 ◦ コマンド実行時にはセルごとに自動リトライすることが可能
  12. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 実行環境 1. 各開発者のPC 2. Google Cloud 上の開発環境 3. Google Cloud 上の本番ミラー環境
  13. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 環境 • 開発者の PC • Docker Compose 実行 • Jupyter Notebook or コマンド ローカル環境
  14. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 開発環境 環境 • Google Cloud • Google Kubernetes Engine • Argo CD によるデプロイ 実行 • Argo Workflows • Dockerfile によるコンテナ化 • Cron Workflows による定期実行
  15. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 環境 • Google Cloud • Google Kubernetes Engine • 週に1度の自動構築 • GitHub Actions × Argo CD 実行 • 開発者によるコマンド操作 本番ミラー環境
  16. Copyright © Bitkey Inc. All rights reserved. #stac2024 ※ 本番ミラー環境構築の自動化

    https://speakerdeck.com/bitkey/bitkey-style-devops-with-10x-faster-release -speed-how-to-work-with-argo-cd https://qiita.com/_otakakot_/items/12722dafa7d526ae61af
  17. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 まとめ • Jupyter Notebook のご紹介 • シナリオテストの作り方 • 自動テストの実行方法
  18. Copyright © Bitkey Inc. All rights reserved. Copyright © Bitkey

    Inc. All rights reserved. Copyright © Bitkey Inc. All rights reserved. #stac2024 今後の展望 • テスト実行環境の見直し ◦ Argo Workflows → GitHub Actions • テスト実行時間の短縮 ◦ 全部回すのにだいたい 30 min くらい • ミラー環境自動化の推進 ◦ テスト実行まで
  19. Copyright © Bitkey Inc. All rights reserved. #stac2024 End of

    File The Go gopher was designed by Renée French. またね わいわい