クエリ: 英語で「基準」という意味がある、コンピューターのハードウェアやソフトウェアの性能を比較するために行われるテストを何という?
文章: ベンチマーク コンピュータの分野においては、コンピュータシステムのハードウェアやソフトウェアの性能を測定するための指標のことを指す。ひとつあるいは複数のプログラムを実行した結果をベンチマークスコアと呼び、ある対象に関する相対的な性能を表す指標として用いられる。また、ベンチマークスコアを測定するための特別なプログラム(ベンチマーキングプログラム)自体をベンチマークと呼ぶこともある。著名なベンチマーキングプログラムとしてHPC性能を測るLINPACKや、データベース処理の性能を測定するTPC、DirectXにより3DCGの性能を測る3DMarkなどがある。
文章: ソフトウェアテスト 完成前のソフトウェアを開発者以外に利用してもらい、欠陥を発見してもらうテストのこと。アルファテストは、ベータテストよりも完成度の低い段階(アルファ版)で行うテストである。アルファテストは内部で、ベータテストは外部でという区分をすることがある。オープンソース、オンラインゲームにおいては、ベータテストを広く一般に公開し、宣伝の目的も兼ねて実施する場合がある。ベータテストで配布するソフトウェア(ベータ版)は、基本的には製品版と同等の機能を備えるが、不具合が存在する可能性があるため、利用に際して注意すべきことが注意書きなどに記載している。設計側が予期していない不具合が発生することもあり、注意書きにないことで何を考えなくてはいけないかを想定し、システムのバックアップなどを実施してから導入することを基本とするとよい。 文章: シンクレア ZX81 ZX81のレビューは、その価格性能比の高さを強調したが、同時に技術的欠点も指摘していた。ティム・ハートネル(英語版)は Your Computer 誌で「ZX81は喜びと失望の両方だ」と書いている。彼はマニュアル、表示と文字列操作などのZX80からの改良点を賞賛し、「それまで値段が高くて手が出せなかった人にとっては最初のコンピュータとして最適」だとした。しかし内蔵メモリが小さすぎ、「何か意味のあることをしようとすれば」メモリ拡張パックが必須だと指摘した。また、レビューするに当たって正しく動作するマシンを得るまでに2回交換する必要があったことを明かし、非常に信頼性が低いと指摘した。 ニュー・サイエンティスト誌のマルコム・ペルトゥは「特にコンピュータ愛好家にとっては金額に見合う大きな技術的価値がある」と評したが、それ以外の人々は「基本システムにすぐさまうんざりさせられそうだ」と書いている。また、マニュアルと付属ソフトウェアの弱点を指摘し、「ハードウェア本来よりも制限をきつくし、使いにくくした設計だ」と批判し、エイコーンやコモドールのより強力なコンピュータを買うために金を貯めた方がよいかもしれないと書いている。ZX81はBASICプログラミングの学習にはある程度の価値があり、コンピュータに対する心理的障壁を低くしたという功績は認められるが、「実施にコンピュータに不慣れな者がシンクレアのシステムを使ってコンピュータによる情報システムの価値や性質を理解するには、品質問題など乗り越えなければならない問題が多々ある」と結論付けている。 Personal Computer World 誌のデレク・コーエンは1981年5月に休暇をとったが、その間に同僚たちによりZX81のレビューが掲載された最新号が発刊された。その表紙はZX81とチンパンジーの写真だった。その後も同誌でシンクレアのマシンをレビューする際にはチンパンジーが登場した。レビューを書いたのは同誌スタッフのデイヴ・テバットで、いろいろと欠点はあるが、何よりも安いと評価した。彼はZX81について「大金を費やさずにコンピュータについて知りたい人々には最適の製品」と評し「あなたがコンピュータについて初心者で、それを探究するのを楽しみたいなら、このマシンはそのための安価な手段を提供する。子どもたちはZX81を愛するだろうし、何も疑問を持たないだろう。コンピュータに詳しい人もちょっとした楽しみのために買うかもしれない」と結論付けた。 文章: 基準 基準(きじゅん)とは、行動や判断の根拠となる物や数値である。何かを比較する時に用いる。 文章: テストパターン テストパターンとは、電子部品や装置(ハードウェア)、ソフトウェアが要求仕様にしたがって動作することを検証するためにこれらに入力し、得られた出力を観測するための電気信号やデータ(テストデータとも)のことである。 検証の対象物の動作仕様に応じて適切なテストパターンが決められるが、異なった性質の仕様検証のためには各々の性質に適した複数パターンを用いる。また、ソフトウェアや集積回路の検証などにおいてテストパターンにより検証できる性質の割合を網羅率(あるいはテスト網羅率、コード網羅率)と呼ぶ。網羅率の高い検証のためには用意するテストパターンを慎重に設計する必要がある。また、テストパターン作成を効率よく扱うために自動的にパターンを生成する場合があり、自動テストパターン生成(ATPG、英語: automatic test pattern generation)などと呼ぶ。 また、製造した個々の製品の出荷検査用だけでなく、出荷後の運用・保守時に用いられるテストパターンもある。 文章: スタブ スタブ(stub)とは、コンピュータプログラムのモジュールをテストする際、そのモジュールが呼び出す下位モジュールの代わりに用いる代用品のこと。下位モジュールが未完成でも代わりにスタブを用いることでテストが可能になる。逆に上位モジュールの代わりに用いる代用品をドライバ(ソフトウェアの場合)またはコントローラ(ハードウェアの場合)と呼ぶ。ただし、仮のモジュールではなく正規のモジュールについてもドライバまたはコントローラと呼ばれることがあるので、区別するために「テストドライバ」や「サンプルドライバ」などと呼ぶことも多い。 なお、stubの原義は使い残し、半券、切り株といった意味である。 文章: ダック・テスト ダック・テスト(duck test)とは、アメリカ合衆国やイギリスでよく見られるアナロジーのひとつである。特にイギリスにおいては、「英国規格ダック・テスト」と、あたかも国の標準規格であるかのようにも呼ばれる。ダック・テストは、以下のように説明される。ダック・テストは帰納法の一種である。ある者が認識可能な事象から、未知のものの真の姿を推し量ることができるというものである。このテストは、ものごとは見えるとおりのものでないこともあり得るとする深遠な議論への反論としても用いられる。起源については定説はないが、有力な説は2説ある。1つは1964年にリチャード・カーディナル・クッシングがフィデル・カストロの言を参考にしてこの言葉を用いたとする説である。 文章: ヴィルトの法則 ヴィルトの法則は、ニクラウス・ヴィルトによる1995年に発表された記事A Plea for Lean Softwareにおける議論に由来する警句で、コンピュータのプログラム(ソフトウェア)とハードウェアの成長(growth)と性能のバランスに関して「ソフトウェアは、ハードウェアが高速化するより急速に低速化する」とするものである。 ヴィルトはこの言葉をOberonについての彼の著書 (1991) の序文で Martin Reiser が書いた「その希望とは、ハードウェアの進歩がソフトウェアの病気を全て癒すだろうことである。しかし注意深く見れば、ソフトウェアの巨大化と緩慢化はハードウェアの進歩を超えていると気付く」という文章が元だとしている。このような傾向は1987年ごろには早くも明らかになりつつあり、同様のことを先に言及した者も少なくない。 多くの分野でハードウェアが時と共に高速化している現象が見られる。特にCMOSロジックが使われるマイクロコンピュータ革命以降のコンピュータは、ムーアの法則に従ったプロセスルールの微細化によって、デナード則により、縮小されたこと以外はそのままであっても、その縮小率に応じて高速化している(2016年現在では、消費電力の低下が法則通りにならなくなっていることから、必ずしもそうではないが)。ヴィルトの法則は、現実社会においてポピュラーなプロダクトが、その高速化以上に膨れ上がって(bloat)いるために(ソフトウェアの肥大化)、ユーザから見れば以前と同じだけの仕事をさせるのに、かえって遅くなってはいまいか、という問題提起と言える。 似たことを2009年、Google創業者ラリー・ペイジも述べている。そちらをペイジの法則と呼ぶ。名付け親はセルゲイ・ブリンで、Google I/O Conference 2009 でのことである。 文章: 較正 較正(こうせい、calibration)は、測定器の読み(出力)と、入力または測定の対象となる値との関係を比較する作業である。較正が本来の表記だが、「較」(コウ)は常用漢字の音訓表にない読みのため、校正(こうせい)またはこう正と表記することもある。「かくせい」とは読まない。例えば、ある機器に流れる電流について、「ある測定器で測ったら1Aだったが別の測定器では5Aになる」のであれば、それらの測定は用をなさない。較正は、それぞれの測定器の読みのずれを把握し、共通の測定の基盤を作る行為である。上の例では、安定的に既知のアンペア数の電流を流すことができるような機器(標準器)を測定することで、個々の測定器の読みが期待する値からどれだけずれているかを知ることができる。この行為が較正であり、較正の結果(ずれている量)を加味することで、測定は適正に行われる。 文章: ホワイトボックステスト ホワイトボックステストは、アプリケーションの機能(ブラックボックス)ではなく、アプリケーションの内部構造をテストするソフトウェアテストの手法である。構造テストとも呼ばれる。開発したソフトウェアを中身が見える箱として扱い、内部論理を網羅的にテストする。プログラムが辿る経路をどれだけ実行したかを基準とする。 ホワイトボックステストでは、システムの内部的な視点とプログラミングスキルを使用して、テストケースを設計する。テスターは、入力を選択してコード内のパスを実行し、期待される出力を決定します。これは、インサーキットテスト(ICT)など、回路内のノードのテストに類似しています。ホワイトボックステストは、ソフトウェアテストプロセスのユニット、統合、およびシステムレベルで適用できます。従来のテスターは、ホワイトボックステストをユニットレベルで行われると考える傾向がありましたが、今日では統合およびシステムテストに使用されることが多くなっています。ユニット内のパス、統合中のユニット間のパス、およびシステムレベルのテスト中のサブシステム間のパスをテストできます。このテスト設計方法では、多くのエラーや問題を発見できるが、仕様の実装されていない部分や不足している要件を見逃す可能性がある。ホワイトボックステストが設計主導型である場合 、つまり、ソフトウェアの各コンポーネントの動作が合意された仕様のみに基づく場合、ホワイトボックステスト手法で、未実装の要件と欠落している要件の評価を行うことができる。 ホワイトボックステストの設計手法には、次のコードカバレッジ基準が含まれる。 制御フローテスト データフローテスト ブランチテスト ステートメントカバレッジ 決定範囲 変更された条件/決定範囲 プライムパステスト パステスト 文章: 機能テスト 機能テストは、品質保証(QA)プロセスであり、テスト対象のソフトウェアの構成要素の仕様に基づいてテストケースを作成する一種のブラックボックステストである。機能は、入力を行って得られる出力を調べることでテストされ、内部プログラム構造は考慮されない(そのためホワイトボックステストとは異なる)。 機能テストは、システムや構成要素の指定された機能要件への準拠を評価するために実施される。 機能テストはブラックボックステストの一種であるため、ソフトウェアの内部動作を知らなくても、ソフトウェアの機能をテストできる。これは、テスターがプログラミング言語やソフトウェアの実装方法を知る必要がないことを意味する。テスターはソフトウェアの開発には関与していないため、テストにおける開発者のバイアス(または確証バイアス)が減少するのは良い点である。 機能テストは、モジュールまたはクラスの関数(メソッド)をテストすることを意味するわけではない。機能テストは、システム全体の機能の一部をテストするものである。 機能テストはシステムテストとは異なる。機能テストでは「設計ドキュメントや設計仕様に基づいてプログラムの確認を行う」仕組みであるのに対し、システムテストは「公開されているユーザー要件、システム要件に準拠しているかを検証する」仕組みである。 文章: ソフトウェア LSIなどを例にとると、LSIの物理的な回路そのものはハードウェアであり、その回路によって表現される処理手順はソフトウェアと考えられる。一般的なソフトウェアは、補助記憶装置の中に機械語として記録されている。なお機械語は中央処理装置(CPU)の製品種別ごとに異なっている。ソフトウェアの利用時には補助記憶装置の内容が主記憶装置に読み込まれた後、中央処理装置において、データの移動、計算、制御フローなどの処理が実行される。これにより機械語は、コンピュータの状態を次々と変化させる。従ってソフトウェアは、ハードウェアの状態を変化させる命令列と考えられる。記憶装置に異なる命令群を読み込んで計算を制御する概念は階差機関の一部としてチャールズ・バベッジが考案した。 文章: モデルナンバー モデルナンバーは、メーカーが製品を区別するためのつける数列名。単に製品のグレードや登場時期で数値を増減させている場合もあれば、メーカー独自の規則で決定していることもある。通常は数値そのものに何らかの量的な意味はない。ただし、パソコン用CPUというカテゴリでAMDが2001年10月9日にCPUの新製品であるAthlon XPの発表と同時に導入したモデルナンバーには、パソコン用CPUの異種プロセッサ間の性能比較を目的としてAMD社がその「数量」に意味を持たせている。このことが大きな波紋を呼んだ。 文章: 機能テスト 機能テスト (英: functional testing)は、品質保証(QA)プロセスであり、テスト対象のソフトウェアの構成要素の仕様に基づいてテストケースを作成する一種のブラックボックステストである。機能は、入力を行って得られる出力を調べることでテストされ、内部プログラム構造は考慮されない(そのためホワイトボックステストとは異なる)。 機能テストは、システムや構成要素の指定された機能要件への準拠を評価するために実施される。 機能テストはブラックボックステストの一種であるため、ソフトウェアの内部動作を知らなくても、ソフトウェアの機能をテストできる。これは、テスターがプログラミング言語やソフトウェアの実装方法を知る必要がないことを意味する。テスターはソフトウェアの開発には関与していないため、テストにおける開発者のバイアス(または確証バイアス)が減少するのは良い点である。 機能テストは、モジュールまたはクラスの関数(メソッド)をテストすることを意味するわけではない。機能テストは、システム全体の機能の一部をテストするものである。 文章: 情報検索 作成されたメタデータを用いてどのような計算を用いてデータを出力するか決定する。検索アルゴリズムの詳細についてはメタデータ生成法と情報検索アルゴリズムを参照。情報検索システムの検索性能の評価を行う。情報検索システムの検索性能は主に正確性と網羅性の質的な観点から適合率(precision;精度ともいう)と再現率(recall)を、処理性能の量的な観点からスループットを測定することにより判定するのが一般的である。適合率は検索結果として得られた集合中にどれだけ検索に適合した文書を含んでいるかという正確性の指標であり、再現率は検索対象としている文書の中で検索結果として適合している文書(正解文書)のうちでどれだけの文書を検索できているかという網羅性の指標である。適合率は、(R:検索された適合文書の数、N:検索結果の文書の数) によって、再現率は、 文章: ソフトウェア品質 ソフトウェアの信頼性(reliability)は、ソフトウェア品質を測る重要な尺度であり観点である。品質(quality)という用語には主観的(定性的)要素が含まれるが、ソフトウェアの信頼性は客観的な基準で測定可能である。このような測定基準を一般にソフトウェアメトリックと呼ぶ。ソフトウェアの信頼性改善の実際の作業は、ソフトウェア開発を扱いやすく理解可能なものにするという圧力によってなされてきたもので、収益を求めてのものではない。しかし、ソフトウェア産業の成熟と共に、ユーザーがソフトウェア製品に期待する品質レベルは高くなり、信頼性の確保が収益に繋がるという状況ができつつある。 組み込みシステムでは、ソフトウェアの問題は単なる不便以上の問題を生じる。場合によっては人命にも関わる。その原因はユーザインタフェースの貧弱さから直接的なバグまで様々である。多くの人命に関わったプログラムのバグについては、Levenson の論文 Medical Devices: The Therac-25 に詳しい。結果として、ソフトウェアの信頼性に関する要求仕様が生まれた。アメリカ合衆国では、アメリカ食品医薬品局 (FDA) と連邦航空局 (FAA) がソフトウェア開発についてその種の要求仕様を策定している。 現代の工学分野の技術をソフトウェア開発に適用するため、ソフトウェアの品質を客観的に判断する方法が必要とされる。これは、誰が見てもコンピュータソフトウェアは予定通りの動作をしないという一般的観測結果に基づいた動機である。言い換えれば、ソフトウェアは何らかの問題を抱えていると不適当な動作を見せる。その原因は処理中のデータの問題だったり、ソフトウェアが動作するハードウェアの問題だったり、操作者などがそのマシンに悪影響を及ぼしたためだったりする。経済活動や生産プロセス、生命維持に直接関わるシステムなどのより重要なソフトウェアでは、ソフトウェアの信頼性を評価する必要性も大きくなる。