tag:crieit.net,2005:https://crieit.net/tags/devops/feed 「devops」の記事 - Crieit Crieitでタグ「devops」に投稿された最近の記事 2018-10-17T20:20:16+09:00 https://crieit.net/tags/devops/feed tag:crieit.net,2005:PublicArticle/14494 2018-08-01T13:11:21+09:00 2018-10-17T20:20:16+09:00 https://crieit.net/posts/5099a26dea26cbb725afb45facf12096 一人で新規開発する時テストはどのように書き進めればいいか <p>一人でシステムの新規開発をする場合、どういったタイミングでテストを書きはじめ、どのように書いていけばいいかを考察してみた。ターゲットとしては一人でサービスを開発する個人開発者、スタートアップ等で一人のエンジニアのみで開発を進める場合など。</p> <h2 id="いつから書きはじめるのか"><a href="#%E3%81%84%E3%81%A4%E3%81%8B%E3%82%89%E6%9B%B8%E3%81%8D%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%81%AE%E3%81%8B">いつから書きはじめるのか</a></h2> <p>「一人で」システムの新規開発をはじめた当初、まずはテストを書き始めるべきではないと思う。</p> <p>なぜかというと、新規開発当初に必要なものというのはシステムの安定性ではないからだ。まだリリースもしておらず、身内に確認してもらうためだけのものにテストを書いて時間を消費するのはもったいない。</p> <p>まずはひたすら開発を行う。闇雲に開発を進めるのではなく、なるべく多くの箇所を網羅できるように、薄く広く開発していく。そうすることで不明点やもっと検討が必要であるべき箇所が見つかり、それを企画サイドの人間に共有することで早めのプラン改善を行うことができる。</p> <p>いきなり丁寧にテストを書きはじめてしまい、だいぶ日数が経過してから大きな問題が見つかり「実は予定していた機能は今の方法では実現できないんだ」なんてことになったら大問題だ。ただでさえ無駄なものを開発することに時間を費やしてしまっているのに、さらにテストを書くのにも時間を費やしてしまうことになる。時間はもう二度と取り戻せないのにそんなことをやっている場合ではない。</p> <p>そういった理由でまずはテストを書くべきではない。</p> <h2 id="一人での開発に求められること"><a href="#%E4%B8%80%E4%BA%BA%E3%81%A7%E3%81%AE%E9%96%8B%E7%99%BA%E3%81%AB%E6%B1%82%E3%82%81%E3%82%89%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8">一人での開発に求められること</a></h2> <p>そもそも一人で開発を行う場合に求められること(もしくは自分で求めること)というのは、単なるプログラム開発だけではない。</p> <p>ちょっと仕様を変えれば格段に開発がしやすくなるのであればそれを企画サイドに提案してみたりすること等も重要だ。こういったことは必須ではないが重要で、開発者一人だけの時にこういった連携や提案を率先してできない場合、トラブルの原因にもなりうる。</p> <p>同様にテストをどう書いていき、どのように時間を節約し、どのようにスムーズな開発を提供できるかというのは一人の場合非常に重要となる。考えることを放棄してむやみにテストを大量に書いていくべきではない。</p> <h2 id="ではどのように書いていけばいいのか"><a href="#%E3%81%A7%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%84%E3%81%91%E3%81%B0%E3%81%84%E3%81%84%E3%81%AE%E3%81%8B">ではどのように書いていけばいいのか</a></h2> <p>とりあえず一通りの機能はテストなしで作成していくべきだ。問題点や仕様の変更の必要性がある箇所の洗い出しが終わり、ある程度企画サイドとのやり取りも落ち着いてきた時期に、リリースに向けてどんどん書いていくべきだと思う。</p> <p>一応「一人で」という体にはなっているが、複数人の時でも考えることは放棄せず一応方針は決めたほうがいいと思う。人数が多い時は最初からテストを書いていった方が望ましい場合は多いかもしれないし、2,3人の時は書かない方がいいかもしれなし、書いた方がいいかもしれない。</p> <p>まずはその都度その状況において、書くこと、書かないことのデメリットを必ず検討してみよう。</p> だら@Crieit開発者