ソークテスト (: soak testing)は、耐久性テストとも呼ばれ、実稼働しているシステムの動作検証のために、継続的な利用可能期間にわたり、通常の実稼働負荷でシステムをテストすること[1]負荷テストの一種。

このような拡張テストを実施できない場合は、結果を推定する必要がある。たとえば、システムが100時間にわたって10,000トランザクションを処理できるかをテストする場合、実際の本番使用では、10,000トランザクションの処理に、より短い時間 (例: 50時間)しかかからない場合がある。ソークテストでは、平均負荷だけでなく、ピーク負荷を模倣する仕組みが備わっていることが望ましい。負荷の制御ができない場合は、代わりに、念のため、テスト期間中、システムをピーク時の本番負荷で実行することになる。

ソークテストが必要な理由として、たとえばソフトウェアテストでは、システムは1時間のテストでは問題なく動作するが、より長い時間、たとえば3時間に渡りテストをすると、メモリリークなどの問題により、システムに障害が発生したり、予期しない動作が発生する場合があるためである。

ソークテストは、可能な限り本番環境を模したシミュレーション環境で、特定の期間および特定のしきい値についてテスト対象の反応をチェックすることが多い。ソークテスト中に行われた結果は、さらなるテスト下でテスト対象の特性を改善するために使われる。

電子機器では、ソークテストには、システムを最大定格以上で長期間テストすることが含まれる場合がある。一部の企業は、高温などの外部応力を加えながら、製品を何ヶ月も浸漬テストする。

関連項目 編集

脚注 編集

  1. ^ Ellingwood (2017年5月20日). “An Introduction to Continuous Integration, Delivery, and Deployment”. DigitalOcean. 2017年12月8日時点のオリジナルよりアーカイブ。2018年2月3日閲覧。 “Soak testing involves testing software under significant production or production-like load for an extended period of time.”