Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
主体的な活動で巨大な影響範囲のテストを乗りこなしていく話
Search
Cybozu
PRO
April 16, 2024
1
570
主体的な活動で巨大な影響範囲のテストを乗りこなしていく話
Cybozu
PRO
April 16, 2024
Tweet
Share
More Decks by Cybozu
See All by Cybozu
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
45k
テクニカルライティング
cybozuinsideout
PRO
4
300
サイボウズのアジャイルクオリティ2024
cybozuinsideout
PRO
3
270
モブに早く慣れたい人のためのガイド2024
cybozuinsideout
PRO
3
370
モバイル
cybozuinsideout
PRO
3
190
ソフトウェアライセンス
cybozuinsideout
PRO
4
160
ソフトウェアテスト
cybozuinsideout
PRO
3
260
自動テスト
cybozuinsideout
PRO
3
270
Docker入門2024
cybozuinsideout
PRO
3
460
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
A better future with KSS
kneath
238
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Visualization
eitanlees
145
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Building Applications with DynamoDB
mza
90
6.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Fireside Chat
paigeccino
34
3k
Producing Creativity
orderedlist
PRO
341
39k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Transcript
Copyright © Cybozu 1 主体的な活動で巨大な影響範囲の テストを乗りこなしていく話 2024-03-14,15 JaSST'24 Tokyo ミニセッション
サイボウズ株式会社 福元 春輝
Copyright © Cybozu 2 Copyright © Cybozu 2 • 福元
春輝 • サイボウズ株式会社 開発本部 QAエンジニア • 新卒入社2年目 • Garoon Tsukimi チーム所属 • Tsukimi チーム🐈 • GaroonのNeco移行対応 自己紹介
Copyright © Cybozu 3 Copyright © Cybozu 3 Garoonとは •
中堅・大規模組織向けのグループウェア • 情報共有に役立つ複数のアプリケーションを含む • 他製品、他システムと連携する拡張性を持つ 連携や拡張でさらに便利に利用できる 情報共有・コミュニケーションに役立つ
Copyright © Cybozu 4 Copyright © Cybozu 4 Forest(現行基盤)上で動く製品 •
製品を乗せている基盤に課題がある • もっと効率良くしたい! • もっと良い製品を素早く提供したい! 連携や拡張でさらに便利に利用できる 情報共有・コミュニケーションに役立つ Forest基盤
Copyright © Cybozu 5 Copyright © Cybozu 5 Neco(新基盤)に移行して効率化を図る! •
コンテナ技術を採用することでVMでのツラミを解消 • リソース効率の向上 • 負荷増減に応じた自動スケール etc. 連携や拡張でさらに便利に利用できる 情報共有・コミュニケーションに役立つ 🐈 Neco基盤 Neco移行: https://blog.cybozu.io/archive/category/Neco
Copyright © Cybozu 6 Copyright © Cybozu 6 製品を新基板に載せ替えるだけではない? 連携や拡張でさらに便利に利用できる
情報共有・コミュニケーションに役立つ Neco基盤 Forest基盤
Copyright © Cybozu 7 Copyright © Cybozu 7 製品を新基板に載せ替えるだけではない? 連携や拡張でさらに便利に利用できる
情報共有・コミュニケーションに役立つ Neco基盤 Forest基盤 新基盤でも今まで通り動作するように 修正や新規実装が製品側でも必要!
Copyright © Cybozu 8 Copyright © Cybozu 8 QAはGaroonの全てを影響範囲としてテストタスクを実施する 新基盤でも今まで通り動作するように...
Mail Server 製品と他サービスの接続 Neco基盤用の新規実装 デプロイ、SLO、ログ出力 製品が持つすべての機能 new
Copyright © Cybozu 9 Copyright © Cybozu 9 実際にQAが実施するテストタスク:機能テスト 機能テスト
結合テスト 2023/4月 2024/4月 2024/7月 基盤変更に伴う新規実装を対象にしたテスト • デプロイ・マイグレーションサービスの構築 • 全文検索のNeco移行対応 • 非同期処理の再実装
Copyright © Cybozu 10 Copyright © Cybozu 10 実際にQAが実施するテストタスク:結合テスト 新基盤でのユーザー操作全体を対象にしたテスト
• Garoonをデプロイ・アップデート・削除できるか • Garoonの全機能が新基盤で動作するか • 別サービスとの連携が正しく動くか 機能テスト 結合テスト 2023/4月 2024/4月 2024/7月
Copyright © Cybozu 11 Copyright © Cybozu 11 実際にQAが実施するテストタスク:結合テスト 新基盤でのユーザー操作全体を対象にしたテスト
• Garoonを構築・アップデート・削除できるか • Garoonの全機能が新基盤で動作するか • 別サービスとの連携が正しく動くか 機能テスト 結合テスト 2023/4月 2024/4月 2024/7月 3ヶ月で結合テストの設計と実施を行うのでは遅い! • 実装の考慮漏れが見つかったら直前で手戻りが発生する • 影響範囲の大きさを考えると時間が足りない
Copyright © Cybozu 12 Copyright © Cybozu 12 テスト計画を変更してみる? 結合テストの設計
+ 機能テスト 結合テスト 2023/4月 2024/4月 2024/7月 結合テストの設計 テスト設計を時間をかけてしっかり実施することで 巨大な影響範囲でも考慮漏れをしっかりと拾えるはず!
Copyright © Cybozu 13 Copyright © Cybozu 13 テスト計画を変更したいけど... 結合テストの設計
+ 機能テスト 結合テスト 2023/4月 2024/4月 2024/7月 結合テストの設計 新規機能は実装前なので テスト設計出来ないのでは? QA
Copyright © Cybozu 14 Copyright © Cybozu 14 Phase2 今までのTsukimiチームQAの取り組み方
開発者とQAのタスクを完全に切り離していた • テスト設計 • テスト実施 QA 開発者 • 機能仕様書の作成 • 機能の実装 • テスト依頼書の作成 開発者のタスクが完了するまでQAは何も知らない状態が続く Phase1
Copyright © Cybozu 15 Copyright © Cybozu 15 1. 早い段階でQAが関わるようにした
2. 現状と新基盤でのGaroonの構成を一から整理した 3. 仕様書とソースコードの両方を確認してテスト設計を実施した QAの取り組み方を変えました! QAから主体的に情報を掴む取り組み方に変えることで 先に待つ巨大な影響範囲のテストを乗り越えていく
Copyright © Cybozu 16 Copyright © Cybozu 16 1. 早い段階でQAが関わるようにした
• テスト実施 開発者+ QA 開発者 • 機能仕様書 の作成 • テスト依頼 書の作成 • 機能の実装 • テスト設計 QA • 実装の考慮漏れがない場合 • 実装完了と同時にテスト実施が始められる • 実装の考慮漏れがある場合 • 実装中なので手戻りがほぼない Phase3 Phase2 Phase1
Copyright © Cybozu 17 Copyright © Cybozu 17 2. Garoonの構成を一から整理した
a. Neco基盤でのGaroonの構成図(ネットワーク図)を作成した • Garoonの通信経路や他のサービスとの関係を洗い出した 新基盤と現行基盤の違いを可視化して把握できた (一部抜粋) mobile Elastic Search 各種サーバー MySQL
Copyright © Cybozu 18 Copyright © Cybozu 18 2. Garoonの構成を一から整理した
b. Garoonの持つすべての機能とその挙動を確認した • どの機能が何を期待動作としているのかを洗い出した 影響範囲を事前に確認してテスト漏れがないようにした 基本機能 テスト観点 スケジュール スケジュールを登録、変更、削除できること 予定をファイルで読み込みできること 開発者操作 テスト観点 環境構築 手順通りに新規で環境が作成できること 既存はファイルで書かれていた設定が環境変数で登録されていること 新基盤にGaroonを移行できること (一部抜粋)
Copyright © Cybozu 19 Copyright © Cybozu 19 3. 仕様書とソースコードの両方を確認して
テスト設計を実施 仕様書だけでは漏れそうなテスト観点を拾うことができた •仕様書 • ユーザーが正規の手順で操作して問題が発生しないか? • 想定している通りにログが出力されるか? • ソースコード • 仕様書には書かれていないがこんな操作も考えられる のではないか?
Copyright © Cybozu 20 Copyright © Cybozu 20 テスト計画を変更したいけど... 結合テストの設計
+ 機能テスト 結合テスト 2023/4月 2024/4月 2024/7月 結合テストの設計 新規機能は実装前なので テスト設計出来ないのでは? QA
Copyright © Cybozu 21 Copyright © Cybozu 21 テスト計画を変更できた! 結合テストの設計
+ 機能テスト 結合テスト 2023/4月 2024/4月 2024/7月 結合テストの設計 自分たちで情報をかき集めて 手戻りが発生しないように進めていこう! 新型QA
Copyright © Cybozu 22 Copyright © Cybozu 22 1. Garoonを新基盤へ移す計画が進んでいる(Neco移行)
2. 影響範囲が広いので注意して実装・テストを進めたい 3. QAが主体的に取り組むことで巨大な影響範囲のテスト を乗りこなすことができている! 1. 早い段階でQAが関わるようにした 2. Garoonの構成を一から整理した 3. 外部仕様と内部仕様の両視点からテスト設計に落とし込んだ まとめ
発表は以上です ありがとうございました! サイボウズではQAエンジニアを募集中しています。 キャリア採用サイト公開中です!