ソフトウェアの品質を学びまくる

ソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。

テスト設計・技法

デシジョンテーブル超圧縮の夢に破れて

『ソフトウェアテスト技法練習帳』の勉強会で、めちゃくちゃいい質問がありました。 ソフトウェアテスト技法練習帳 ~知識を経験に変える40問~作者:梅津 正洋,竹内 亜未,伊藤 由貴,浦山 さつき,佐々木 千絵美,高橋 理,武田 春恵,根本 紀之,藤沢 耕助,真鍋 俊…

QAエンジニアならきっと学びのある『地雷グリコ』を読んでほしい

突然ですが、わたしはギャンブル物のマンガが大好きです。ギャンブルは弱いんですけどね。 そんなギャンブル物のマンガ、フィクションは、大きく2つに分かれます。 1つは、主人公が強敵たちと戦いながら強くなっていくもの。 運要素もあるのですが、経験や精…

仕様スニペット004「サブスクリプションの自動更新」の #テスト設計パターン を考えてみる

JaSST北海道にかかりっきりで、テスト設計パターンに手をつけられていませんでした。 が、テスト設計パターンを考えることは、テスト設計という分野を今後充実させていくためにけっこう大事なことなんじゃないかと思っているので、仕様をもらえたら続けます…

デジタル庁「テキスト生成 AI 利活用におけるリスクへの対策ガイドブック(α版)」を読んでみた

2024年5月、デジタル庁から『テキスト生成 AI 利活用におけるリスクへの対策ガイドブック(α版)』が公開されました。 www.digital.go.jp 本書自身が「α版」として以下のように注記している通り、生成AIについて特に詳しいわけではもないわたしから見ても、…

仕様スニペット003「ログインパスワードの再設定」の #テスト設計パターン を考えてみる

5月19日に、3つ目の仕様スニペット・「003: ログインパスワードの再設定」を公開しました。 2つ目まではわたし自身が作っていたのですが、3つめはかいりさんがネタを提供くださいました! docs.google.com 「テスト設計パターン」「仕様スニペット」って何?…

仕様スニペット002「アカウントロック」の #テスト設計パターン を考えてみる

5月3日に、2つ目の仕様スニペット・「002: アカウントロック」を公開しました。 docs.google.com 「テスト設計パターン」「仕様スニペット」って何?という方は、こちらの記事を先にご覧くださいね。 www.kzsuzuki.com 仕様スニペット002: 「アカウントロッ…

自然言語からデシジョンテーブルを生成する、GIHOZ AIを触ってみた

ベリサーブ社が公開しているソフトウェアテスト技法サービス「GIHOZ」で、ベータ機能として「GIHOZ AI」が公開されました。 www.veriserve.co.jp 4月時点で利用できるのは、「仕様書などの文字情報からデシジョンテーブルを自動生成する」というものです。こ…

「一意な値」パターンのテスト設計を考える

ユーザーネームとかで重複を許容しない場合に、1. すでにAがある時に別の人がAを登録しようとする2. BさんがAに変更しようとする3. Aを削除してから別の人がAを登録しようとするの3パターンは検証しないといけないと思う。ただ、そういう話はテスト手法?と…

なわとびから考える情報の仕分けとソフトウェアテスト

レビューの難しさの一つに、「レビューする側とされる側で、感じる重みにギャップのある指摘」問題があります。 特に、「レビューする側は大事な問題だと思っているのだけれど、される側はそう思っていない」ものが厄介です。このような場合、される側は「そ…

「シナリオテスト」とは一体、何なのか - その6・ユースケーステストのカバレッジ

「その6」は、3年以上前のこちらです。 www.kzsuzuki.com Twitterで交わされていた「ユースケーステストのテストカバレッジ」という言葉が気になったので、考えてみました。 ユースケースやユーザーストーリーのテストカバレッジを考えるとき、カバレッジの…

テスト設計技法を分類する「Ostrandの4つのビュー」の原典に一生たどり着けない

暑かった夏ももう終わり。そろそろ秋ですね。 この記事では初秋らしく、テスト技法を分類する切り口の1つとしての「Ostrandの4つのビュー」を紹介します。 手始めに、『ASTERセミナー標準テキスト』を引用してみましょう。 ASTERセミナー標準テキストV3.1.1…

テストケースとAcceptance Criteriaの違いは何なのだろうか

ちょっと前に、テストケースとAcceptance Criteria*1(以下「AC」)の関係について、こんな疑問を抱きました。 ACが、「ユーザーストーリーが満たすべき必要条件」だとすれば、それはテストケースとどう違うのだろう。ACのあるべき記述粒度って? この疑問に…

ドメイン分析テストとデシジョンテーブルの違い

前回の記事の元ネタとなったHideo Oideさんのつぶやきから、「結局のところ、ドメイン分析テストとデシジョンテーブルテストの違いって何よ」という議論が生まれています。 この記事では、この議論に対するわたしの見解を整理してみます。よい解釈かどうかは…

価格計算仕様のトラップとテスト技法

Hideo Oideさんが、こんなつぶやきをしていました。 ドメイン分析でブツブツ言ってるのは、某ショップで(Amazonや楽天じゃない)、4000円以上お買い物すると送料無料(700円)、10%引きのクーポンが付与されてたって条件で、4100円分買うと、4100−410+700=4…

テストケースの期待結果と事前・事後条件

「データ駆動テスト」についてのメモを書こうと思い立って、その前にまず「テストケースの構成要素」について整理しようと思って、そのためには「テストケースの期待結果と事前・事後条件」について考えをまとめなくてはならないと無限後退している鈴木です…

#devsumi で「テストを学んでみたい開発者のためのソフトウェアテスト読書マップ」という発表をしてきました。

Developers Summit (デブサミ) 2023で、「テストを学んでみたい開発者のためのソフトウェアテスト読書マップ」という発表*1をしてきました。 event.shoeisha.jp 資料はこちらです。 speakerdeck.com これまで、ソフトウェアテストとかQAの世界でばかり聴講や…

JaSST nano vol.19で『ISO/IEC/IEEE 29119-11からAIシステムのブラックボックステストについてメモってみたの』というタイトルで発表しました #jasstnano

タイトル長すぎてすみません。 発表資料はこちらです。 speakerdeck.com vol.19は、わたしが発表予定を確認した時点では石川冬樹先生の「画像生成AIのQAを考えてみる」しかエントリーされておらず、「専門家の話を聞く前の前座として、AIのテストについての…

ソフトウェアテスト分野のFizzBuzz、「Myersの三角形問題」に学ぶ、テストについての教訓

テストエンジニアの多くが一度は耳にし、解いたことがあるであろう「Myersの三角形問題」。 社内のソフトウェアテスト勉強会で、n年ぶりm回目で解いてみました。 この10分ほどのトライを通じて、以下のようなことを再認識しました。 Myersの三角形問題とは M…

ISTQBの「性能テスト担当者」シラバス日本語版を読んでみた - その2

今回は、1.2で扱われている、性能テストのテストタイプについての記事です。前回の記事はコチラ。 性能テストにはさまざまなテストタイプがあるので、1つのデファクト・スタンダードとしてISTQBが整理してくれているのはありがたいことです。 またこの部分に…

ISTQBの「性能テスト担当者」シラバス日本語版を読んでみた - その1

JSTQBから、性能テストのシラバスの翻訳が出ました。 ついつい当たり前に思ってしまいがちですが、テストの知識のデファクト・スタンダードといえるISTQBのシラバスが日本語で読めるというのは、本当にありがたいことですね。訳者のみなさまに感謝。 jstqb.j…

コープランド本の例題から、ブラックボックステストとホワイトボックステストを考える

プレスマンの白本*1・「第19章 ソフトウェアテスト - コンポーネントレベル」の「19.5 ブラックボックステスト」には、以下のような説明があります。 ブラックボックステストテストはホワイトボックステストの代替ではない。むしろ、ホワイトボックステスト…

テストオラクルとは何か

"File:Chinese oracle bone (16th-10th C BC) - BL Or. 7694.jpg" is licensed under CC0 1.0 ソフトウェアテストの有識者の方々と、「テストオラクル」について話す機会があったので、自分なりの理解を整理しておきます。 まずはおなじみ、I/JSTQBの用語集…

テスト設計モデリングツール・GIHOZと、テストプロセスのつながり方について

Veriserveさんからリリースされた、テスト設計モデリングツール「GIHOZ」のおためしを、2回の記事で紹介しました。 www.kzsuzuki.com www.kzsuzuki.com 今回は、GIHOZへの期待と、テストプロセスのツールってこうなるのかなーという想像について書きます。 G…

Veriserveのテスト設計サポートサービス、GIHOZを触ってみる - その1

Veriserveさんが、テスト設計技法を使うためのWebサービスをリリースしたと聞いて! GIHOZ(ギホーズ)というそうです。 www.veriserve.co.jp さっそく触ってみましょう。 推奨ブラウザがわからないので Edge 87.0.664.41 で試してみます*1。 GIHOZを動かし…

『練習帳』の問題を解きながら、デシジョンテーブルと組み合わせテストの位置づけについて考える

『ソフトウェアテスト技法 練習帳』の第4章「組合せテスト」*1を解き終えました。 ソフトウェアテスト技法練習帳 ~知識を経験に変える40問~作者:梅津 正洋,竹内 亜未,伊藤 由貴,浦山 さつき,佐々木 千絵美,高橋 理,武田 春恵,根本 紀之,藤沢 耕助,真鍋 俊…

状態遷移テストの ignore と not happen について、astah*とともに整理してみる。

先日の記事で、状態遷移テストのカバレッジについて書きました。 www.kzsuzuki.com この記事のために利用させていただいている、モデリングツール「astah*」。このastah*で描く状態遷移表に用意されている、ignore と not happen という選択肢について、asta…

「シナリオテスト」とは一体、何なのか - その4

シナリオテストについてのメモです。 シナリオテストについては識者がいろいろな議論していますが、それらとの整合性とかは考えず、今わたしが考えている、わたしの知っているドメインでの「シナリオテスト」の話です。 ただ、下書きを書いた後に、2012年の…

モデルベースドテストについて学んでみよう - その5

せっかくファンクションネットを学んだので、「ハノイの塔」のモデルを作ってみることにします。 ハノイの塔とは ハノイの塔については、Wikiにアニメーションもあるのでそれを見ていただくのが早いと思いますが、「仕様」を引用します。 ja.wikipedia.org …

モデルベースドテストについて学んでみよう - その4

第3回では、MBTツール「MISTA」を使って、ブロックゲームのファンクションネットを完成させました。 www.kzsuzuki.com 第4回では、できあがったモデルでシミュレーションを行ったうえで、テストケースの自動生成をやってみましょう。やっとモデルベースドテ…

モデルベースドテストについて学んでみよう - その3

前回は、MBTツール「MISTA」でブロックゲームのシンプルなモデルを描いてみて、シミュレーションで一手進めたところまでを見ました。 www.kzsuzuki.com トークンとイベントの関係とは 上の状態から、もう一度pickup(x)を選んで遷移させてみましょう。 2つの…