タグ

developmentに関するrydotのブックマーク (315)

  • なぜクライアントJavaScriptの単体テストを書くのが難しいか、考えてみた - mizchi's blog

    ってsinonのスタブ漏れを探しながら何度目かわからない感じにキレてた。 とにかく仕事でJSのテスト書くのが辛いので考えてみる。比較的JSのテストに慣れてる自分ですら辛いのだから、世界はもっと辛いに間違いない。サーバーサイドのnode.jsの話ではない。 JavaScriptで完結しない 構造がHTMLの構造と密結合している。装飾や位置、表示/非表示はCSSによって制御されている。 クライアントJSはHTMLと密結合しており、CSSからビューは影響を受ける。それらがネットワークの結果を受け非同期に振る舞いを帰る。その最終的な値を取得するのが難しい。 もちろんサーバーサイドだってDBやネットワークという外部リソースを扱うが、モックの手法が確立しているし、局所的な複雑度は、JSの方がはるかに多い。 言語仕様が貧弱 mochaやjsmineはrspecを真似てるけど、質的にJavaScript

    なぜクライアントJavaScriptの単体テストを書くのが難しいか、考えてみた - mizchi's blog
  • BDDの導入 - Dan North - Digital Romanticism

    この記事はDan North氏の記事「Introducing BDD」を氏の許可を得て翻訳した公式版("the official translation")です。(原文公開日:2006年9月20日) 私は1つ問題を抱えていました。様々な環境にあるプロジェクトでテスト駆動開発(TDD)のようなアジャイルのプラクティスを用いたり、あるいは教えていると、いつも同じような混乱や誤解に行き当たったのです。プログラマが知りたいと望むのは、どこから始めれば良いのか、何をテストすれば良いのか、何をテストする必要がないのか、1つのものに対してどの程度テストすれば良いのか、テストをなんと呼べば良いのか、テストが失敗した理由をどう理解すれば良いのか、ということでした。 TDDに深く入り込むほどに、自分の道程が、言われたことをコツコツやれば徐々に上達するようなものではなく、むしろ行き詰まりの連続であると感じました

    BDDの導入 - Dan North - Digital Romanticism
  • BDDについて自分なりにまとめてみた - UKSTUDIO

    BDDについて自分なりにまとめてみた Published on 2011-07-02 Updated on 2011-07-02 BDDという言葉も割と人によって指すものが違うようなので「俺の中でのBDDはこうだよ」って内容のエントリ。別に絶対的なものでもないと思うので参考までに 結論から とりあえず結論だけ知りたい人向けに。 BDDにはふたつの種類がある TDDの言い換えのBDD(開発寄り) ATDD(受け入れテスト)でのBDD(ユーザ寄り) 振る舞い BDDは振る舞い駆動開発と言われたりするように、テストという言葉のかわりに振る舞いという言葉を使う。日語的には仕様と言うほうがわかりやすいかもしれない。多分、BDDのイメージが掴みにくいのはこの振る舞いという言葉にあると思う。と言うのも振る舞いと言うのは、人の立場よって変わるからだ。例えば、プログラマがあるクラスを実装している時に言う振

  • 開発現場に伝えたい10のこと

    β版 開発の現場を支えるエンジニアたちが些細な習慣から大きな決断まで、自らの体験を語ったエッセイ集。DevLOVE関西にゆかりのある10人による、それぞれのハンガーフライト。 β版について 書のステータスは現在β版であり、現在、著者やレビュアの方々により追加・修正が行われている段階です。 いま購入されてお読みいただけるのはその途上の原稿を元にしたものです。 最終的に正式公開されたものもダウンロードしお読みになることはできますが、 正式公開版を読みたい方には今しばらくお待ちいただくことになります。あらかじめご了承ください。 概要サンプルリンク用タグ ※書のハッシュタグは #genba10things になります。(→twitter) 内容紹介人ひとりが経験できることには限界があります。かつてのパイロットたちも、自分ひとりでは不足してしまう経験をハンガーフライトで補ったはずです。他のパイロ

    開発現場に伝えたい10のこと
  • プログラマが欲しい仕様書とは

    3. ソフトウェア工学とは • ソフトウェアの開発・運用・保守に ついて体系化、分析、研究する分野 • 高度で安全なソフトウェアを短期間 で設計するための研究を行う

    プログラマが欲しい仕様書とは
  • これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE

    和田卓人さんによるテスト駆動開発問題解説の寄稿です! バグのないよいコードを書くには、よいテスト設計が重要です。今回は現在時刻に関する問題と、その問題で提出された実際の解答コードを紹介しながら、どのようにテスト設計し開発していくのかを解説していきます。 ゲスト解答による解答コードも公開中! by CodeIQ運営事務局 はじめに こんにちは、和田(@t_wada)です。今日は先日出題させていただいたTDDに関する問題の総評を行いつつ、テスト容易性設計について考えてみたいと思います。 問題文 私が出した問題は、以下のようなものでした。 問1. 下記の仕様をテスティングフレームワークを使ってテストコードを書きながら実装してください。 【仕様1】 「現在時刻」に応じて、挨拶の内容を下記のようにそれぞれ返す機能を作成したい。 (タイムゾーンはAsia/Tokyoとする) 朝(05:00:00以上

    これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE
  • 最近行ったTDDの講演や寄稿について - t-wada の日記(旧)

    こんにちは、だんだんブログ勘を取り戻していきたい和田です。このエントリは TDD Advent Calendar 2013 の 11 日目のエントリです。このエントリでは、最近行ったテスト駆動開発関連の講演や寄稿に関して、この機会にまとめておきたいと思います。 DevLOVE 現場甲子園 まず 11/9 にDevLOVE現場甲子園2013にて「テストを書く文化を育てる戦略と戦術」というタイトルで短い講演をさせて頂きました。DevLOVE 甲子園は楽天第2タワー大広間の四隅で最大四つの講演が同時に行われるという意欲的なイベントで、話す方も気合い(と声量)が必要な場でした。 この講演では、開発者が自動テストを書く文化が無かった組織に自動テストの文化を育てる際の姿勢、心がけについて短い時間でまとめました。そのときの講演資料がこちらです(ライセンスは CC BY です)。 テストを書く文化を育てる

    最近行ったTDDの講演や寄稿について - t-wada の日記(旧)
  • なぜ高い金をかけて作ったシステムで今までExcelで簡単に出来ていたことが出来なくなるのか - novtan別館

    うん、気持はよく分かるよ。 例えばフィルターとか超使ってるし、タブをドンドン増やしてハイパーリンクでつないで元データから引っ張ってきて計算して表組みを作成するとかいつもやってるような作業が新システムだと厳しい(=できないor莫大な時間と金がかかる)らしい・・。帳票は固定になりますね、帳票増やすと増やした分だけ金かかります、みたいな感じ。 エクセルでできることができない何百万のシステム・・ うんうん。なんでそんな不自由になるんだろうね。 シンプルに考えましょう。きちんとシステム化されていないものをシステム化するというのは言いかえると「業務プロセスを必要最小限に絞る」ことだと思って下さい。 何のために作るのか 理由はいくつかあります。ざっと上げてみると 属人化した業務プロセスを標準化する(しかし、ある人にとってはいつもどおりだがある人にとっては今までやってたことが全然できないシステムになること

    なぜ高い金をかけて作ったシステムで今までExcelで簡単に出来ていたことが出来なくなるのか - novtan別館
  • 他人の技術に興味や関心を持つということ - Line 1: Error: Invalid Blog('by Esehara' )

    暫くスタートアップのお手伝いをしている。最近やったのだと、下のような感じ。 jeffh/sniffer · GitHubを使ってSphinxでDocstringをぶん投げる DjangoとJenkinsを連帯させ、ローカルでテストを廻す blockdiagを使ったモデル関係の整理 Muninを導入して、落ちる原因になってるサーバーリソースの監視 Hipchatを使っているので、GitHubやPivotal Trackerを連携させる Hipchatの遊び心としてHubotの導入 django開発の基礎としてBeProud社の『Pythonプロフェッショナルプログラミング』を薦める そんな感じ。上のことがどれだけ効いているかはわからないけれど、自分が楽しんでやれる環境に整備し、あとは他の人にも「だいぶ楽になったなー」という気持ちになれれば、こっちとしては万々歳。もしかしたら半分くらいは自己満

    他人の技術に興味や関心を持つということ - Line 1: Error: Invalid Blog('by Esehara' )
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
  • Git入門 v1.1.0

    Frontrend Vol.6 powered by CyberAgent, Inc. http://frontrend.doorkeeper.jp/events/6907 で発表したプレゼン資料です。 こういう資料に対する投げ銭的なのがどうなるのか気になっていたので、もしよろしければ・・・!15円からできるソーシャルカンパサービスだそうですm(_ _)m http://kampa.me/t/dev

    Git入門 v1.1.0
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
  • テストがなぜうまくできないか

    ■テストが重要であることは,大体開発に携わる人間ならだれでもわかっていることです。しかし,実際の失敗したプロジェクトの結果をみると,まず100%プロジェクトのあらゆる時点でテストがおろそかになっています。 答えは簡単で,テストしている余裕が無いということです。つまり,徹夜続きでプログラムを開発して納期になんとか間に合わせたいとなると,どうしても手を抜くのがテストになってしまいます。(だいたいわかっちゃいるけど・・・ということになってしまいます) プロジェクトの成果物であるシステムが期待通りの効果を出すためには,品質面をクリアしている必要があります。リッチPM・ライトPMどちらの道筋を取る場合も,実は一番重要でクリアしなければならないものがテストです。 そもそもテストとはなんでしょう。 テストとは「できあがったシステムが正しく目的通りに動作するかどうかを検査すること」に他なりません。 まずテ

  • 最適化の第二法則(要約版) - OGINO Masanori@はてな

    これはThe Second Law of Optimization (Abridged) – the Voidの日語訳です。原文と同じく、Creative Commons 表示 - 非営利 - 継承 3.0ライセンスの下で自由に利用できます。 僕は同じ題名の元の記事(英文)がみんなが読みたいと思うよりも長いと気付いたので、要約したものを用意した。 今や誰もがこの「最適化のマントラ」を聞いたことがあるだろう。「やめとけ」 これは一般的に三つのルールに内包されている。最初の二つはこのマントラの複製で、三つ目のルールは「まだ」という抜け目のない言葉を唯一無二のルールに付け加えて「エキスパート」に宛てている。 時期尚早な最適化――僕らの大部分は身に覚えがある。この言葉がとても有名な理由だ。言うなれば格言だ。アルゴリズムを肉付けせず、結果をよく確かめもしない内に、ただ出力に驚嘆してスマートなトリッ

    最適化の第二法則(要約版) - OGINO Masanori@はてな
  • privateメソッドのテストについて

    瀬良 @shela_ @irof publicからprivateを含めて検証するのと、private単体だけで検証するのであれば、先にprivate単体で検証しておいた方が安心感があると思う 2012-08-25 16:38:24

    privateメソッドのテストについて
  • ソーシャルゲーム運営地獄 - やねうらおブログ(移転しました)

    実際に関係者から聞いた話なのだが、いま、底辺のソーシャルゲーム会社は大変なことになっているらしい。底辺じゃない会社もそれなりに大変なものかも知れないが、底辺の会社はそれどころの騒ぎではないようだ。 まず、プログラマーの力量に合っていない。 「ソーシャルゲーム(の開発を)舐めんな」みたいな話は大手の開発会社のプログラマーからよく聞くが、人数がある日突然何万ユーザーも増える。このへんの流入する人数の調整が利かない。 もともと何十万人規模の接続をさばくには、MMORPGなどのオンラインゲームよりもシビアであり(普通、MMORPGでもワールドがわかれていて、1つのサーバーの常時接続人数は数千人規模に収まるので)、大人数になったときにうまくスケールアウトするように設計するためには、ゲームシステム自体がそのへんを考慮してうまく練られていないといけない。 ところが、底辺ゲーム会社だと、社長がそのへんの理

    ソーシャルゲーム運営地獄 - やねうらおブログ(移転しました)
  • 受け入れテスト用セキュリティチェックリスト for Webアプリケーション

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Windowsに不勉強なクソマカーがWindowsマスターの皆様からお叱りを受けた話 - uzullaがブログ

    Windowsマスターの皆様、申し訳ございませんでした!(挨拶) 一つ前のエントリ( http://uzulla.hateblo.jp/entry/2013/08/12/013207 )、まったく私の不勉強を世間に晒すエントリなのは当人も理解しておりましたが、世間の風は2013も下期にはいったというのにXPばかりつかってきた糞マカーには予想よりもつらいものでした! アイッティー業界、ドッグイヤーなのに、XPとかでがんばってきた無精な人間は殺すべし、慈悲はない、インガオホー! そして、こちらのほうが重要だと理解しておりますが、「とりあえずなんかうまくうごいてなかったらゲイツをなぐるべし」という糞マカーの内輪の感覚を世の中に気軽に発信したばかりに、ギガ盛り牛丼つくったり、冷凍庫の中にはいった写真をツイットするような目で見られる事態になってしまいました。 自分の想像力の欠如、そしてインターネッツ

    Windowsに不勉強なクソマカーがWindowsマスターの皆様からお叱りを受けた話 - uzullaがブログ
  • 私にとってのテスト

    at Testing Casual Talks #1 (2013/07/24) http://atnd.org/events/40914Read less

    私にとってのテスト
  • 技術的負債を管理する

    1992年にWard Cunningham氏が、技術系ではないステークホルダにこの問題を伝えるために、初めて「技術的負債」というメタファを使いました。品質の低いコードと自動テストによるカバレッジがないことは、財務的負債と比較されます。このようなコードは、開発者だけでなく、すべてのステークホルダが負う財政的な重荷になり、将来的に利息が課される負債になります。元額は、コードベースを将来簡単に変更できるようにリファクタリングするコストです。利息は、チームがよいコードではなく、汚いコードに取り組まなければならない場合に、将来支払う余分なコストです。 財務的負債とは違い、技術的負債は返済しなくてもよい負債です。時には、返済するのが無駄なこともあります。ある部分のコードを読んだり、変更したりすることはめったにないか、決して起こらないかもしれません。そのため、技術的負債も、どのくらい起きそうかを考慮す

    技術的負債を管理する