golang.tokyo #17の発表資料です。 https://golangtokyo.connpass.com/event/96200/ Go1.10までのGoのテストの仕様、ノウハウをまとめました。 口頭で説明する内容や、文中のリンクは以下のブログに記載されています。 https:…
Web技術の標準を策定するWorld Wide Web Consortium(W3C)のBrowser Testing and Toolsワーキンググループは、「WebDriver」が6月5日付けで勧告に到達したことを発表しました。 WebDriverは、Webブラウザを外部から操作することを可能にし、Webアプリケーションのテストなどの自動化を実現する技術です。 主要なWebブラウザにはすでにこのWebDriverの機能が用意されています。Seleniumに代表されるWebブラウザ自動化ライブラリを利用することで、WebDriverを用いてWebアプリケーションのUIテストなどを自動化することが可能です。 SeleniumからW3Cへ もともとWebブラウザには外部から操作を行うAPIなどはなく、WebページやWebアプリケーションをWebブラウザで表示した際に画面が正常に表示されている
AWS Fargate早く東京に来てくれという願いをこめて、東京で1つでも事例を増やそうと記事を書いていたら公開する前にAWS Fargateが東京に来ることが先日発表されました!めでたいです。アリネ事業部の平田です。 今日はARINEで使っていく(かもしれない) AWS Fargate を使ったRSpecの実行環境の話と、Docker Compose使っているならFargateいいかもしれませんよ、という話をします。 背景 アリネ事業部では、なりたい自分がきっと見つかる美容メディア ARINE を運用しています。 ARINEのサーバサイドはRubyで書かれており、ウェブアプリケーションフレームワークはRuby on Railsを採用し、テストにはRSpecを使っています。 テストは徐々に増えており現在テストが1000件ほどで、テストにかかる時間も徐々に長くなり、完走するのに10分以上かか
Cucumberは、プロジェクトチームの非技術メンバと技術メンバの両方を対象に、不明確な要件や誤解を克服する手段として開発された。しかし、もしもCucumberがテストツールだと考えているのならば、それは誤りだ — 2008年にCucumberを開発したAslak Hellesøy氏は数年前、このように述べていた。InfoQとのインタビューで氏は、振る舞い駆動開発(BDD)とCucumberを使用した自身の経験と、10年目を迎えた同ツールの今後について説明してくれた。 InfoQ: 現在のCucumberと振る舞い駆動開発(BDD)との関係性について、簡単に説明して頂けますか? Aslak Hellesøy: Cucumberは、TDD(テスト駆動開発)の一種であるBDDをサポートするツールです。BDDでは、テストは*すべて*ユーザによる受け入れテストです。技術者でないステークホルダでも理
こんにちは、佐伯です。 AWSリソースの設定をマネジメントコンソールから目視確認するのはつらみがありますよね。ということで、今日はAWSリソースをテストするツール、awspecについて紹介したいと思います。 awspecとは awspecはAWSのリソース構成をServerspecのようにテストできるツールです。GitHubリポジトリは下記になります。 GitHub - k1LoW/awspec: RSpec tests for your AWS resources. ローカル環境を整える rbenv, Bundler, direnvの話になるので、普段使ってる方は省略してください。 OSSを利用する際、�バージョン管理が重要な課題になってきます。注目度が高いOSSほど頻繁にバージョンアップされ、新たな機能追加やバグ修正が行われます。また、稀にバージョンアップによって意図せぬバグが生まれ、
Google、Dockerイメージに対するテスト自動化フレームワーク「Container Structure Tests」オープンソースで公開 Container Structure Testは、コンテナ内部でコマンドを実行することで正しい出力やエラーが帰ってくるかどうかや、コンテナ内部のファイルが正しく格納されているかなどの検証を実行できるフレームワークです。 具体的には下記のテストをサポートしていると説明されています。 Command Tests コンテナイメージ内部でコマンドを実行し、正しい出力やエラーが返ってくるかを検証する。 File Existence Tests コンテナイメージ内部に、あるファイルがファイルシステム内の適切な位置に存在しているかどうかを検証する。 File Content Tests コンテナイメージ内のファイルシステムにあるファイルのコンテンツとメタデータ
こんにちは。サーバーサイドエンジニアの@akane_256です。 今日は、Headless Chromeを使ったブラウザテストの自動化(入門)について書きたいと思います。 目次 Headless Chromeとは? 興味を持った背景 今回やったこと 実際のソースコード まとめ Headless Chromeとは? Chrome59(2017/6月頃)から搭載された機能 ChromeをGUIなしでコマンドラインから実行できる DOMのノードを取得したり、画面キャプチャを撮ったりできる ツールと組み合わせて自動テストに使ったりする ブラウザを開いて、特定のページを開き、自分で目視確認しなくても、 あらかじめ作ったプログラムをコマンドから実行をすれば 自動でキャプチャをとったり指定の要素を取得したりすることができます。 興味を持った背景 私は普段 Ringraph という結婚指輪・婚約指輪の口コ
Goでテストを書くお話です。 基本的なところから、応用的なテストの書き方(パターン?)をまとめておくことにしました。 ポイントを先に列挙します: テストのエラーメッセージは丁寧に書こう テーブルテストを活用してパターンを整理しながら網羅しよう t.Runをつかって大きなテストを分割しよう t.Helperをつかってテストエラーの箇所をわかりやすくしよう テスト用のデータは testdata ディレクトリに置こう Setup/Teardownをうまく書いてテストの見通しをよくしよう 等 では、見ていきましょう。 実装 tenntennさんの もっと楽して式の評価器を作る を参考に、シンプルな計算機能を持つ関数(Compute)を書いて、それをテストしてみます(みんなはテストから書こう)。 実装コード: package calc import ( "go/token" "go/types" )
マイクロソフトはオープンソースで開発している無償のコードエディタ「Visual Studio Code」(以下VSCode)をJUnit対応にする拡張機能「Java Test Runner」のリリースを発表しました。 「JUnit」は、Javaで単体テストの自動化を行うためのフレームワークです。さまざまな開発ツールでサポートされており、Javaの単体テストを行う際の事実上の標準といえます。 VSCodeに拡張機能「Java Test Runner」を追加することで、JUnit4のテストを認識し、VSCode上でテストの実行や実行結果、テストコードのデバッグなどが可能になります。 下図は、テストコードを実行するところ。
テストがなかった無法地帯のプロジェクトに自動テストを導入して、開発速度を1.7倍にした話をします。 自動テストがなぜないのか 自動テストのないプロジェクトには、そうなる理由が必ず存在します。よくみる理由は、「時間がないから1」「テストの書き方がわからないから」「無理やりテストを書いたつらい経験があったから2」といったものです。今回のプロジェクトの場合は、以下の2点でした: 自動テストの書き方がわからないから レビューがテスト代わりだったから まず、チーム編成が変わって私ともう一人がチームに加わるまで、実装者の中に自動テストの経験者はいませんでした。このような状況では、自動テストは困難になります。なぜなら、何をどうやってどこまでテストするかを決めるには、多少の慣れが必要だからです。この慣れがないと、何をしたらいいかわからないという状態に陥りがちで、結果として自動テストが後回しにされてしまいま
近年、新興言語とは思えない簡潔さや実行時パフォーマンスの良さなどからGoが注目を集めています。サイバーエージェントのメディアディベロップメント事業本部でもGoの導入を進めており、Goアプリケーションの開発を通じてその利点や欠点などを身を持って学ぶことができました。この記事では、Goアプリケーションの自動化単体テストを行うにあたって、テストの実施を容易にするにはどのような設計を行うべきかを、依存性の分離という観点から紹介します。依存性の分離は、単体テストにおいて確保しなければならない要素の一つです。依存性の分離を行うことによって、一つのテストで実行される本番コードの範囲を制限することができ、テストが失敗したときの原因究明が容易になります。また、テストの再現性の担保も容易になります。 はじめに 初めまして。株式会社サイバーエージェント ソフトウェアエンジニアの大澤翔吾と申します。私の所属してい
TL;DR Visual Studio Codeではエディタからのコマンド実行がTasksという仕組みでできてとても便利。 背景 最近エディタをVisual Studio Codeに変えた。エディタのこだわりはそんなになくて、Vim → Emacs → Atom といった順番で2年に一度くらい乗り換えている。だいたいどのエディタにもVimキーバーインドエクステンションがあるのでなんとかなる。 Visual Studio CodeはAtomと同じElectronベースだけど、なぜかAtomよりサクサク動くので気に入っている。Microsoftのリソースパワーに感謝するしかない。 テストの話に移ると、テストを書くのはもちろんソフトウェア品質の担保やリグレッションの防止が目的だけれども、TDD的な文脈では開発のリズムを作るのも目的の一つだ。リズムよくテスト実行しつつ開発するには、エディタで開いて
Webシステムの自動テストを始めたい方を対象に、自動テストの考え方やフレームワークを解説する書籍です。テストのピラミッドやユーザーインターフェイステストの概念など、基礎的な事柄から、レガシーシステムへのUIテストの追加、RESTfulなWebサービスのテスト、ブラウザ上のJavaScriptの挙動をユニットテストでテストする方法など、実践的な事柄までを豊富なイラストとサンプルを使って分かりやすく解説します。さらにテストファーストやモックの活用法、テスターに向けた自動テストのためのプログラミング基礎知識なども詳述。自動テストを書くためのノウハウを網羅した本書は、自動テストをマスターしたいエンジニア必携の一冊です。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では
以前、bashスクリプトをテストする仕事に取り組んだことがあります。最初、Pythonユニットテストを使うことにしましたが、プロジェクトに外部技術を持ち込むのは気が進みませんでした。そこで、仕方なく、悪名高い bash で書かれたテスト用フレームワークを使いました。 既存ソリューションの概要 手に入るソリューションを探してGoogle検索しましたが、選択肢はほんの少ししかありませんでした。そのうちいくつかについて、詳しく見ていきましょう。 重要になるのは、どんな基準でしょうか? 依存関係: bass のテスト用フレームワークを選ぶときに、 python 、 lua などのシステムパッケージも一緒に引きずり込むのは嫌ですね。 インストールの難しさ:継続的な開発の実装とTravis CIでの継続的な統合も仕事の1つだったので、私にとってインストールにかかる時間と手間数が妥当だということは、重要
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く