システムテスト自動化標準ガイドを翻訳

発売は年末となりますが、システムテスト自動化標準ガイド(原題Software Test Automation)という書籍を、有志の仲間で翻訳させていただきました。Amazon.co.jp: システムテスト自動化 標準ガイド (CodeZine BOOKS): Mark Fewster, Dorothy Graham, テスト自…

ソフトウェア品質シンポジウムにてConcolic TestingのSIGを開催

前ブログに続きますがソフトウェア品質シンポジウムにて、Concolic TestingのSIGのサブリーダーを担当させていただきました。 Concolic Testing用途紹介(回帰テストの場合) from H Iseri SIGでは色々と技術的な課題が指摘されましたが、研究会としてそれら…

ソフトウェア品質シンポジウム パネルディスカッションに登壇

先日、ソフトウェア品質シンポジウムにて、「レビューとテストは使い分けるべきか?」のパネルディスカッションにパネラーとして参加させていただきました。 http://www.juse.jp/sqip/symposium/detail/day2/#session_d4 ディスカッション中に用いた資料 SQi…

WACATE2014夏にてテスト設計のワークショップ実施

少し前の話になりますが、先日WACATE2014夏というソフトウェアテストの合宿勉強会にて、テストに関わるワークショップを担当させていただきました。ワークショップ解説資料プログラム概要 テーマは、テスト設計を対象とした、リバースエンジニアリング、追加…

CRESTの生成値が記録されない問題

CRESTは、デフォルトでは解析対象を実行する際に生成した値を出力しない。 生成値を出力する方法としては、公式サイトにて、run_crest本体のコードに細工する方法が以下で説明されている。 https://github.com/jburnim/crest/wiki/CREST-Frequently-Asked-Qu…

Concolic Testingツール:CRESTによるテストケースの自動生成

ちょっと前に、C言語向けConcolic TestingツールであるCRESTを簡易的なサンプルで試したので、結果を簡単にまとめたいと思う。 なおCRESTを使用した雑感は以下の通り: コードから実行パターンを生成するのみ。テストオラクル問題をどうにかしないといけない…

AAAにてテスト自動化の品質特性について講演

先日、AAAというテスト自動化のイベントで、25分の短時間枠ですが、テスト自動化に関わる品質モデルや品質特性についてのセッションの機会を頂きました。http://www.slideshare.net/goyoki/ss-36405244イベントも大変エモい感じで、楽しい一日でした。 運営…

探索的テスト入門

だいぶ前に探索的テストの入門解説を行う機会があったのですが、最近その資料を公開しました。探索的テスト入門改訂版/Introduction to exploratory testing - Speaker Deckなお今年読んだExplore It!の内容を一部加筆しています。 一般的な割に意外と探索的…

Classification Tree法(クラシフィケーションツリー法)について

※Classification Tree法のまとまった解説として以下資料を作成しました:クラシフィケーションツリー法入門/Introduction to Classification Tree Method - Speaker Deck最新は上記参照ください。以降はバックアップです。●●●● ソフトウェアテストの分野では…

キーワード駆動テストの導入

最近キーワード駆動テストがややバズワード化している傾向を感じている。というのも、キーワード駆動テストの導入で無用な手間を増やしている場面を見るようになっているためだ。 キーワード駆動テストはフレームワークによっては手間を増やすことがあるので…

gauche.testを使う

Gaucheを扱う機会があったのだけれど、とりあえずGaucheでもTDDをやりたいということで、その標準の単体テストライブラリであるgauche.testに触れる。 gauche.test テストコードは以下の様なもの。ソートの関数my-quick-sortをテストする。 (use gauche.test…

問題形成チャートについて

少し前に佐藤允一さんの問題構造の書籍を読んでいたが、そこで説明される問題形成チャートが書籍で解説される問題構造をうまくまとめていて良かったので、今回紹介したい。なおこのチャートは結構昔に提唱されたものだけれど、REBOKに似た図が使われている等…

C++向けテストライブラリQuickCheck++について

Haskellで著名なテストライブラリにQuickCheckがあるが、C++ではそれに似た機能を実現するQuickCheck++というものが開発されている。今回はこのQuickCheck++について位置づけや例をまとめたい。 検査でのQuickCheckの位置づけ QuickCheckは、対象の実行領域…

@ITにてTDD/BDDの入門記事を執筆

少し前ですが、TDD/BDD入門連載の第一回を執筆させていただきました。http://www.atmarkit.co.jp/ait/articles/1403/05/news035.html入門連載の最初ということで基本的な内容が中心です。第二回以降や関連連載でも、テスト自動化研究会の仲間による応用的・…

C/C++でのユニットテストによるメモリリーク検出

CやC++の開発ではメモリリークに悩まされることが多い。メモリ管理はスマートポインタに限定するなど自分たちが注意しても、外部で開発されたコードやレガシーコードによって結局逃れられないことがしばしばある。 さらに組み込み開発といったコードの実行環…

Cadence SMVによるアルゴリズムの検査

先日、Cadence SMVによるモデル検査を扱う機会があった。アルゴリズムの検証で有用だと感じたので 復習がてら簡単に使ってみたい。 検査 今回は、並行コンピューティング技法で紹介されているスピンロックのバグの実装例をモデル検査で検証する。 その検査対…

Boost.Graphでの最短経路探索

先日、Boost.勉強会 #14 東京に参加させて頂いたが、そこでBoost.Graphの話があった。 復習がてら、今回はTDD Boot Camp 東京 for C++での最短経路探索の課題(TDD Boot Camp 東京 for C++ 課題)をBoost.Graphで解いてみる。なお課題は規模が大きいので、今回…

【情報共有】第8回組込みソフトウェア技術研究会向け資料

先日、組込みソフトウェア技術研究会というところで、組込みでのテスト自動化について紹介をさせていただきました・ 当日資料を下記に共有します。https://drive.google.com/folderview?id=0BwzSv7bTjDW9VEJhRS13dVhMeHM&usp=sharing

テストの品質モデルについて発表

先日、JaSST13'東海のポスターセッションにて、「テストの品質モデル構築の取り組み」と題した発表をさせて頂きました。 テストの品質モデル構築の取り組み from H Iseri 内容は、まず前提として、テスト環境・テストスクリプト・テストデータといった、テス…

データの品質モデル(ISO/IEC 25012)について

ソフトウェア品質モデルの国際的な標準規格としては、長らくISO/IEC 9126が一般的でした。ただ規格が置換されたこともあり、最近はISO/IEC 25000シリーズ(通称SQuaRE)が使われるようになっています。 ISO/IEC 25000シリーズでは、ISO/IEC 9126と比べていろ…

WACATE2013冬にてリスクベースドテストについて講演

先週末、WACATE2013冬というソフトウェアテストの合宿勉強会にて「リスクベースドテストを活用しよう」というセッションを担当させていただきました。リスクベースドテストを活用しよう/Risk Based Testing In Action - Speaker Deck内容はリスクベースドテ…

Ultimate Agile Stories Iteration 3に寄稿

アジャイルの同人誌Ultimate Agile Storiesですが、前号に続いてIteration 3でも「アジャイルでのシステムテストはテスト戦略ありき」という記事を寄稿させていただきました。 http://ultimateagilestories.web.fc2.com/bookcontents3.html 今回は規模が大き…

CCCCについて

サイクロマティック数などソースコードのメトリクスは、レビューやリファクタリングのとっかかりとしてしばしば有用になるけれど、それらをシンプルかつ手軽に解析する手段の1つとして、前々からCCCC(C and C++ Code Counter)を使っている。最近身近なと…

ユニットテスト関連の入門記事執筆

年度末辺りからですが、「Developers AppKit Box」というサイトでユニットテストに関する記事を3つほど書かせて頂きました。ユニットテストの基礎_Developers AppKitBox | AppTest | Developers AppKitBoxテスト駆動開発の基礎_Developers AppKitBox | AppT…

ソフトウェアが止まったり落ちたりした状態をgdbで解析する

ソフトウェアがデッドロックや無限ループ等で応答しなくなったり、Segmentation Fault等で強制終了したりする場合での、gdbを使った解析手法について簡単なまとめ。 なお今回の内容はunixやlinux開発での基本知識となっていると思うけれど、例えば組み込みli…

gdbでのマルチスレッド処理のデバッグや制御について

マルチスレッド処理のデバッグや解析において、gdbで各スレッドの実行・停止を制御する操作についてメモ。 なお今回は解説で以下のサンプルコードを使用する。ここでは3つのスレッドがそれぞれ「m_count 」「t1_count 」「t2_count 」の3つの変数をインク…

実行中でのメモリ使用情報の取得

前回のエントリに続いて、今回は実行中に自分自身のメモリ使用情報を取得する方法についてメモ。 検証、プロファイリング、メモリ容量に合わせたアルゴリズムの選択処理などを行うために、実行中に自分自身が使用しているメモリサイズやそのピークサイズを取…

実行中でのコールスタックの取得と表示

メモ用。デバッグ等で有用なコールスタックはgdbなどの各種デバッガで取得できるけれど、実行中にアプリケーション内で取得したい場合がある。 それはglibcが使えるならbacktrace()、backtrace_symbols()で実現できる。 例えば下記のコード: #include <stdio.h> #inc</stdio.h>…

探索的テストの必要性

探索的テストがバグの大半を検出する 少し前にJaSST'13Tokyoに参加したのだけれど、そこでの基調講演で気になったのが、「システムテスト工程では、バグの半分は探索的テストのアプローチで検出される」という言及。その場で聞いたときは、手順のドキュメン…

「Androidアプリテスト技法」執筆

ちょっと前に、日本Androidの会テスト部の有志の方々とともに「Androidアプリテスト技法」という書籍を執筆させて頂きました。来週からようやく発売となります。http://www.shuwasystem.co.jp/products/7980html/3704.html 今回自分は主に前半のテスト設計関…