Dalam situasi pengembangan perangkat lunak yang khas, tes digunakan pada dua titik: selama pengembangan, dan sebelum memindahkan produk di sepanjang rantai pengembangan.
Situasi pertama, menjalankan tes selama pengembangan, melayani tujuan jangka pendek: mendefinisikan tugas (seperti dalam TDD: menulis tes gagal, lalu lulus), mencegah regresi, memastikan perubahan Anda tidak merusak hal lain, dll. Seperti tes harus sangat cepat: idealnya, seluruh rangkaian tes Anda berjalan dalam waktu kurang dari 5 detik, dan Anda bisa menjalankannya dalam satu lingkaran di sebelah IDE atau editor teks saat Anda membuat kode. Setiap regresi yang Anda perkenalkan akan muncul dalam hitungan detik. Menjalankan tes cepat lebih penting dalam fase ini daripada menangkap 100% regresi dan bug, dan karena tidak praktis (atau tidak mungkin) untuk mengembangkan salinan sistem produksi yang tepat, upaya yang diperlukan untuk mencapai pengujian sempurna di sini tidak layak Itu. Menggunakan basis data dalam memori adalah pertukaran: mereka bukan salinan persis dari sistem produksi, tetapi mereka membantu menjalankan tes di bawah batas 5 detik; jika pilihannya adalah antara pengaturan basis data yang sedikit berbeda untuk pengujian terkait database saya, dan tidak ada pengujian sama sekali, saya tahu apa yang saya pilih.
Situasi kedua, memindahkan kode sepanjang rantai pengembangan, bagaimanapun, tidak memerlukan pengujian ekstensif. Karena kita dapat (dan harus) mengotomatiskan bagian dari proses pengembangan ini, kita dapat melakukan banyak tes yang lebih lambat - bahkan jika uji coba penuh membutuhkan waktu berjam-jam, menjadwalkan pembuatan malam masih berarti kita selalu memiliki gambaran akurat tentang basis kode kemarin. Mensimulasikan lingkungan produksi seakurat mungkin adalah penting sekarang, tetapi kita dapat membelinya. Jadi kami tidak melakukan trade-in-memory-database: kami menginstal versi yang sama persis dari DBMS yang sama persis dengan sistem produksi, dan jika mungkin, kami mengisinya dengan data produksi aktual sebelum pengujian dimulai.