読者です 読者をやめる 読者になる 読者になる

テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(akashic report) s3-testsの現状

akashic-storageの目標は, READMEに書いたように「世界中で使われるオンプレS3ストレージを作ること」であるが, 道のりは険しい.

S3互換ストレージの準拠としてデファクトスタンダートなものはs3-testsである. (https://github.com/ceph/s3-tests) これは, nfsに対するnfstestのようなもので, 同じくPythonで書かれている.

akashic-storageでは, 自分で書いた自動テストの他に, s3-testsもTravis CI上で走らせている. 前者を全パスしながら開発を進めて, 後者の成績を上げていくというのが開発の進め方となる.

s3-testsのログを見ると, いくつのテストが実行されてどれだけ失敗したかということが分かる. 現状として成績はひどい. errorsとfailuresをあわせるとおよそ3/4を占める.

Ran 416 tests in 1028.729s

FAILED (SKIP=47, errors=238, failures=64)
/home/travis/build/akiradeveloper/akashic-storage/s3-tests
successfully run and shut down the server

しかし, ソフトウェアというのは不思議なもので, バグは原因を共有していることが多い. したがって今後, バグはどんどん減っていくものと思われる. 未実装のAPIも多いので, そういうものも実装していけば, 全パスに急激に近づいていくだろう. ただし, バグというのは最後に残ったものはやっかいであるため, 苦戦はしそうだ.

現状としてakashic-storageは, mcのような表面的なツールから使うにしてもバギーだと言える. しかし, 通常利用に耐えられるレベルには1ヶ月以内に到達出来る. その後, s3-tests全パスに向けて修業のような日々が続くことになるだろうが, 再現出来るものなので, 時間さえかければ駆逐は可能だ.

akashic-storageにはまだまだやることがたくさんある. 開発に参加してほしい. 優秀な若者の参加を待っている.