\section{序論} プログラム開発では,統合開発環境がいくつも用意されているが,多くの現場では,terminal上での開発が一般的である. ところが,プログラミング初心者はterminal上でのcharacter user interface(CUI)を苦手としている. プログラミングのレベルが上がるに従って, shell commandやfile directory操作, process制御にCUIを使うことが常識となる. この不可欠なCUIスキルの習得を助けるソフトとして,ユーザメモソフトmy\_helpがruby gemsに置かれている. このcommand line interface(CLI)で動作するソフトは,helpをterminal上で簡単に提示するものである. また,初心者が自ら編集することによって,すぐに参照できるメモとしての機能を提供している. これによって,terminal上でちょっとした調べ物ができるため,作業や思考が中断することなく プログラム開発に集中できることが期待でき,初心者のスキル習得が加速することが期待できる. しかし,Ruby gemsとして提供されているこのソフトは,動作はするがテストが用意されていない. 慣れた開発者は,テストを見ることで仕様を理解するのが常識である. 今後ソフトを進化させるために共同開発を進めていくには,仕様や動作の標準となるテスト記述が不可欠となる. そこで,本研究では,ユーザメモソフトであるmy\_helpのテストを開発することを目的とする. 本研究では、テスト駆動開発の中でも,ソフトの振る舞いを記述する Behavior Driven Development(BDD)に基づいてテストを記述していく. Rubyにおいて、BDD環境を提供する標準的なフレームワークであるCucumberとRSpecを用いて, my\_helpがどのような振る舞いをするのかを記述する. Cucumberは自然言語で振る舞いを記述することができるため,ユーザにとって,わかりやすく振る舞いを確認することができる.