Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

スマートなテストの再利用を支えるテスト資産のデータモデリング #QualityForward

Kinji AKEMINE
September 07, 2022

スマートなテストの再利用を支えるテスト資産のデータモデリング #QualityForward

2022年8月31日に実施した技術イベントの資料です
https://veriserve-event.connpass.com/event/253820/

Kinji AKEMINE

September 07, 2022
Tweet

More Decks by Kinji AKEMINE

Other Decks in Technology

Transcript

  1. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ ベリサーブが提供するテスト管理ツール QualityForward を題材に、 テストケース管理・テスト実行管理のあるべき姿について、業界の皆さまと議論をしたい

    ◼ 上記を通して得られた解は、QualityForward上に実現したい ◼ 「データモデリング」と題していますが、その運用方法論も含めて議論したい ➢ そのきっかけとして、QualityForwardのPOとして考えているたたき台や論点を提示し、 皆さまからフィードバックや意見、感想、追加の論点をいただきたい ➢ あくまでテスト資産のデータモデリングの話でして、皆さまの大多数が携わっているプロダクト開発での データモデリングの参考には、1ミリもならない確信がありますので、ご注意ください…m(__)m 本日の目的 1
  2. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 2021年4月に株式会社ベリサーブ入社 ◼ 研究企画開発部 サービス開発課

    課長 / プロダクトマネージャー ◆ ベリサーブ内製のテスト支援プロダクト群の全体統制と普及展開に従事 ➢ 前職は大手SIerにて、全社横断技術部門にて技術開発や商用案件適用支援などに従事 ◼ 2009年~2013年:ソフトウェアテスト技術を中心に ◼ 2013年~2020年:アジャイル開発関連技術を中心に 自己紹介 朱峰 錦司(あけみね きんじ) 3
  3. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ ソフトウェアテスト技術関連の社外活動にも継続的に従事 自己紹介 2013年~2019年 2016年~2017年

    2021年~ WACATE 実行委員 ICST 2017 運営委員 JaSST nano お世話係 出典: https://wacate.jp/ 出典: http://aster.or.jp/conference/icst2017/ 出典: https://jasst-nano.connpass.com/ 4
  4. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 約40年にわたりソフトウェア検証で品質向上に貢献 ◼ 仕様などの要求事項が満たされているかを評価する Verification

    と、機能や性能が本来意図された用途や 目的に合っているかを評価する Validation 当社の社名にはこの 2つのV を提供する(Service)という想いが込められています 株式会社ベリサーブ 本社 東京都千代田区神田三崎町3-1-16 神保町北東急ビル 9階 西日本支社 大阪府大阪市中央区北浜1-8-16 大阪証券取引所ビル 19階 中部支社 愛知県名古屋市東区泉2-27-14 関電不動産高岳ビル 13階 沖縄テストセンター 沖縄県うるま市字州崎14-1 沖縄IT津梁パーク 情報通信機器検証拠点施設 宇都宮テクニカルセンター 栃木県宇都宮市宿郷2-7-3 IRビル宿郷 5階 広島テクニカルセンター 広島県広島市南区荒神町1-2 日宝荒神町ビル 2階 刈谷テクニカルセンター 愛知県刈谷市桜町1-24 JS刈谷駅ビル 2階 西新宿テクニカルセンター 東京都新宿区西新宿6-24-1 西新宿三井ビル 14階 社 名 株式会社ベリサーブ (VeriServe Corporation) 設 立 2001年7月24日 代 表 者 代表取締役社長 新堀 義之 従業員数 1,452名(2022年3月末時点 連結) 資 本 金 792百万円(2022年3月末時点) 事業内容 1. 製品検証サービス 2. セキュリティ検証サービス 3. その他サービス 子 会 社 株式会社ベリサーブ沖縄テストセンター AIQVE ONE株式会社 拠 点 右記参照 5
  5. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 株式会社ベリサーブのR&D ベリサーブ お 客 様

    研究企画開発部 技術戦略課 サービス開発課 自動テスト 推進課 事 業 部 直接のサービス提供 案件ベース でのご支援 内製テスト支援ツールの開発・運用 • QualityForward • GIHOZ • TESTRUCTURE…etc テスト自動化ソリューションの活用推進 • OSS:Selenium, Appium…etc • ベンダー製品:Autify, mabl, MagicPod, UFT One…etc 先進技術の目利き・実証実験 • Model Based Testing • AI4QA, QA4AI • 各種業界規格の策定…etc 6
  6. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 各テストプロセスをサポートする主要4プロダクトを現在展開中です プロダクトラインナップ 7 テ

    ス ト 計 画 テ ス ト 分 析 テ ス ト 設 計 テ ス ト 実 行 テストのモニタリングとコントロール [開発中]InsighTest テスト管理をシンプルに。快適、スケーラブルなテスト管理ツール テスト開発のエンジニアリング化を支援ツール “今すぐ使える”テスト技法ツール チームによる探索的テストを加速させるツール テ ス ト 実 装 テ ス ト 完 了 [開発中]テスト分析支援ツール
  7. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 各テストプロセスをサポートする主要4プロダクトを現在展開中です プロダクトラインナップ テ ス

    ト 計 画 テ ス ト 分 析 テ ス ト 設 計 テ ス ト 実 行 テストのモニタリングとコントロール [開発中]InsighTest テスト管理をシンプルに。快適、スケーラブルなテスト管理ツール テスト開発のエンジニアリング化を支援ツール “今すぐ使える”テスト技法ツール チームによる探索的テストを加速させるツール テ ス ト 実 装 テ ス ト 完 了 8 [開発中]テスト分析支援ツール
  8. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 QualityForward は、リリースサイクルの高速化を支え、 プロジェクトの大規模複雑化にも対応可能な、テスト管理ツールです テスト・品質の可視化のための定常作業を自動化し、 エンジニアを煩雑な集計・管理作業から解放します

    快適なパフォーマンスを、テストチームに ✔ ✔ ✔ ✔ さまざまな開発モデルに対応 素早く細かい分析レポート 「シームレスな連携とナレッジの集約・蓄積」でチームを1つに クラウド型 テスト管理 ツール 10
  9. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 提供するソリューション さまざまなレポートで 多角的に進捗や品質を可視化 テスト実行時の進捗や 品質管理の効率化

    ソリューション① 課題① 効率的で再利用が容易な テストの資産管理 テストの資産管理の効率化 ソリューション③ 課題③ 無駄な時間と手間をなくした 効率的なレビュー活動 レビュー活動の効率化 ソリューション② 課題② 11
  10. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 提供するソリューション さまざまなレポートで 多角的に進捗や品質を可視化 テスト実行時の進捗や 品質管理の効率化

    ソリューション① 課題① 効率的で再利用が容易な テストの資産管理 テストの資産管理の効率化 ソリューション③ 課題③ 無駄な時間と手間をなくした 効率的なレビュー活動 レビュー活動の効率化 ソリューション② 課題② 12
  11. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 本日は以下のようなシーンを想定 ◼ 同じテスト内容を、たとえば複数の端末やチャネルでテストするとき ◼

    一度失敗したテストの再実行をするとき ◼ プロダクトの仕様変更に応じて、テスト内容を変更するとき ◆ さらには、派生開発をするとき テストの再利用とは? 13
  12. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストスイートという基本単位 ◼ テストケースのかたまり ◆

    テストケースの属性はフラットに自由に設定可能 ◆ Excel管理時の1シートのイメージ ➢ 簡易的なバージョン管理 ◼ 順方向のみ ◆ ブランチは可能 ◆ マージ機構はなし 基本的なデータモデル(2/4) 16
  13. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 基本的なデータモデル(4/4) 18 ➢ 期間の箱としてのテストフェーズ ◼

    その期間で実行するテストスイート(バージョン)を紐づける ➢ 各テストスイート(バージョン)ごとの 実行単位としてのテストサイクル ➢ 各サイクル中の個々のテストケースごとの実行結果 ◼ すべてのレポートの源泉 ➢ サイクル作成時の絞り込み基準 ◼ 優先度 ◼ 前回のテスト結果
  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 前述のデータモデルや、その運用に関する代表的なものは以下のとおり 尽きない悩み 20 #

    悩み 1 テストケースの属性はフラットでいいのか? 2 テストケースのグルーピングはどうあるべきか? 3 テストメンテナンスとテスト実行の単位は同一でいいのか? 4 テスト実行時のメンタルモデルは?
  15. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 現状 ◼ 前述のとおり、QualityForward現在の個々のテストケース管理は、スプレッドシート式のテスト管理を踏襲 ➢

    感じている課題 1. テストケース間で共通の要素であっても、コピペするしかない ◆ テスト手順 ◆ テストデータ 2. より根本的な問題として、そもそも箱しか提供していないため、その列の意味をふまえた造りになっていない ◆ 汎用性=どうとでもつかえる、を優先した造り ①テストケースの属性はフラットでいいのか?(1/2) 21
  16. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 現状の歯止め策 ◼ 1については、同一列で同じ内容が連続している場合、色を薄くすることで、視認性を上げる対応 ◆

    とはいえ、修正時の手間は変わらず ➢ 今後のアプローチ ◼ 当面は、別途、Wikiやスプレッドシートで管理のうえ、 QualityForward上ではそれへのリンクだけ記載しておくワークアラウンドが、 お客様のコストパフォーマンスがいいのではないか?という仮説のもと、今後もそれを推奨予定 ◼ テキストで完結するリストを別定義し、そこから値を選択するような列を設定可能な汎用的な仕組みが あるだけでも、効率化がすすむというお客様が多そうなら、実現を検討。 ①テストケースの属性はフラットでいいのか?(2/2) 22
  17. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 現状 ◼ 左記のとおり ◆

    テストスイートという基本的な枠組み ◆ テストスイート(バージョン)はタグ管理のみ ◆ 個々のテストケースの属性としてのテスト観点(1つのみ) ◆ テストスイート(バージョン)の属性としてのタグ(複数OK) ➢ 感じている課題 ◼ テストスイートが増えたときの全体感の把握の難しさ ◼ そもそもテストスイートをどういう単位で作るか? ◼ テスト観点・タグはどう使うべきか? ◆ 特にテスト観点=要求ツリーは現状、 機能としてほぼ使われていない ②テストケースのグルーピングはどうあるべきか?(1/2) 23
  18. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 現状の歯止め策 ◼ 現状のデータモデルの在り方そのものの話なので特になし ➢

    今後のアプローチ 1. テストスイートをディレクトリで階層化できる仕組みの導入の検討 2. テストスイート設計ガイドラインの提示 ◆ 上記ディレクトリはテストレベル、機能階層で作成 ◆ 機能テストについては原則として機能分解にもとづき、機能ごとにスイートを作成 ⚫ もしくは、その中でもさらに導出方法=使うテスト技法ごとに分割 ◆ 非機能系のテストは、さらに品質特性ごとにスイートを作成 ◆ 機能をシンプルな木構造で分解するのは難しい局面もあるため、そのときはタグで補強 ◆ テスト観点については…まだいいアイデアがない状況 ⚫ 機能階層との統合を検討か? ②テストケースのグルーピングはどうあるべきか?(2/2) 24
  19. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 現状 ◼ テストスイートがすべての基本単位となっている ➢

    感じている課題 ◼ 特に海外製のツールは、いわゆるチケット型ツールのような、 1ケース1画面のようなアプローチのものが多い ◆ メンテナンス ⚫ テストケースを階層化されたフォルダ管理で整理する ◆ 実行時 ⚫ フォルダ構造にとらわれず、任意のテストケースを組み合わせてテスト手順として都度グルーピングする ⚫ もちろん、QualityForwardでいうテストスイートからテストサイクルをつくるように、 フォルダ内のすべてのテストケースを実行単位としてグルーピングすることも、簡易なステップで実現している ◼ スプレッドシート型に比べ、より柔軟性の高い構造である ◆ QualityForwardのテストスイートの考え方は枠組みとして強すぎないか? ③テストメンテナンスとテスト実行の単位は同一でいいのか?(1/2) 25
  20. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 現状の歯止め策 ◼ テストケースの優先度をキーとして、サイクル作成時のテストスコープをしぼる手立ては提供されている ◆

    テストスイートをまたがるグルーピングはあきらめてもらって、それぞれテストサイクルはつくってもらう ➢ 今後のアプローチ ◼ スプレッドシート型 → チケット型の転換、つまりテストスイートという箱をとっぱらうことは ドラスティックすぎる、というかほぼイチからツールを作り直すこととなる… ◼ 優先度だけでなく、より柔軟なテストサイクル作成時のスコープ指定ができるを有効策として検討中 ◆ 任意のテストケース列の値によって ◆ もしくは少し文脈を限定し、③の課題と関連するが、紐づいているテスト観点・タグによって…etc ③テストメンテナンスとテスト実行の単位は同一でいいのか?(2/2) 26
  21. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 現状 ◼ テスト実行はテストサイクルごとに、1つのテストケースに1つの結果を入れる形式が想定されている ➢

    感じている課題 ◼ 近年特に、マルチプラットフォーム、端末、チャネル対応のアプリ・システムが増えており、 同じテストケースを、同時にWindows / Macでテストする、iPhone、Androidでテストする、 というシーンでのテスター体験の期待にこたえられていない ◆ スプレッドシートだと、同じテストケースに複数の結果列をつける運用が容易に可能 ④テスト実行時のメンタルモデルは?(1/2) 27
  22. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 現状の歯止め策 ◼ 特になし ◆

    「複数タブでテストサイクルを開いてください」とは言うものの… ➢ 今後のアプローチ ◼ 事実として非常にニーズが多い ◼ データモデルはそのまま、同じテストスイートバージョンから作成されたテストサイクル限定で、 複数のテストサイクルの結果を同時に結果を投入できる専用ビューの開発を検討中 ◆ Excelのように結果列が複数並ぶイメージ ④テスト実行時のメンタルモデルは?(2/2) 28
  23. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 次回予告 32 ➢ 2022/9/30(金) 19:00~20:00

    ➢ テーマ(予定) ◼ テスト管理レポートについて考える(仮) ➢ ご案内 ◼ 9月上旬にconnpassにて公開予定
  24. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 最後の最後に 33 We are hiring!

    • テスト支援ツールのプロダクトオーナー • テスト支援ツールのカスタマーサクセスエンジニア • その他オープンポジション