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

60分でわかる!VSTePを使ったテスト分析のやり方

 60分でわかる!VSTePを使ったテスト分析のやり方

【60分でわかる!VSTePを使ったテスト分析のやり方】は、株式会社ベリサーブが主催する技術イベントです。

当勉強会では、テスト分析の定義など基礎的な概念から、VSTePという方法を利用した具体的なテスト分析のやり方まで分かりやすく解説いたします。

GIHOZ SUPPORT TEAM

March 30, 2023
Tweet

More Decks by GIHOZ SUPPORT TEAM

Other Decks in Education

Transcript

  1. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 名前 ◼ 谷﨑 浩一(たにざき

    こういち) ➢ 所属 ◼ 株式会社ベリサーブ 研究企画開発部 ➢ 経歴 ◼ テスター歴:約15年 ◆ プリンタ、デジカメ、PCアプリ、クラウドサービス ◆ 統合テスト・システムテストのテスト設計・実行・管理 ◼ プロダクトオーナー歴:約6年 ◆ ソフトウェアテストの設計をサポートするツール ◼ 博士(工学) 自己紹介 1
  2. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 「テストベースを分析してテスト条件を識別する活動」 JSTQBの用語集より ◼ テストベース・・・テスト分析と設計のベースとして使用するあらゆる情報

    ◼ テスト条件・・・テストのための根拠となる、コンポーネントやシステムのテストが可能な一部分 ➢ → 意訳:仕様書などのテストベースを分析して、テストすべきこと(テスト観点)を洗い出す活動 テスト分析とは 4 図の引用:http://www.aster.or.jp/business/contest/doc/2020_U-30_V1.0.0.pdf
  3. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ Webアプリのログイン機能に対するテストの例 → これだけ見て、何をテストできているのか分かりますか? ◼

    テストケース1 ◆ 手順:パスワード入力欄に7文字の英数字を入力する ◆ 期待結果:「パスワードが短すぎます」というエラーメッセージが表示される ◼ テストケース2 ◆ 手順:パスワード入力欄に英数字を入力する ◆ 期待結果:入力した文字が「•」に置き換わって表示される ◼ テストケース3 ◆ 手順:メールアドレスとパスワードを入力してログインボタンを押す ◆ 期待結果:正しいパスワードの場合、マイページに遷移する ◼ テストケース4 ◆ 手順:メールアドレスとパスワードを入力してログインボタンを押す ◆ 期待結果:1秒以内にマイページに遷移する テスト分析の必要性 5 何をテストできているのか、 これで必要十分なのか分からない・・。 テストすべきこと(テスト観点)を 洗い出す必要がある!
  4. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 日本で有名な手法 ◼ VSTeP:西康晴氏が考案した手法。このあと解説する。 ◼

    HAYST法:秋山浩一氏らが考案した手法 ◼ ゆもつよメソッド:湯本剛氏が考案した手法 ➢ 現場ごとのやり方 ◼ 機能一覧表を作って機能ごとにテスト観点を洗い出す ◼ 機能とテスト観点のマトリクス表を作る ◼ マインドマップでテスト観点を洗い出す テスト分析の色々な手法 6 【参考情報】VSTeP手法の認知度は42.3%で、他のテスト手法に比べ高い結果に。 <調査概要> 調査内容:ソフトウェアの開発手法やテスト手法に関する調査 調査期間:2023年2月10日(金)~16日(木) 調査対象:製品開発およびソフトウェアのテストに携わる方(調査人数:1,600名) 調査企画:株式会社ベリサーブ 実査機関:株式会社クロス・マーケティング 調査方法:インターネット定量調査
  5. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 概要 ◼ 電気通信大学の西康晴氏が考案したソフトウェアテスト開発方法論 ◼

    Viewpoint-based Software Test Engineering Process の略 ◆ Viewpoint = テスト観点 ➢ 特長 ◼ テスト観点を洗い出しNGT(Notation for Generic Testing)という記法でツリー構造の図として整理する ◼ 複数のテスト観点をグルーピングし、テストの全体像を示すテストコンテナ図を作成したり、具体的なテストケース のひな形となるテストフレームを作成することで、テストを開発する ➢ メリット ◼ テスト観点をツリー形式の図で視覚的に分かりやすく整理できるため、どんなテスト観点でどのようなテストを行う かが明らかになり、テストの抜け漏れを減らすことやテストの内容をレビューしやすくすることができる VSTePとは 8
  6. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストケースごとの「テストの意図」である ➢ テストケースの(一部)を抽象化したものになる ◼

    https://www.jasst.jp/symposium/jasst16tohoku/pdf/S1.pdf ➢ テストケースを作成する上での着眼点、切り口のようなもの ◼ https://blog.aiqveone.co.jp/test_perspective/ ➢ ソフトウェアが正しく動作するために「どの部分に、どのようなテストを実施すべきか?」を定義するための多角的な 視点・切り口をまとめたもの ◼ https://biz.techvan.co.jp/tech-quality/quality-blog/000242.html テスト観点とは 9
  7. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ Webアプリのログイン機能に対するテストの例 ◼ テストケース1 ◆

    手順:パスワード入力欄に7文字の英数字を入力する ◆ 期待結果:「パスワードが短すぎます」というエラーメッセージが表示される ◼ テスト観点 ◆ パスワード、文字数、入力チェック ◼ テストケース2 ◆ 手順:パスワード入力欄に英数字を入力する ◆ 期待結果:入力した文字が「•」に置き換わって表示される ◼ テスト観点 ◆ パスワード、入力内容の画面表示 ◼ テストケース3 ◆ 手順:メールアドレスとパスワードを入力してログインボタンを押す ◆ 期待結果:正しいパスワードの場合、マイページに遷移する ◼ テスト観点 ◆ ログイン判定処理、メールアドレスとパスワードの組み合わせ、画面遷移 ◼ テストケース4 ◆ 手順:メールアドレスとパスワードを入力してログインボタンを押す ◆ 期待結果:1秒以内にマイページに遷移する ◼ テスト観点 ◆ ログイン判定処理、性能 テスト観点の例 10 ここに書いてあるもの以外にも、様々な テスト観点を考える必要がある
  8. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 入力パラメータや、その内容 ◼ パスワード、メールアドレス、文字数、文字種 ➢

    テストすべき機能 ◼ ログイン判定処理、文字入力チェック ➢ テスト環境 ◼ 端末のOS、ブラウザ、画面サイズ、など ➢ ユースケース上発生しうる操作 ◼ 複数の端末で同時にログイン、ボタン連打など ➢ 非機能面の確認事項 ◼ 性能、稼働率など ➢ 起こってほしくない問題やテストで見つけたい問題 ◼ SQLインジェクション、文字化け、など ➢ 問題が起きそうな条件や、運用上ありえる状態 ◼ 高負荷、アカウントの状態(ロック中など)、何度も繰り返すなど ➢ 品質特性 ◼ 機能適合性、互換性、使用性、など テスト観点の例 11 ここに書いてあるもの以外にも、様々な テスト観点を考える必要がある
  9. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ ①テスト観点を洗い出す、整理する ◼ 使う道具:テスト観点図 ➢

    ②テスト観点をまとめて、テストの種類(テストタイプ・テストレベルなど)を整理する ◼ 使う道具:テストコンテナ ➢ ③テスト観点をくっつけて、テストケースのひな形を作る ◼ 使う道具:テストフレーム ➢ ④テストフレームに具体的な値を入れたり、値の組み合わせを作って、テストケースを作る ◼ 使う道具:テスト技法 ※テスト技法はVSTeP独自のものではなく、一般的に知られているものを使えば良い ➢ ⑤(必要に応じて)テストケースの手順を具体化したり、自動化テストコードを書いたりする VSTePの簡単な流れ 12 このあたりが テスト分析に あたる
  10. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 基本はツリー構造。ツリーの親子関係以外に、関連線を引いて、テスト観点同士の関係性を自由に表現できる VSTePで使う道具① テスト観点図 13

    テスト対象 テスト観点 <<ステレオタイプ>> テスト対象を表す。基本的 にはトップのノードでのみ使う。 テスト観点を表す。 線に対して記載することで、 テスト観点同士の関係性の 内容を表す。 親子関係を表す。矢印の 先頭のほうが親。 順序依存関係を表す。矢印の 先頭のほうが、順序的に後。 上記以外の関係性を表す。 【記法の説明】
  11. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 複数のテスト観点やテストフレームをまとめた「箱」 ➢ テストタイプ、テストサイクル、テストレベル、などを表現する VSTePで使う道具②

    テストコンテナ 14 テストコンテナを作るか・作らないか、作る場合どのタイミングで作るかは、 テスト対象の規模やプロジェクトの状況によって変わると思われる → のちほど、作る場合・作らない場合のそれぞれのプロセスを紹介する 性能テスト ログイン機能の機能テスト テストサイクル 1回目 コンテナのイメージ→ システムテスト
  12. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストコンテナは入れ子にしたり、線でつないで関係性を表現することができる → テストコンテナ図 ◼

    テストの全体像を整理したい、示したい、という場合、作ると良い VSTePで使う道具② テストコンテナ 15 機能テスト ユースケース テスト スモークテスト システムテスト パフォーマンステスト 性能テスト 負荷テスト 回帰テスト
  13. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストフレームを作って、「ある機能に対して、ある入力を与えて、ある出力を確認する」などのテストケースのひな 形を表現する ◼ テスト観点は機能・入力・出力などのさまざまな要素に分けて整理することがあるため、くっつける必要がある

    ➢ テストフレームを作成するには、テスト観点図からいくつかのテスト観点を取り出して、関連線でつなぐ ➢ テストフレームに名前をつけると、成果物を他の人に共有する際やレビューする際などに認識合わせしやすいと思う VSTePで使う道具③ テストフレーム 16
  14. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ ①テスト観点を洗い出す、整理する ◼ 使う道具:テスト観点図 ➢

    ②テスト観点をまとめて、テストの種類を整理する ◼ 使う道具:テストコンテナ ➢ ③テスト観点をくっつけて、テストケースのひな形を作る ◼ 使う道具:テストフレーム ➢ ④テストフレームに具体的な値を入れたり、値の組み合わせ を作って、テストケースを作る ◼ 使う道具:テスト技法 ➢ ⑤(必要に応じて)テストケースの手順を具体化したり、 自動化テストコードを書いたりする VSTePの簡単な流れ(再掲) 17
  15. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストコンテナを作らない例 ◼ 規模が小さければ、テストコンテナは作らないのもアリ ◼

    実際は一直線ではなく、いったりきたりする ◼ 本日は、このあと、このプロセスに沿ってテストケースを作る例を説明する VSTePを使ったテストづくりのプロセスの一例① 18 テスト観点を 識別・整理す る テスト観点図 テストベース (仕様書 など) テスト観点を くっつけて、テス トフレームを作 る テストフレーム テスト技法を 適用して、テス トケースを作る テストケース あとは、手順を具体化したり、 実行管理用のフォーマットに 入れ込んだりする Step1 Step2 Step3
  16. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストコンテナを作る例 ◼ 初めて入ったプロジェクトで、いちからテストづくりする場合、こういうプロセスでやることがある ◆

    そこそこの規模になると、1枚のテスト観点図にすべてのテスト観点を書くのが難しいと思われため、2段階に分けている ◼ 西先生に確認したところ、VSTePによるテストづくりのプロセスとして間違っていない、とのこと VSTePを使ったテストづくりのプロセスの一例② 19 抽象度が高め のテスト観点を 識別・整理す る やるべきテスト の種類を決め て、順序などの 関係性を整理 する 抽象的な テスト観点図 テストコンテナ 図 テストベース (仕様書 など) テストコンテナ ごとに、詳細な テスト観点を 識別・整理す る 詳細な テスト観点図 これ以降の、テストフレーム・テストケースを作る プロセスは前ページと同じなので省略
  17. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ あるクラウドサービスではメールアドレスとパスワードを入力してログインできる ➢ メールアドレス入力欄とパスワード入力欄には、半角英数記号のみ入力できる ➢

    メールアドレスは256文字以下の場合のみ有効とする ➢ パスワードは8文字以上64文字以下で、英大文字・英小文字・数字をすべて含む場合のみ有効とする ➢ 入力されたメールアドレス・パスワードが上記の文字数・文字種を満たさない場合は、入力欄にエラーを表示する ➢ ログインするとマイページを表示し、「ログインに成功しました」というメッセージを表示する 以下のテストベースを題材に、VSTePによるテストづくりの例を解説 20
  18. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ あるクラウドサービスではメールアドレスとパスワードを入力してログインできる ➢ メールアドレス入力欄とパスワード入力欄には、半角英数記号のみ入力できる ➢

    メールアドレスは256文字以下の場合のみ有効とする ➢ パスワードは8文字以上64文字以下で、英大文字・英小文字・数字をすべて含む場合のみ有効とする ➢ 入力されたメールアドレス・パスワードが上記の文字数・文字種を満たさない場合は、入力欄にエラーを表示する ➢ ログインするとマイページを表示し、「ログインに成功しました」というメッセージを表示する Step1.テスト観点を識別する 21 入力はメールアドレス・ パスワードがある。文字 種・文字数を考慮して テストする必要がある ログインの判定処理 や、入力チェックの 機能がある 出力として、エラー表示、 メッセージ表示、マイ ページへの画面遷移が ある
  19. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 階層構造(ツリー構造)で整理するためにテスト観点をグルーピング Step1.テスト観点を整理する 23 メールアドレス

    パスワード ログイン判定 文字種 文字数 入力チェック エラー表示 メッセージ表 示 画面遷移 出力に関するもの 入力に関するもの 処理に関するもの
  20. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テスト観点図の第1階層に何を置くか、下位階層をどんな構造で分解して整理するかは難しい問題 ◼ 決まった型や分解の方針があるとやりやすい ◆

    入力・処理・出力という型で分解 ◆ CIBFW(Condition, Item, Behavior, Fault, World)という型で分解 ◆ 機能をベースに分解 ◆ 画面をベースに分解 ◆ 品質特性をベースに分解 ➢ VSTePのテスト観点図では、テスト観点は単語や熟語のような短めな言葉で書くことが多い ◼ 長めの文章で書いても良いが、短めのほうが図としてスッキリ書くことができる ◼ 文章で長く書くと複数のテスト観点が入り混じる懸念があるので、短く分けて書くと良い テスト観点を識別・整理するときのポイント 26
  21. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ どんなテストをAutifyで作るかを検討する方法の一案 ~VSTeP × Autify

    でのテストづくり~ ◼ https://qiita.com/ktanizaki/items/d128fb070007471d8404 VSTePの適用事例③ 実務で使ってみた事例 32 テスト観点図 テストフレーム
  22. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢オンラインテスト技法ツール: (ギホーズ) ◼ VSTePによるテスト分析の機能を2023年3月29日にリリース! ➢

    オンラインホワイトボードツール:Miroなど ◼ 付箋・マインドマップ・図形・文字を自由に配置して、テスト観点図・テストフレーム・テストコンテナを作成できる ◼ NGTの記法に沿ったテスト観点図を作ろうとすると、少々手間 ➢ マインドマップツール:FreeMind、XMindなど ◼ テスト観点図を作成できる。ただし、 NGTの記法とは若干異なる。 ◼ テストフレームは何か別のツールで作ることになりそう(ExcelやGoogleスプレッドシートなどを活用?) ➢ ※他にもこういうツールを使えるよ!使っているよ!という方は、ぜひコメントください VSTePを活用したいときに使えるツール 34
  23. © 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テスト分析について ◼ 必要十分なテストを作るために、仕様書などのテストベースを分析して、テストすべきこと(テスト観 点)を洗い出す活動

    ➢ VSTePについて ◼ VSTePは、電気通信大学の西康晴氏が考案したソフトウェアテスト開発方法論 ◼ テスト観点図・テストコンテナ・テストフレームを作って、テストを開発する ➢ ツールの活用について ◼ GIHOZのVSTeP機能を使うと、テスト観点図・テストフレームをさくさく作れる ◼ その他のツールを活用する場合、Miroなどのオンラインホワイトボードツールを使うと良い まとめ 39