コンピュータやソフトウェアのあれこれ@道民(&元道民)
Test
[ソフトウェア開発][Test]同値クラステスト
4月 4th
同値クラスとは「内部的に同じ値として扱う範囲」であり、同値クラステストはプログラマが自然と行っているテスト手法の1つです。 例えば、整数を1つ引数に取り20未満である場合にtrueを返す関数があったとします。この関数をテストする為の妥当な入力値として、私たちは10と30のようにtrueを返す値1つと、falseを返す値1つの2つを選択するでしょう。人によっては5と20を選択するかもしれません。しかし、0と10の選択ではあまり効果的ではないと”なんとなくは”理解できます。この”なんとなく”は同値クラスと ...
[ソフトウェア開発][Test] テストケースの入力値
4月 3rd
ソフトウェアテストのテストケースでは、ある入力値に対して期待する結果となることを検証します。すべての入力値に対してテストケースを作成できたとすれば、完璧なテストとなるわけですが、現実問題としてすべての入力値に対するテストケースは網羅できません。したがって、入力値の全体集合の中から幾つかの入力値を選択し、テストケースを構成する事が、テストを効率よく実施するポイントになります。 この大きな集合から部分的な集合を抽出するというプロセスは、アンケートなどでも行われます。しかし、アンケートでは可能な限り無作為に ...
[Test][ソフトウェア開発] パーフェクトソフトウェア
4月 2nd
完璧なソフトウェアは作ることができませんし、作ろうとしてもいけません。 これは、ソフトウェア開発のテストに関する最も重要で基本的な事でありながら、中々理解されない事です。他のどんなものでもそうですが、作り手が人間である以上は完璧な物を作ることはできません。 ソフトウェアは形がないものですから、その品質を保証するためにはテストを行う必要があります。仮に「完璧な」ソフトウェアである事を保証するのであれば、「完璧な」テストが必要です。想定される環境すべてで想定されるすべての入力に対しテストする必要があるでし ...
[ソフトウェア開発][Test] ソフトウェア開発とテスト
3月 30th
ソフトウェアは形を持たないため、「ソフトウェアを定量的に評価する」という事が困難です。このため、ソフトウェア開発ではテストを通して、主に品質を評価しています。しかし、建物を作ると言っても超高層ビルから犬小屋まであるように、ソフトウェア開発といっても様々な形態・規模があります。ソフトウェア開発にはどんな規模があるか、どの程度のテストが求められているかを整理してみます。 書き殴りのスクリプト パソコンを使って少しだけプログラマティックな処理を行いたいような場合、スクリプト言語などで簡単なプログラムを書く ...
[Test][ソフトウェア開発] テストのプロセス
3月 30th
というわけで、「はじめて学ぶ ソフトウェアのテスト技法」を読み直しているので、メモ*1。 テストとは? IEEE 標準規格 610.12-1990による定義。 ある特定の条件下でシステムまたはコンポーネントを操作するプロセスであり、その結果を観察または記録して、システムまたはコンポーネントのある側面を評価すること テストの成熟度 テストに関して以下の5つの成熟度(レベル)がある レベル0ーテストはデバッグと同等 レベル1ーテストとはシステムが動くことの確認 レベル2ーテストとはシステム ...
[Test][雑感] ソフトウェアのテストを考える
3月 28th
きのこ本のエントリーも落ち着いたわけですが、今年の課題の1つはテストにあります。世の中、サービスを作ろうという流れもあり、いわゆる業務系アプリのようなガチガチなシステムテストなどは逆方向な感じも否めません。しかし、ソフトウェア開発をする以上、テストとは向き合わなければなりません。最近は実装よりのスキルばかりつけても限界があるなと感じますし、上流設計を学べば学ぶほどドキュメンテーションから実装、そしてテストまでのトレーサビリティが重要と痛感しています。 というわけで、ユニットテストもそうですが、しばらく ...