JaSST Tokyo 2023 サイボウズ

スポンサーセッション

結合テストの自動化に
QAはどうかかわっていったか
結合テストの自動化に結合テストの自動化に
QAはどうかかわっていったか
QAはどうかかわっていったか

QAと開発がともに行うテスト設計からの学び
2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

1

実況スレッド及びご意見質問箱
ご質問、ご意見、感じたこと、メモなどなど
こちらのdiscodeのスレッドに書き込んでいただくとありがたいです！
#d4-2 結合テストの自動化にQAはどうかかわっていったか

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

2

自己紹介

永田敦

サイボウズ株式会社
開発本部
アジャイル・クオリティ
アジャイルの品質保証アドバイザ
JSTQB Advanced Level Test Manager
Agile Inspection Maestro
2008 JaSST Tokyo ベストスピーカ賞受賞（マインドマップとHAYST法）
2011 JaSST Tokyo ベストスピーカ賞受賞（リスクベーステスト）
SQiP 研究会 研究コース４
派生開発推進協議会運営委員
Agile流派 Evolutionary(EVO)

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

3

Kintoneのフロントエンドを開発するチームのお話

ミッションよりユーザーにとって価値のあるUX体験を実現するためフロントエンドのリアーキテクティングを行う
UX構築のためのJavaScriptライブラリを変更する

4つの小さなチームに分かれて活動
チームに一人づつQAが入っている

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

4

テスト
ポリシー

このミッションにおけるQAのチャレンジ

Before : 手動テストがメイン
自動テストもあるが、システムレベルで行っていた

新規チーム: 自動テストをメインにする

テスティング・トロフィーにする
結合テストをメインにする

テスティング・トロフィー
Learn the smart, efficient way to test any JavaScript application, Kent Dodds
Cybozu Inside Out :フロントエンド刷新プロジェクトを成功に導くためのテスト手法の紹介, 中園

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

5結合テストの自動化の課題
QAの悩み
QA

テストコード気になるのだけれど踏み込めない
障壁：コードとコード構造の理解
テストコードの開発スキル、知識開発担当者に“おまかせ”になりがち
開発担当

開発担当者の悩み
何を、どうテストしたらよいかわからない
どこまでテストすればよいのかわからない

テスト設計をどうしたらよいか
テストの抜け漏れ、やりすぎの不安
2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

6

サイボウズのフロントエンドQAは開発担当者に“おまかせ”には、はなからするつもりはなかった
仕様書

テスト仕様書
QA

システムテストレベル手動テスト

対象機能のテストケース

開発担当

テスト
設計議論

テスト
コード実装

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

7

言葉が伝わらない

QA, 開発者
互いに言葉の認識をそろえる

言葉の認識の齟齬

「探索的テスト」とは、「フロントエンドの結合テスト」とは、「ハッピーパス」とはなど…

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

8暗黙的表現
苦労“～が正しく表示できていること”

テスト仕様書

手順や期待結果があいまいな表現になっている
QAどうしは、暗黙知を共有しているので困らない

暗黙的表現になっていたテスト仕様書では、テストコードは書けない

テストコードに必要な、暗黙的に省かれた手順を補う“〜が〜と表示されている”

Cybozu Inside Out :フロントエンドのテストコードを書くときに大切にしていること ,@mugi_uno

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

9説明責任苦労テスト仕様書の内容が伝わらない

テスト観点を開発者に説明する機会が増えたが、今まで感覚でやってた部分があったので大変

テスト観点の背景（意図）を伝える

言語化スキルが必要なことを認識

QAにとってもテスト観点をより深く考えるきっかけ、学びになった

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

10QAと開発者
一つ一つのテスト
ケースを見ながら解消していった

何が自動化できて、何が自動化できないか、最初わからなかった結合テストレベルで実装が可能なのか実装可能だとしても、それがテスト目的を満たすのか？

テスト設計の議論

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

11テスト設計の議論

ここはバックエンドの処理なので、バックエンド側でテストを・・・とかいう会話をしたりこのテストは、ここでやるべきなのか？

テストの責務を認識する

このテストは、何を評価したいのか

テストで注目しているのは、バックエンドの処理結果では？

それは、ここでやるべきことなのか？

フロントエンドは、それをただ受け取って表示しているだけ

そのような表示の評価は、ほかのテストで行われている。
それならば、バックエンド側でテストをしたほうがよいのでは？

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

12

テスト設計の議論
テストの責務を認識する

より適切な場所、レベルで、テストを行う。
• テストの目的、責務が明確にすることにより、自動化の設計がしやすくなる。
• テスト実装もシンプルに、実装しやすくなる。
• テスト実行も早くなる。
• テストコードの保守性、可読性もよくなる

QAと開発者のコラボによるテスト設計の議論により、より確信が持てる、質の高い結合テストのコードを設計することができた
2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

13

QA、開発者ともに学び、テスト仕様書もフィードバックが反映された
仕様書

テスト仕様書
QA

システムテストレベル

結合テストレベル

対象機能のテストケース

開発
担当

テスト設計議論

QA

自動テストに対する学び

開発
担当

テスト設計の考え方を学ぶ

テスト
コード実装

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

14そして、プロセスを作り上げる

Cybozu Inside Out : 最速でフロントエンドを刷新するための開発フロー, 中園

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

15

テストドキュメント

Excelで書かれている
テスト仕様書が見づらい

テストコードにドキュメントを組み込む

テスト手順をテストコード上に書くようにしたマインドマップでテスト設計を表す

開発者はそのあとにテストコードを付け足していく“QA”がテストコードを書くようになった

QAはExcelには慣れているが、開発者はそうではない

テスト設計の議論をやりやすくする試み

QAがテストコードを書くチャレンジ

Cybozu Inside Out :エンジニアとの距離が近くなっていいことたくさんだったQAの話, なかた

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

16

チームが作り出す
ウェルビーイング

文化

Thanksチャンネル
ありがとうを言える場がある
ちょっと、このテストについて相談させてください

達成感・貢献する
喜び

QA

謙虚
リスペクト
信頼

相談にのっていただきありがとうございます！
開発担当

開発とQAの距離がより近くなった

挑戦できて楽しい応援もしてもらえてうれしい

CybozuMentality

もっと色々やってみたくなる

Whole Teamを実感
開発、QA、個々のメンバーの”得意”が集まっている

サイボウズの企業理念
チームのためにできることを探したくなる

素晴らしい！
QAの垣根を超えて広く貢献できる！

QAさんが不具合を沢山見つけてくれて大変感謝！
2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

17

共創エンジン
挑戦エンジン

Whole
Team
オープン

信頼
やりがいエンジン

感謝

謙虚

自律

尊敬

心理的安全性

学習エンジン

仲間を増やしたい！

Evolutional QA
進化するQA
2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

18

サイボウズではキャリア採用サイト公開中です！

QAエンジニアの仲間を募集しています！
カジュアル面談も行なっています！

ご清聴、ありがとうございます！
19ミニセッション
ご質問コーナー、および、LT のおしらせ
スポンサーセッションでお答えできなかったご質問や、さらに詳しい内容のLTなどをお話するコーナーです
お立ち寄りください#サイボウズ株式会社：Voice#サイボウズ株式会社：テキスト

2023/3/9

JASST TOKYO 2023 CYBOZU SPONSOR SESSIONCOPYRIGHT © ATSUSHI NAGATA

20