ソフトウェア教育の権威Cem Kaner氏へのインタビュー 優秀なテスターの育成と訓練方法:The Rational Edge 法学博士であるCem Kaner氏は、フロリダ工科大学のコンピュータサイエンスの教授であり、おそらく世界で最も著書と読者の多い作家、コンサルタント、教育者、そしてソフトウェアテストを専門にする弁護士でもある。今回Kaner氏には、テストのための教育とコンサルティング業務との関係に対する持論や、「アジャイル」ソフトウェア開発に対する見解を語ってもらった。 Guckenheimer フロリダ工科大で教鞭を執って2年が経過しましたが、ソフトウェアテスターの育成に関して何を学びましたか。営利企業と大学ではソフトウェアテスターの訓練方法に違いがあるのでしょうか。 Kaner 大学教授には、社会人に教えていたときにはなかった2つの大きな喜びがあります。まず、実際に学生にテスト
単体テストレベルでは、「コードカバレッジ」を意識しながら(基準にしながら)テスト設計やテストケース作成を行う機会が多い。でも、この「コードカバレッジ」って用語がばらばらであったり、どのカバレッジ基準がどういうことを確認するものなのか、どういう不具合を見つけられるのか、見つけられないのか、といったことが自分の中でしっかりまとまっていなかったので、いろいろ調べてまとめようと思います。 2008/03/12更新 サンプルプログラムで解説を追加 サンプルプログラムは、以前例題として作成したテニスのスコアボードについて [例題]テニスのスコアボード ステートメントカバレッジ 命令網羅。テスト対象となるプログラム中のステートメント(命令文)をどれくらい実施したかどうかをあらわす基準。すべてのステートメントを最低1回実施した場合に、ステートメントカバレッジ100%という。もっとも基本的なカバレッジ基準で
はじめに-この特集のねらい この特集では、ソフトウェアの組み合わせテストについての技法である「オールペア法」と、オールペア法を採用したテストケース作成ツール「PICT」の機能、およびその効果的な使い方を、多くの例を用いて解説していきます。筆者はPICTを実際のテスト業務に1年半以上使用してきました。そこから得られたノウハウも合わせて公開したいと思います。 ソフトウェアはさまざまな因子(パラメータ)の組み合わせにより、その挙動が違ってきます。これらパラメータの組み合わせを総当りで行うことはテスト件数の爆発を招き、実際に行うのは多くの場合、不可能です。どのようにすればテスト件数の爆発を招かずに、しかもテストの質を落とさない組み合わせをテストできるかが重要な課題となっています。 こうした課題を解決するために考え出された効率的な組み合わせテスト技法は、大規模、複雑化するソフトウェアの組み合わせテス
直交表の何がうれしいのか? † 例で示した値が1〜3で4列の全体の値の組み合わせを考えてみると(3,3,3,3)といった組み合わせも有効です。すると全体の組み合わせ数は 3 × 3 × 3 × 3 = 81通りになります。一方、例の直交表によると4列中の任意の2列間の組み合わせは9行 = 9通りで表現できます。 これはどういうことかというと、全体で81通りある内のわずか9通りのテストケースによって任意の2列間同士の組み合わせを100%網羅できるということです。 テストを行う多くの状況においては、作成して実行すべきテストケースの数がとにかく多すぎる。その中から「良い」サブセットを選択するには、どうしたらよいだろうか。その答えが直交表なのである。多数の変数があり、それらの各変数が定義されている状態を取るときにはいつでも、問題を直交表にマッピングすることができる。(体系的ソフトウェアテスト入門,
A1の条件(上記表の実験番号1〜9。緑色の1)であれば、実験番号1〜9において、B1(ピンク),B2(茶色),B3(水色)が3回ずつ、C1,C2,C3(Cの列)も実験番号1〜9において3回ずつ、D〜Hも同じように実験番号1〜9で1〜3が3回ずつ含まれています。 したがって、A1,A2の平均を比較すれば、A以外の因子の影響は平均化されるので、Aに関しては他の因子の影響がない公平な比較ということになります。 直交表の実験に従って得られた実験結果は、分散分析を行って、最適な水準が求められます。 先ほど、実験の回数が減らせると書きましたが、例えば8つの因子(製造条件)がある場合、因子を一つずつ変えて実験したら、4374通りの実験をしなければなりません。 しかし、直交表を使えば、18通りですみます。効率は243倍です。 直交表には以下の型があります。 2水準型:L8、L16、L32 3水準型:L9、
L18直交表がおすすめ 直交表には、主に2水準系、3水準系、混合系があります。2水準系、3水準系の直交表は、任意の2列の交互作用が特定の列の効果と交絡します。 混合系の直交表は、特定の列に交互作用が集中せず、多くの列に分散します。よって、仮に交互作用があっても、その効果はいろいろな列に少しずつ現れますから、本当に大きい効果の因子を見つけることができるのです。 因子どうしの間に交互作用は多少なりともあるものですが、主効果をくつがえすような、交互作用がなければいいのです。 ただし、主効果より大きな交互作用がある場合は、要因の推定が正しくなされません。実験結果を踏まえて、もう一度検討することになります。 もっとも、交互作用の有無が最初から分かるはずもなく、交互作用より簡単な主効果さえ不明だから実験するのですが。 ちょっと横道にそれましたが、直交表は混合系を選択するべきだといいたいのです。混合系の
条件の組み合わせ表と行動の組合せ表を結合することで、複雑な関係がスッキリ 解説 会員制の組織において、「正会員」「準会員」「賛助会員」などのように会員区分がある場合、新たな入会者 を登録するのに、区分を間違えて登録しては困ります。そこには区分の基準があるはずです。しかし、基準が 複数の条件によるようになると、基準文書の表現では解りづらくなり、間違いも起きてしまいます。 このように登録条件が複数あり、また条件の違いにより処理方も複数 あるときにデシジョンテーブルを作成すると組み合わせ関係がスッキリ表せるので、間違いの無い処理が 可能となります。 デシジョンテーブルでは組合わせ条件項目を縦に並べ、横にそれらの組合せを書いた表を上部にします。 その下部に処理項目を縦に並べて表とします。そして条件表には、条件に該当する場合に「Y」該当しない 場合は「N」を書き込み、行動表には処理項目を「X」で書き
概要 データフローテスト(data flow testing)とは、ソフトウェアテストの手法の一つで、データや変数の使用の仕方に矛盾が無いかを調べるためのもの。ソフトウェアの内部構造を前提とするホワイトボックステストの一種。 プログラム中に登場するデータや変数は、定義や入力に始まり、処理や使用、参照され、削除、解放されて消滅するという過程をたどって取り扱われる。データフローテストでは各ステップがこの順番通りに行われているか調べられるようなテストデータの組み合わせを与える。 これにより、コード中で一度も参照されない無駄な変数の宣言や、使用前に何度も繰り返し行われる無駄な初期化処理、使い終わったメモリ領域の解放し忘れによるメモリリーク、未定義のデータや初期化前の変数を処理しようとして生じるバグなどを発見することができる。 どのような変数を対象として、どのようなデータを与えるかといった違いによっ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く