Web サービス・モバイルアプリケーション開発における テスト設計を支援するための標準テスト観点の整備

353 Views

December 10, 23

スライド概要

ソフトウェア・シンポジウム2019 で発表した資料になります。
https://www.sea.jp/ss2019/
論文はこちらでダウンロードできます。
https://www.sea.jp/ss2019/download/SS2019_6-3.pdf
要旨:
Webサービス・モバイルアプリケーション開発におけるテスト設計においてテスト観点を抜け落ちなく網羅的に抽出するために,標準テスト観点を整備し,それをテスト設計で活用する研究を報告する.まず,実際のテスト業務に基づきテストエンジニアの特性を整理し,問題を明らかにする.次に,テスト分析・テスト設計の流れを解析し,標準テスト観点の枠組みとして必要な要件を整理し,その要件に従い枠組みを定める.そして,過去に作成したテストスイートを分析することで様々なテスト観点を導出し,枠組みに従いそれらのテスト観点を整理することで標準テスト観点の実装を行う.最後に,実際のWebサービス・モバイルアプリを対象として標準テスト観点の適用を行い,一定の有効性が確認できた.

profile-image

工業高校卒業後、日本無線に入社、ハードウェアの品質管理に従事する。その後、電気通信大学夜間主コースに入学、ソフトウェア品質保証・テストを専門とし博士課程まで進学する。博士号取得後、2011年日立製作所に入社し、ソフトウェアのQAエンジニアのキャリアをスタートさせる。2017年ディー・エヌ・エー、2021年メルカリ、2023年ナレッジワークに入社。全てQAエンジニアとして従事する。著書『QA・テストがモヤモヤしたら読むITスタートアップのためのQAの考え方 (内製化失敗編/内製化成功編)』という2冊のシリーズをKindle版で出版。博士(工学)。

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

ソフトウェア・シンポジウム 2019 Web サービス・モバイルアプリケーション 開発におけるテスト設計を支援するための 標準テスト観点の整備 2019年6月6日(木) 株式会社 ディー・エヌ・エー 河野哲也(FB: Tetsuya Kouno) 柏倉直樹,前川健二,菊武祐輔 1 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

2.

本発表の目的 ◼ 目的 ⁃ テストの現場のリアルな問題を具体例ベースでシェアする ⁃ 標準テスト観点という研究成果が良さそうだと理解してもらう ◼ 論文に書いてあるけど話さないこと ⁃ 標準テスト観点の枠組みの詳細な議論 ⁃ 関連研究/考察 ◼ 論文で書いていない(書けていない)ところ ⁃ テスト観点を整理していった実装のところの詳細:JaSST’19 Tokyoで発表済 ⁃ 詳細な検証:現在検証のための実験を計画中 ⁃ 標準テスト観点の全貌:現在オープン化に向けて社内調整中 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved. 2

3.

発表の流れ ◼背景 ◼問題と目的 ◼標準テスト観点の整備 ◼適用例 ◼まとめ 3 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

4.

DeNAの事業ポートフォリオ +他社IP利用のタイトル多数 ゲーム エン タ ー テイ ンメ ント 新領域 ス ポーツ Eコ マ ース ヘルス ケア ソ ーシ ャ ル LIVE オート モ ーテ ィ ブ 4 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

5.

品質管理部の外観 +他社IP利用のタイトル多数 ゲーム エン タ ー テイ ンメ ント 新領域 ◼ いわゆるQA業務全般を担う組織 ⁃ 事業部に応じたチーム体制 ス ポーツ • 本取組はゲーム以外のQAチームが対象 Eコ マ ース ヘルス ケア ソ ーシ ャ ル LIVE オート モ ーテ ィ ブ ⁃ チームはベンダからの派遣メンバで構成 • スキル/経験ドメインのばらつきが大きい →テスト観点漏れによる障害リスクが課題 オートモーティブ ヘルスケア ネットサービス AMチーム HCチーム NSチーム コンテンツプラットフォーム 事業部 QA PFチーム 5 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

6.

テスト分析・テスト設計のプロセス ◼ テスト分析 ⁃ テストベースのみから テスト観点を導出する • 辞書的な定義ではテスト条件になるが 本発表ではテスト観点で統一する ◼ テスト設計 ⁃ テスト条件をきっかけにドメインスキルに 基づきテスト条件を補完する • ドメインスキル:ドメイン知識に照らし合わせながら 必要なテスト観点を抽出(発想)するスキル ⁃ テスト条件に対しテスト設計スキルに基づきハイレベルテストケースを設計する • テスト設計スキル:テスト技法の知識に照らし合わせながら テスト観点からテストケースを設計するスキル ◼ レビュー ⁃ テスト観点の過不足・テストケースの質などのチェック 6 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

7.

テスト分析・テスト設計のプロセス ◼ テスト分析 ⁃ テストベースのみから テスト観点を導出する • 辞書的な定義ではテスト条件になるが 本発表ではテスト観点で統一する ◼ テスト設計 ⁃ テスト条件をきっかけにドメインスキルに 基づきテスト条件を補完する • ドメインスキル:ドメイン知識に照らし合わせながら 必要なテスト観点を抽出(発想)するスキル ⁃ テスト条件に対しテスト設計スキルに基づき ハイレベルテストケースを設計する • テスト設計スキル:テスト技法の知識に照らし 合わせながらテスト観点からテストケースを設計するスキル これら分析・設計行為は 厳密に分けることが難しい 今回は議論の簡単のため この分け方とした ◼ レビュー:テスト観点の過不足・テストケースの質などのチェック 7 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

8.

発表の流れ ◼背景 ◼問題と目的 ◼標準テスト観点の整備 ◼適用例 ◼まとめ 8 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

9.

問題の具体例 テストベース ◼ テスト分析: テストベースから テスト観点の導出 ・ユーザ登録 ・・・ ・ログイン ・・・ ・サポート環境 ・・・ テスト分析 テスト観点 ログイン ユーザ登録 メアド入力 失敗回数 新規 ユーザ種別 アカウント ロック 復帰方法 パスワード入力 無効 有効 文字種 ブラウザ種別 OS種別 有効 IE Chrome 文字長 SP 無効 有効 無効 PC 9 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

10.

問題の具体例 ◼ テスト設計: テスト分析結果の 観点をきっかけに ドメインスキルに 基づきテスト観点 を想起し補完する テスト観点 ロ グイ ン ユーザ登録 メ ア ド ⼊⼒ 新規 ユーザ種別 ア カ ウン ト ロッ ク 有効 失敗回数 パスワード ⼊⼒ 無効 復帰⽅法 ⽂字種 有効 IE ⽂字⻑ OS種別 ブ ラ ウザ種別 Chrome 無効 有効 無効 PC SP テスト設計 テスト観点 ログイン 失敗回数 文字種 ユーザ種別 アカウント ロック ブラウザ種別 パスワード入力 文字長 IE 入力方法 メアド入力 Chrome OS種別 復帰方法 有効 無効 有効 無効 有効 無効 直接 コピペ ユーザ登録 新規 登録済 SP PC 退会済 10 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

11.

問題の具体例 ◼ テスト設計: テスト設計スキルに 基づくテストケースの設計 テスト観点 ロ グイ ン ⽂字種 ユーザ種別 アカ ウン ト ロッ ク 失敗回数 パスワード ⼊⼒ メ アド ⼊⼒ ブ ラ ウザ種別 ⽂字⻑ IE ⼊⼒⽅法 Chrome OS種別 復帰⽅法 有効 無効 有効 無効 有効 無効 直接 コ ピペ ユーザ登録 新規 登録済 SP 退会済 ⼊⼒方法 原因 直接 1 2 Y Y コピペ 文字種・ 有効 文字⻑ 無効 結果 登録可 PC Y 3 4 Y Y Y Y Y N Y Y N 11 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

12.

問題の具体例 ◼ ドメインスキルの不足により テスト観点が網羅的に補完できない ⁃ 例えば、ログイン機能で複数端末/ブラウザで多重ログイン、 通信状態が圏外/弱電波 などのテスト観点は テストベースには記載されず、過去にWebやモバイルの経験がないと想起が難しい ログイン ユーザ種別 アカウント ロック 失敗回数 有効 復帰方法 ブラウザ種別 IE パスワード入力 Chrome 端末 無効 PC 新規 有効 ブラウザ ユーザ登録 OS種別 SP 文字種 多重 ログイン 登録済 無効 有効 入力方法 無効 直接 コピペ 通信状態 メアド入力 退会済 文字長 正常 圏外 弱電波 12 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

13.

問題と目的 ◼ 問題 ⁃ ドメインスキルがメンバの経験に大きく依存しテスト観点が網羅的に補完できない →ドメインスキルの不足・ばらつきを補うようなツールや仕掛けが整備されていない • テスト設計スキルよりもドメインスキルが習熟したメンバをアサインすることが難しい ⁃ 従来研究・従来の取組み • テスト観点を体系的に整理する方法(マインドマップ、テスト観点図、テスト分析マトリクス) テスト観点をいくつか例示した研究・取組みもある →Webサービス・モバイルアプリ分野で体系立って具体的なテスト観点を整備した研究はない ◼ 目的 ⁃ Webサービス・モバイルアプリ分野という ドメインスキルの側面でテスト観点を整備し 網羅的なテスト観点の補完を支援する • 整備したテスト観点群を標準テスト観点と呼ぶ 13 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

14.

本研究におけるドメインの全体整理 ◼ 大きく2つの種類のドメインに分けられる オートモーティブ ヘルスケア ネットサービス AMチーム HCチーム NSチーム コンテンツプラットフォーム 事業部 QA PFチーム 14 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

15.

本研究におけるドメインの全体整理 ◼ 大きく2つの種類のドメインに分けられる ⁃ 標準:各QAチーム横断で必要なドメインスキル(Web・モバイル共通) 例えば、ログイン機能、パスワード⼊⼒、通信環境 など ⁃ 固有:各プロダクトや各チームで必要なドメインスキル(配車、歩数計 など) コンテンツプラットフォーム オートモーティブ ヘルスケア ネットサービス QA AMチーム HCチーム NSチーム PFチーム 固有 配車,etc 歩数計,etc 動画配信,etc コンテンツ,etc 事業部 標準 Webサービス・モバイルアプリに共通する機能・要素・構造 15 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

16.

本研究におけるドメインの全体整理 ◼ 大きく2つの種類のドメインに分けられる ⁃ 標準:各QAチーム横断で必要なドメインスキル(Web・モバイル共通)← 本研究のスコープ 例えば、ログイン機能、パスワード入力、通信環境 など ⁃ 固有:各プロダクトや各チームで必要なドメインスキル(配車、歩数計 など) コンテンツプラットフォーム オートモーティブ ヘルスケア ネットサービス QA AMチーム HCチーム NSチーム PFチーム 固有 配車,etc 歩数計,etc 動画配信,etc コンテンツ,etc 事業部 標準 Webサービス・モバイルアプリに共通する機能・要素・構造 16 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

17.

発表の流れ ◼背景 ◼問題と目的 ◼標準テスト観点の整備 ◼適用例 ◼まとめ 17 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

18.

導入:標準テスト観点のイメージ ◼ テスト観点を補完する際の関心に合わせて テスト観点が一覧化される ⁃ 例えば、機能に関心があるときは機能に関するテスト観点が 一覧化されて欲しい ログイン ユーザ種別 アカウント ロック 失敗回数 有効 復帰方法 ブラウザ種別 IE パスワード入力 Chrome 端末 無効 PC 新規 有効 ブラウザ ユーザ登録 OS種別 SP 文字種 多重 ログイン 登録済 無効 有効 入力方法 無効 直接 コピペ 通信状態 メアド入力 退会済 文字長 正常 圏外 弱電波 18 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

19.

標準テスト観点の整備の全体像 モデル 化 テスト分析・ テスト設計 事前 調査 調査結果 使用例 テスト分析・ テスト設計の流れ 例示 枠組み 実装 解析 枠組み の要件 定義 標準 テスト観点 過去の テスト スイート 19 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

20.

枠組みの検討と実装 ◼ 枠組みの検討 ⁃ 大きく機能・部品・環境の3つのビューに分けられる • 部品:複数の機能横断するような処理やデータ、構造に関するテスト観点 ◼ 実装 ⁃ 過去のテストスイート(テストケースやテスト仕様書)を分析し、テスト観点を導出した ⁃ 枠組みに従って、テスト観点を整理し、スプレッドシートで実装した 90ツリー・ 約700観点が 実装できた 20 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

21.

デモ:標準テスト観点 ◼ログイン ◼パスワード (文字列の⼊⼒・パスワードの⼊⼒) ◼環境ビュー ◼実用性を高めるためいくつかの工夫がある ⁃ 厳密にビューを分けない ⁃ Web/APP と PC/SP による分類 21 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

22.

発表の流れ ◼背景 ◼問題と目的 ◼標準テスト観点の整備 ◼適用例 ◼まとめ 22 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

23.

適用のサマリ ◼ 適用の目的 ⁃ 標準テスト観点の適用可能性の確認: 実際のテスト設計とレビューで適用できるのか? ⁃ 標準テスト観点の有効性の確認: どの程度、テスト観点が補完できたのか? 適用1 ◼ 適用対象 テスト対象 • • インストール、ログインなど ◼ 適用方法 モバイルアプリ 機能追加 新規 ユーザ管理 インストール ログイン アップデート テスト全般 3年 11.5年 Webサービス ・モバイルアプリ 3年 0.5年 使用例1 使用例2 対象機能 ユーザ管理機能 ⁃ モバイルアプリの新規開発 Web 開発形態 ⁃ Webサービスの機能追加開発 担当テスト エンジニア の業務経験 適用 2 標準テスト観点の活用 シーン ⁃ 適用1:テスト設計時のテスト観点の補完で適用 ⁃ 適用2:レビュー時のテスト観点の確認で適用 23 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

24.

適用結果 ◼ 標準テスト観点の適用性可能性の確認 ⁃ 適用1・適用2ともに一定数のテスト観点が補完できた • 適用の際には特に大きな課題は発生していない ◼ 標準テスト観点の有効性の確認 ⁃ 適用1では自身のテスト分析結果に対して6のテスト観点が補完できその全てが採用された ⁃ 適用2ではテスト設計結果に対して 43のテスト観点が補完でき、 そのうち21のテスト観点が採用された ◼ 補完できたテスト観点の例 ⁃ 適用1:制御文字を含む文字列の⼊⼒、 同一名称のファイルを保存 ⁃ 適用2:弱電波環境でログイン、 ストレージ容量不足でインストール 24 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

25.

発表の流れ ◼背景 ◼問題と目的 ◼標準テスト観点の整備 ◼適用例 ◼まとめ 25 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

26.

テスト設計を支援するための標準テスト観点の整備 ◼ サマリ ⁃ 具体的な問題を共有した ⁃ 問題を解決するための標準テスト観点を概説した • 枠組みの概説・デモの実施 ⁃ 適用例では、非常に限られた範囲であるが有効性が確認できた ◼ 本発表の目的 ⁃ テストの現場のリアルな問題を具体例ベースでシェアする ⁃ 標準テスト観点という研究成果が良さそうだと理解してもらう ◼ 今後の課題 ⁃ 有効性の検証と現場導⼊(現在導⼊教育を実施しDeNA品質管理部で導⼊推進中) ⁃ 標準テスト観点のオープン化(誰もが使えるようにする) ⁃ 標準テスト観点のブラッシュアップ/同業他社のQA識者レビュー 26 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.

27.

ご清聴ありがとうございました ソフトウェア・シンポジウム 2019 Web サービス・モバイルアプリケーション開発 におけるテスト設計を支援するための 標準テスト観点の整備 2019年6月6日(木) 株式会社 ディー・エヌ・エー 河野哲也(FB: Tetsuya Kouno) 柏倉直樹,前川健二,菊武祐輔 27 Copyright (C) 2019 DeNA Co.,Ltd. All Rights Reserved.