質とスピード 初演: 2019/10/31 @ EOF2019
![質とスピード / Quality and Speed](https://cdn-ak-scissors.b.st-hatena.com/image/square/17dafaf775d3f61ba503a0f3780d7cbf9e65df4d/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fc36aef99fc5d4757b6badaaecc172b02%2Fslide_0.jpg%3F14092603)
DBのレイヤーを含むエンドツーエンドテストやDBに依存したコンポーネントの自動テストがたくさんあると、全てのテストが終わるまでに長い時間がかかるようになってしまうことがあります。DBのクエリ実行はネットワークIOやディスクIOなどを含んだ高コストな処理だからです。 Docker を少し工夫して使うと、お手軽にテスト中のDBのクエリ実行にかかる時間を削減できます。自動テストが完了するまでの待ち時間を短縮し、開発のフィードバックサイクルをより早く回せるようになります! MariaDB を用いたプロジェクトの実績では、DBアクセスを伴うテストケースが 153件 ありましたが、この方法によりそのテストスイートのローカル環境での実行時間を約 43% 削減できました(約 145.7s → 約 83.3s)。 どうやって? Docker で tmpfs を使います。 tmpfs tmpfs とは、ディス
世の中は一周まわってエンジニアリングの手法に溢れている。 テストを書け、ドキュメントを書いて冗長化しろ、コミットはわかりやすく、コーディング規約が、安定性が─── でも、それって本質なんだろうか? 新規サービスを作る際に肝だと思っていることをまとめてみた。 おことわり 以下は少人数で"普通"のアプリやWebサービスを自社で新規開発するときのことを想定しています。大人数で重厚なソシャゲを作るとか、ガチガチの金融系サービスを作るとか、コンシューマーゲーム開発とか、個人で好きなものを作るとか、受託とかは全く想定していません。 基本的に一通り現場をこなした中級以上のエンジニア向けに書いています。 アンチテーゼとして、ややキツめに断定する箇所が多いです、こういう意見もあるんだな程度に受け止めてください。 所属する団体の意見とかは一切関係ありません。 目次 おことわり 目次 ユーザーのことだけ考える
1. The document discusses various social media and video sharing platforms and tools for integrating them, including YouTube, Twitter, Flickr, iTunes, and Facebook. 2. It mentions several services that allow embedding or sharing content between platforms, such as CDTube for YouTube, ZonTube for Amazon, and amz.ly for shortening Amazon URLs for Twitter. 3. Programming languages and APIs mentioned i
Screenshot: http://www.browserstack.com/ こんにちは、まさきです。皆様元気にお過ごしでしょうか? 私は先日1週間ほど胆石で苦しんでおりました。 ブラウザのテスト環境を揃えるのは結構しんどい 皆さんはWebアプリのブラウザ毎の挙動の違いをどのようにテストしていらっしゃいますか? 今どきのブラウザであればそれほど大きな挙動の違いは出ないようですが、OSのバージョンの違いで異なる挙動をすることもあり、すべてのブラウザをすべてのOS環境で実機を用意するのも大変だったりします。 そこでご紹介したいのが、BrowserStack というWebサービスです。 BrowserStackとは? BrowserStackは実際のブラウザの実行画面をWeb経由で表示・操作できるWebサービスです。選べるブラウザとOSの組み合わせは700以上あり、Windows XP上のI
dumpの性能試験をしようと思って、MySQLにダミーデータを作る方法を探していたのですが、あまりいい方法が思いつかず、#mysql-casualのチャンネルで聞いて見たところこんな感じになりました。 LOAD DATA INFILE@karupanerura さんから教えて頂きました。 最初にデータ作成すれば高速に動きそうです。 今回はテストしてないです >_ LOAD DATA INFILE 構文INSERTINTO hoge SELECT * FROM hoge; を繰り返す@fujiwara さんに教えて頂いた方法です。 試してみたところ、お手軽でした! スキーマ (pkeyなしというありあえないテーブルで試しています>_ 1280000 rows作るのに1分かかってないです! @fujiwara++ 追記 pkeyの重複が起こる場合は、insert into hoge (pkey
みなさんこんにちは。@ryuzeeです。 テスト自動化について簡単に教えてほしいと言われることが多いので、以下にまとめました。 テスト自動化/テスト駆動開発についてXPのプラクティスの中で、最も単体で導入しやすいプラクティスの1つであるこのプラクティスのみで1冊の本が書けるくらい奥が深い基本的な方法失敗するテストを書くできる限り早く、テストがパスするような最小限のコード本体を書くリファクタリングをする適用範囲通常では、独立性の高いクラスやファンクションへの適用が良いGUIや分散オブジェクト、自動生成されたコード、DBのスキーマに関するテストは導入が難しい既存システムにおいて、テストが準備されていない場合に、部分的に導入するのは難易度が高い。したがって新規プロジェクトの初期から導入することが望ましい問題点開発者が仕様を誤解していた場合、誤解に基づくテストコードが作成されるため、誤解の検知は保
自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編) ふだん何気なく使っている鉄道。改札を降りるときにICカードを自動改札にかざすと、「ピッ」という音と共に一瞬のうちに運賃を計算してくれます。けれど、複数の路線を乗り継いだり、途中で定期券区間が挟まっていたりと、想像しただけでもそこには膨大な組み合わせがあります。それでも運賃計算プログラムはわずか一瞬で正しい運賃計算が求められ、バグがあったら社会的な一大事にもつながりかねません。 爆発的な計算結果の組み合わせがあるはずの運賃計算プログラムは、どうやってデバッグされ、品質を維持しているのでしょうか? 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日本科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡
実は最近 C# でちょっと動作確認がめんどくさいコードをぺけぺけ書いている。 というわけで、珍しく(?)できるだけ手厚くテストを書こうとしているのだが、外部のライブラリとかサービスとか絡んでいて、まさにテスト泣かせな状況。 そう、今こそレガシーコード本(WEwLC, レガシーコード改善ガイド)を読んだ経験が生きるとき! なんか Seam とか Sprout とかあったよなあ……と本をひっくり返しそうになったが、今は Moles といういいものがありまして。 Moles は MS 謹製のモックフレームワークで、一言で言うと「任意のメソッドの振る舞いをアドホックに書き換えることができる」という最終兵器的な代物。 例えば、中で現在日時の取得を行なっているコードをテストしようと思ったら、その日時取得部分を関数オブジェクトとか delegate とかまあなんしかそこらへんの手段で外出しして……みたい
みなさんはじめまして。 2011年11月に中途で入社し、現在はAmeba事業本部でスマートフォン版Ameba(通称デカグラフ)の開発をしている川口(facebook)と申します。 JavaScriptにおけるテストフレームワーク JavaScriptにおけるテストフレームワークとしては、有名なもので現在以下のものがあります。 ●JsUnit Javaのテストフレームワークとして有名な「JUnit」を参考に作られたテストフレームワークです。 ●QUnit もともとjQueryをテストするために開発されたフレームワークですが、現在ではjQueryへの依存が無くなっているためjQuery以外のライブラリを使ったプロジェクトでも使用できます。 ●Jasmine
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く