あるクラスは 他のクラスを参照しているため、あるクラスのテストはしばしば別のクラスのテストに影響してしまう。この一般的な例は、 データベースに依存しているクラスである。クラスをテストするために、テスタは、しばしばデータベースと対話するコードを書く。これは間違いである。なぜなら単体テストは自分のクラスの境界を超えるべきではないし、特にそのようなプロセス/ネットワーク境界を超えることは許されない。その理由は単体テストスイートで受け入れがたい性能問題が起こりうるからである。 そのように単体テストの境界を超えることは統合テストになり、テストが失敗したときに、そのコンポーネントが失敗に原因かどうかがわからない。  フェイク、モック、統合テストを参照。その代わりに、ソフトウェア開発者は、データベースクエリの周りに抽象的なインタフェースを作成し、専用のインターフェイスを持つモックオブジェクトを実装する必要がある。この必要な付属物をコード（ネットで有効な結合）から抽象化し、独立したユニットは以前よりも徹底的にテストすることができる。この結果、高品質でかつ保守性があるユニットができあがる。
テスト駆動のアプローチでソフトウェア開発を行う場合、単体テストが正式な設計の代わりになる。各単体テストは、クラス、メソッド、および観測可能な動作を指定する設計要素として見ることができる。次のJavaの例が、この点を説明する助けになる。ここに実装のいくつかの要素を規定するテストクラスがある。まず Adder というインタフェース、引数のないコンストラクタをもつ実装クラス AdderImpl があるはずである。続いてAdderインタフェースが、2つの引数をとり、整数を返す add というメソッドを有する、ということをこのテストクラスは assert する。また、少ない値の範囲でのこのメソッドの動作を規定する。public class TestAdder {    public void testSum() {        Adder adder = new AdderImpl();        // 正の数を加算できる?        assert(adder.add(1, 1) == 2);        assert(adder.add(1, 2) == 3);        assert(adder.add(2, 2) == 4);        // ゼロニュートラル?        assert(adder.add(0, 0) == 0);        // 負の数を加算できる?        assert(adder.add(-1, -2) == -3);        // 正の数と負の数を加算できる?        assert(adder.add(-1, 1) == 0);        // 大きな数値の場合は?        assert(adder.add(1234, 988) == 2222);    }}この場合、単体テストは最初に書かれているため、求められる解決策の形と挙動を示す設計ドキュメントの役割を果たす。それは細部の実装ではなく、実装はプログラマーに任せられている。「動きそうな最もシンプルな事を行なう」慣例に従えば、テストをパスできる最も簡単な解決法は以下のようなものだろう。interface Adder {    int add(int a, int b);}class AdderImpl implements Adder {    int add(int a, int b) {        return a + b;    }}図を使う他の設計手法とは異なり、単体テストを設計の手段として使用することには重要な利点が1つある。設計文書（単体テストそのもの）を実装が設計に準拠していることを確認するために使用できるのだ。単体テスト設計方法においては、開発者が設計通りに解決策を実装していない場合、テストはパスすることは決してない。単体テストが図のようなアクセシビリティを欠いていることは確かだが、UML 図はこんにち、フリーのツールにより大部分の近代的な言語から自動的に抽出できる（通常IDEの拡張機能として)。xUnitフレームワークに依存するフリーのツールは、人の目で見られるためのグラフィカルレンダリング機能を他のシステムにまかせている。
青ヶ島にいつ頃から人が住み始めたのか現在のところはっきりしていない。これは他の伊豆諸島の島々で発見されている縄文時代や弥生時代の遺跡が全く発見されておらず、また中世の遺跡も見つかっていない上に文献資料も乏しいためである。15世紀になってようやく青ヶ島に人が居住しているとの記録が現れる。青ヶ島は絶海の孤島で周囲を黒潮が流れ、波が荒いことが多く青ヶ島への船の航行は困難を極めた。また島の周囲は約50-250メートルの海食崖が発達しており船の接岸も困難であった。15世紀の青ヶ島についての記録の多くは船の遭難に関することであり、この船の往来の困難さは現在に至るまで青ヶ島に住む人々を悩ませ続けている。往来は困難を極めたが、青ヶ島での生活には利点もあった。これは八丈島、八丈小島と比べて食糧事情が良かったことである。八丈島や八丈小島は19世紀のサツマイモの本格的な普及まで慢性的な食糧危機に見舞われていた。これは主に台風の襲来による風害によるものであり、ひとたび強い台風が八丈島や八丈小島を襲うと多くの作物に甚大な被害がもたらされ、餓死者が出ることも稀ではなかった。一方青ヶ島は大きな成層火山の山頂部が海面上に出ている地形をしており、島の南部には直径1.5-1.7キロメートルという成層火山の大きな火口にあたる池之沢がある。池之沢にはかつて大池、小池という淡水の池があり、土地も肥沃であった。何よりも大きな火口の内側となる池之沢は周囲の山によって強風が遮られるため作物の被害が少なかった。このような土地であるため、元禄13年（1700年） 11月には激しい飢饉に襲われ青ヶ島へ出発した八丈小島の住民24名全員が行方不明になるという事件も発生した。しかし池之沢は成層火山の大きな火口内であり、承応元年（1652年）に池之沢内で噴煙が上がり、寛文10年（1670年）から約10年間、池の沢にあった池から細かい砂が約10年間に渡って噴出したとの記録が残されている。いずれの事件も小規模な異変であったと考えられ、青ヶ島の島民に大きな影響を与えることはなかった。 安永3年（1774年）の記録によると青ヶ島には流人1名を加えて328名の島民が、農業やカツオ漁などの漁業、そして年貢としての生糸を生産するための養蚕を営みながら生活していた。島内で農業や養蚕の最大の拠点は、土地が肥え淡水の池があって風害から守られている池之沢であった。