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

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

テスト設計・技法

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

『ソフトウェアテスト技法 練習帳』の第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つの…

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

モデルベースドテスト(Model-based Testing、MBT)について学ぶシリーズの第2回です。2018年アドベントカレンダーの2日目でもあります。 www.kzsuzuki.com 第1回を振り返ってMBTとさくっと説明すると、「要求・仕様に基づいてモデルを描き、そこからテスト…

テストの成功と失敗どちらを期待するのかマトリクスを描いてみる

2月に「リグレッションテストと他のテストを分けるものは何?」という、哲学的な問いが現れていたので、その疑問には全然答えない記事を書いてみます。 リグレッションテストとその他のテストを分けるのってつまるところ実行回数なのかな?2回目以降のテスト…

『ソフトウェアテスト技法 練習帳』を解きながら、自分の考え方も整理していく。

『ソフトウェアテスト技法 練習帳』を、じわじわ解いています。 ソフトウェアテスト技法練習帳 ~知識を経験に変える40問~作者:梅津 正洋,竹内 亜未,伊藤 由貴,浦山 さつき,佐々木 千絵美,高橋 理,武田 春恵,根本 紀之,藤沢 耕助,真鍋 俊之,山岡 悠,吉田 直史…

パスワード要件で原因結果グラフを描いてみたけれど苦しい。

完全にローカルメモ。 dマガジンというサービスのパスワード要件に一瞬迷ったのですが、秋山さんから「原因結果グラフを描くのだ!」とのご神託を受けたので、トライしてみました。 原因結果グラフを描くのだ!ちょっと難しいけど。— あきやま (@akiyama924)…

AI/DLシステムの説明可能性と組み合わせテストの関係

はじめに 辰巳敬三さんが先日、このようなツイートをされていました。 Automated Combinatorial Testing for SoftwareExplainable Artificial Intelligencehttps://t.co/xvOyV4lAkA— Keizo Tatsumi (@KeizoTatsumi) June 6, 2019 「An Application of Combin…

境界値分析を行える対象とはどんなものなのか

同値分割と境界値分析は、セットで学ぶことが多い技法です。でも、どんな同値クラスにも境界値があるわけではありません。 たとえば、世界各国を同値分割することを考えましょう。 日本を「アジア」、エジプトを「アフリカ」、のように「地域」という切り口…

ドメイン分析テスト周りの用語の整理メモ

Twitter上で不定期に議論になる、ドメイン分析テストにおけるOn/Off、In/Outなどについての整理メモ*1です。 同値分割、境界値分析、ドメイン分析についての概要を知っていることを前提としています。 用語の定義 『ソフトウェアテスト技法ドリル』でも『は…

同値分割の「partition(ing)」という単語についてのメモ

同値分割に関する湯本さんのnoteを読んでの、単なるメモです。 note.mu そもそも、part、partition、partitioning と、英単語の時点でややこしいんですよね。以下、Oxford Dictionaryからの引用ですが、適宜はしょっています。 part An amount or section wh…

有則のテストは「組み合わせテスト」の技法に含まれるのか?

Twitterで、「組み合わせテストに分類されるテスト技法はどれか」という話が流れていました。 デシジョンテーブル、原因結果グラフ、原因流れ図といった、いわゆる「有則」のテスト技法でも命題の真偽の組み合わせを考えますが、これは組み合わせテストに含…

ソフトウェアテスト技法の使い間違いって何? 彼氏はいるの? 性格が悪いって本当? 調べてみました!#テストアドカレ

この記事は、ソフトウェアテストの小ネタ Advent Calendar 2018、17日目の記事です(先走り)。 qiita.com 16日は、mktkさんの以下の記事でした。 panmania.hatenadiary.com 0. テスト技法の「使い間違い」 1. デシジョンテーブル: 実装を無視して圧縮する!…

『テスト管理を語る夕べ』での発表内容についての補足(とか言い訳) ー 後編

まーた間が空いてしまいましたが、後編では、当日の関連ツイート(togetter)に対し回答・補足していきたいと思います。 www.kzsuzuki.com togetter.com 資料はコチラです。 20181102_テスト管理を語る夕べ from Kazuhiro Suzuki www.slideshare.net そもそ…

『テスト管理を語る夕べ』での発表内容についての補足(とか言い訳) ー 前編

『テスト管理を語る夕べ』というイベントで、お話をさせていただきました。 主催のみっきーさん、インフラ整えてくださってしんすくさんとなそさん、twitter実況してくれた書記のぱいんさんとブロッコリーさん、←どんなメンツなんだ? そしてこんなマニアッ…

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

この記事は、「モデルベースドテストについて学んでみよう」2018年アドベントカレンダー、1日目の記事です。 こんな構成で、クリスマスまでに8夜分くらい書く予定です。 例によって、ISTQBシラバスを読みながら、自分の理解をまとめる。 MBTを実現するための…

JSTQB-TTAシラバスのお勉強 ─ 第2章「構造ベースドテスト」(2)

ずいぶん間が空いてしまいましたが、TTAの第2章の残り分、2.5~2.8までです。 www.kzsuzuki.com 2.5 複合条件テスト 対応するカバレッジは、複合条件網羅。すべてのパラメタのすべての真偽を組み合わせる方法です。 すぐに組み合わせ爆発が起こることは想像…

Ericssonの『ユニットテストカバレッジの神話』を読んでみる

今年の4月に『Mythical Unit Test Coverage』(ユニットテストカバレッジの神話)という論文が出ました。ソースコードの品質指標として言及されることの多いコードカバレッジについて、先行研究を整理したうえで、商用の大規模ソフトウェアにおける追加検証…

JSTQB-TTAシラバスのお勉強 ─ 第2章「構造ベースドテスト」(1)

TTAシラバスの第2章「構造ベースドテスト」は非常に謎めいた構成で、2.2から2.6までがコードカバレッジの話なのに、2.7が突然「APIテスト」なのです。なんだかとてもバランスが悪い印象なのですが、とにかく進むしかありません。 あと「based」の訳が当初「…

機械学習の分野でも注目される、メタモルフィックテスティングとは何か。

先日のJEITAのイベントで、メタモルフィックテスティング(Metamorphic Testing、MT)というものを知り、「誰かMetamorphic Testingの勉強会やりませんか?」とブログに書いたところ、ソフトウェアテスト・ヒストリアンの辰巳さんが資料をたくさん紹介してく…

テスト技法学習のビッグウェーブに乗りたい気持ちと、頑ななる精神

今年のWACATEのテーマの1つがドメイン分析だったり、先日初めて開催されたJSTQBアドバンストレベル テストアナリストの試験でテスト技法の問題が大量出題された(らしい)りと、テスト技法の流行がまた来てるのでしょうか? テスト技法といえば、関東圏では2…

第1回『事例とツールで学ぶHAYST法』勉強会を開催します。

定員25名に対しもう十分申し込みいただいているので、いまさら宣伝することもないのですが、自分のブログにも記録しておきます。2014年9月30日に、@Niftyエンジニアサポート様のサポートを受けて、勉強会を開催いたします。 【中止】第1回『事例とツールで学…

ソープオペラテストとは何か。

さあ今日も、人の褌で相撲を取る「とは何か」シリーズです! 今日ご紹介するのは、Soap Opera Testing。Hanz Buwalda氏によるstickymindsの記事が、コチラ[pdf]にあります。 ソープオペラテストとは? 「ソープオペラ」の意味・語源は記事内でも紹介されてい…

「コピー&ペースト&モディファイ法」の第二の側面

無知見のテスト対象に対して、テスト計画・テスト設計という本来あるべきプロセスを省略し、素早くテスト実装を行うことのできる極めてプラクティカルなテスト技法として、「コピー&ペースト&モディファイ法」(通称「CPM法」)があります。 詳しくは、@snsk…

Property-based Testing、そしてExample-based testingとは何か。

Property-based Testingという概念があることを知りましたので、元ネタを読んでみました。 blog.jessitron.com Jessica Kerrさんのこの記事に、定義が書かれています。 Property-based testingでは、入力に対するコードの出力に関するstatementを作成する。…

【翻訳】ソフトウェアセキュリティに関するブラックボックステスト技法

はじめに Software Testing Geniusという天才的な名前のブログに、以下のエントリーがありました。 www.softwaretestinggenius.com ソフトウェアテスト技法ポジショニングマップでいう上象限のお話で、テスト設計より後の、自動テストとして実行できるテスト…

テスト入力値の自動生成と、concolic testing

ほとんど参加できなかったJaSST'13 Tokyoに絡んで、秋山浩一さんから「concolic testing」という言葉を聞きました。 @kz_suzuki @krsna_sub 私も聞き取れなかったのですが、たぶん、Concolic testing のような物の事だと思いました。— akiyama924 (@akiyama9…