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

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

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

JaSST Tokyo 2023 D4-2 サイボウズ スポンサーセッション

サイボウズのフロントエンド開発において、
結合テストの自動化を行うことになったとき
QAはどうかかわっていったか
開発者とコラボし学んだことを話しました

Atsushi Nagata

March 14, 2023
Tweet

More Decks by Atsushi Nagata

Other Decks in Programming

Transcript

  1. QAと開発がともに行うテスト設計からの学び JaSST Tokyo 2023 サイボウズ スポンサーセッション 2023/3/9 JASST TOKYO 2023

    CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI NAGATA 1 結合テストの自動化に QAはどうかかわっていったか 結合テストの自動化に QAはどうかかわっていったか 結合テストの自動化に QAはどうかかわっていったか
  2. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 2 ご質問、ご意見、感じたこと、メモなどなど こちらのdiscodeのスレッドに書き込んでいただくと ありがたいです! 実況スレッド及びご意見質問箱 #d4-2 結合テストの自動化にQAはどうかかわっていったか
  3. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 3 自己紹介 永田 敦 サイボウズ株式会社 開発本部 アジャイル・クオリティ アジャイルの品質保証アドバイザ JSTQB Advanced Level Test Manager Agile Inspection Maestro 2008 JaSST Tokyo ベストスピーカ賞受賞(マインドマップとHAYST法) 2011 JaSST Tokyo ベストスピーカ賞受賞(リスクベーステスト) SQiP 研究会 研究コース4 派生開発推進協議会運営委員 Agile流派 Evolutionary(EVO)
  4. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 4 Kintoneのフロントエンドを開発するチームのお話 ミッション フロントエンドのリアーキテクティングを行う UX構築のためのJavaScriptライブラリを変更する よりユーザーにとって価値のあるUX体験を実現するため 4つの小さなチームに分かれて活動 チームに一人づつQAが入っている
  5. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 5 テスト ポリシー Before : 手動テストがメイン 自動テストもあるが、システムレベルで行っていた 新規チーム : 自動テストをメインにする テスティング・トロフィーにする 結合テストをメインにする このミッションにおけるQAのチャレンジ Cybozu Inside Out :フロントエンド刷新プロジェクトを成功に導くためのテスト手法の紹介, 中園 テスティング・トロフィー Learn the smart, efficient way to test any JavaScript application, Kent Dodds
  6. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 6 QAの悩み テストコード気になるのだけれど踏み込めない 障壁:コードとコード構造の理解 テストコードの開発スキル、知識 開発担当者に“おまかせ”になりがち 開発担当者の悩み 何を、どうテストしたらよいかわからない どこまでテストすればよいのかわからない テスト設計をどうしたらよいか テストの抜け漏れ、やりすぎの不安 結合テストの自動化の課題 開発 担当 QA
  7. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 7 サイボウズのフロントエンドQAは 開発担当者に“おまかせ”には、はなからするつもりはなかった テスト 設計議論 開発 担当 QA 仕様書 システムテストレベル 手動テスト 対象機能の テストケース テスト仕様書 テスト コード実装
  8. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 8 言葉の認識 の齟齬 QA, 開発者 互いに 言葉の認識を そろえる 「探索的テスト」とは、 「フロントエンドの結合テスト」とは、 「ハッピーパス」とはなど… 言葉が伝わらない
  9. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 9 苦労 暗黙的表現 テスト仕様書 手順や期待結果があいまいな表現になっている “~が正しく表示できていること” 暗黙的表現になっていたテスト仕様書では、テストコードは書けない “〜が〜と表示されている” テストコードに必要な、暗黙的に 省かれた手順を補う QAどうしは、暗黙知を共有しているので困らない Cybozu Inside Out :フロントエンドのテストコードを書くときに大切にしていること ,@mugi_uno
  10. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 10 苦労 説明責任 テスト観点の背景(意図)を伝える テスト仕様書の内容が伝わらない テスト観点を開発者に説明する機会が増えたが、 今まで感覚でやってた部分があったので大変 QAにとっても テスト観点をより深く考えるきっ かけ、学びになった 言語化スキルが必要なことを認識
  11. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 11 何が自動化できて、 何が自動化できないか、 最初わからなかった QAと開発者 一つ一つのテスト ケースを見ながら 解消していった 結合テストレベルで実装が可能なのか 実装可能だとしても、それがテスト目的を満たすのか? テスト設計の議論
  12. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 12 テストの 責務を認識 する ここはバックエンドの処理 なので、バックエンド側で テストを・・・とかいう会話 をしたり このテストは、ここでやるべきなのか? このテストは、何を評価したいのか テスト設計の議論 そのような表示の評価は、ほかのテストで行われている。 テストで注目しているのは、 バックエンドの処理結果では? フロントエンドは、それをただ受け取って表示しているだけ それならば、バックエンド側でテストをしたほうがよいのでは? それは、ここでやるべきことなのか?
  13. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 13 テストの 責務を認識 する より適切な場所、レベルで、テストを行う。 テスト設計の議論 • テストの目的、責務が明確にすることにより、自動化 の設計がしやすくなる。 • テスト実装もシンプルに、実装しやすくなる。 • テスト実行も早くなる。 • テストコードの保守性、可読性もよくなる QAと開発者のコラボによるテスト設計の議論により、 より確信が持てる、質の高い結合テストのコードを 設計することができた
  14. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 14 QA、開発者ともに学び、テスト仕様書もフィードバックが反映された テスト 設計議論 開発 担当 QA 仕様書 システムテストレベル 対象機能の テストケース テスト仕様書 テスト コード実装 自動テストに対する学び QA テスト設計の考え方を学ぶ 開発 担当 結合テストレベル
  15. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 15 そして、プロセスを作り上げる Cybozu Inside Out : 最速でフロントエンドを刷新するための開発フロー, 中園
  16. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 16 Excelで書かれている テスト仕様書が 見づらい マインドマップで テスト設計を 表す QAはExcelには慣れているが、 開発者はそうではない テスト手順を テストコード上に 書くようにした テストドキュメント テスト設計の議論を やりやすくする試み 開発者は そのあとにテスト コードを付け足し ていく “QA”が テストコードを 書くようになった テストコードに ドキュメントを 組み込む Cybozu Inside Out :エンジニアとの距離が近くなっていいことたくさんだったQAの話, なかた QAがテストコードを 書くチャレンジ
  17. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 17 ちょっと、このテストについて相談させてください チームが作り出す ウェルビーイング 文化 開発 担当 QA QAさんが不具合を沢山見つけてくれて大変感謝! 素晴らしい! 相談にのっていただきありがとうございます! 挑戦できて楽しい 応援もしてもらえてうれしい チームのためにできることを 探したくなる もっと色々やってみたくなる QAの垣根を超えて 広く貢献できる! Thanksチャンネル ありがとうを言え る場がある 謙虚 リスペクト 信頼 Cybozu Mentality Whole Teamを実感 開発、QA、個々のメンバーの ”得意”が集まっている 達成感・貢献する 喜び 開発とQAの 距離がより近くなった サイボウズの企業理念
  18. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

    NAGATA 18 やりがい エンジン 学習 エンジン 謙虚 尊敬 信頼 心理的安全性 共創 エンジン オープン 自律 Whole Team 感謝 挑戦 エンジン Evolutional QA 進化するQA 仲間を 増やしたい!
  19. 2023/3/9 JASST TOKYO 2023 CYBOZU SPONSOR SESSION COPYRIGHT © ATSUSHI

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