うさぎ組

ソフトウェア開発、チームによる製品開発、アジャイル、ソフトウェアテスト

週刊ソフトウェアテスト 2014-50 #swtest_jp

前書き

ソフトウェアテストにまつわるニュースを週毎にお届けする記事です。内容はid:kyon_mmの独断と偏見です。オススメの記事があるときや、質問などなどはコメントや@kyon_mmにご連絡くださるとうれしいです。

ハッシュタグ #swtest_jp でソフトウェアテストに関する事をツイートしてくださるととてもうれしいです!(なにかの紹介でも、議論でも、質問でも!

kyon_mmの意見

id:pocketberserker, id:bleis-tiftなど弊社メンバーが中心に開発をすすめているF# のテスティングフレームワークにおいて「複数assertの結果を持つ(失敗しても次のassertを実行する)」という機能はすばらしいですね。ちなみにこのアイディア自体はAssertJにて「Soft Assert」という概念で実装されたのがテスティングフレームワークやライブラリとしては初めてだという認識です。AssertJの実装は結構アレなのですが、彼らの場合はよりスマートですね。テストのためにASTやコンパイラ技術や型システムは重要な位置を示しています。SpockもAST技術の権化みたいなところありますからね。

MSDNマガジンで「非同期プログラミングの単体テスト」の方法について解説されていました。なかなかこういった記事がまとまっていることはないので、とてもうれしいですね。重要なのは、こういったコードをレビューできる人間でないと、統合テスト以上で「非同期に対する十分なテストを設計できる」と言えないといったことではないでしょうか。もしくは「統合テストでは無理だから、単体テストでこのような設計をすべきだ」とするところですね。 これが「テストによる設計の変更」と言えるでしょう。

また、先週は「ソフトウェアテストの初級者向け合宿イベント」であるWACATEが開催されていました。本記事でもいくつかスライドを紹介させていただきました。半年に一度なので、次は来年の夏ですね。

続きを読む

テストをテストする方法-ミューテーションテスト- #gadvent

はじめに

これはG* Advent Calendarの12日目の記事です。今日はミューテーションテストについて書きます。明日はid:nobusue さんです。

概要

PITというツールの紹介です。「Javaプロダクトコードを機械的に変更してからテストを実行したときに、テストはそれを検知できるのか?」ということを調べてくれるツールで、SpockのテストやGradleからの実行に対応しています。

続きを読む

Geb 0.9.xの新機能紹介 #gadvent

はじめに

これはG* Advent Calendarの11日目の記事です。今日はGeb0.9系の新機能について書きます。明日はid:kyon_mm さんのGroovyでテストをテストする です。

概要

GebはWebアプリケーションのGUIテストライブラリで、Selenium WebDriverのGroovyラッパーになっています。 先日Geb 0.10の新機能は紹介したので、その前バージョンである0.9系で追加された機能を紹介します。ビルドツール連携やBrowserStack連携が強化されていますが、その紹介はまた別の機会に。

続きを読む

週刊ソフトウェアテスト 2014-49 #swtest_jp

前書き

ソフトウェアテストにまつわるニュースを週毎にお届けする記事です。内容はid:kyon_mmの独断と偏見です。オススメの記事があるときや、質問などなどはコメントや@kyon_mmにご連絡くださるとうれしいです。

ハッシュタグ #swtest_jp でソフトウェアテストに関する事をツイートしてくださるととてもうれしいです!(なにかの紹介でも、議論でも、質問でも!

kyon_mmの意見

ThoughtWorksToby Clemsonがマイクロサービスのテストに関してスライドを公開していました!見てみたのですが、普通の事を言っていてちょっと残念でした。。。最近、TEFというMLのなかで僕は「マイクロサービスはシステムテストを犠牲にする事で、ライブラリやミドルウェアのようにテストしにくいものをテストしやすく保つアーキテクチャだ」という意見を出しました。このスライドはそれに対するなんらかの回答が得られるものではありませんでした。ただ、マイクロサービスやテストレベルを全く理解できていない人にはとてもいい資料かなぁと思いました。

Rosie Sherryが「テスト業界における女性」についてブログを書いて、議論を巻き起こしていました。日本の開発者でも知っていると思われるリサ・クリスピン(実践アジャイルテストの著者)もコメントを書いていました。彼女はテスト業界は他のソフトウェア開発業界(開発やゲームなどなど)に比べて、女性が活き活きしていると思っているようです。ただし、それはテストがある意味でジェンダーを意識させるような女性らしさを活かしやすいというだけではなく、給与やテストというロール自体のヒエラレルキーなど、話は様々な要因があり、議論が起きているようでした。日本でもたしかに、テスト業界は開発に比べて女性の割合が高いように見えますね。難しい話題ですが、「コミットメントしたい人の多様性を広げる」という方向性はとても重要なので、日本でもこういった議論、そしてそれを拡大させる活動があるといいのかもしれませんね。

また、今週からソフトウェアテストあどべんとかれんだー2014が始まりました。まだ枠が余っているので、ぜひブログを投稿してみませんか?

続きを読む

Geb 0.10の新機能紹介 #gadvent

はじめに

これはG* Advent Calendarの5日目の記事です。今日はGeb0.10の新機能について書きます。明日はid:grimrose さんのRatpackについて です。

概要

GebはWebアプリケーションのGUIテストライブラリで、Selenium WebDriverのGroovyラッパーになっています。 最近Geb 0.10がリリースされたので、言語面における新機能を紹介します。ビルドツール連携やBrowserStack連携が強化されていますが、その紹介はまた別の機会に。

続きを読む

IntelliJ IDEA14をインストールしたら設定すること(Groovy編) #gadvent

はじめに

これはG* Advent Calendarの4日目の記事です。今日はSpockの新機能について書きます。明日はid:kyon_mm さんのGeb 0.10の新機能について です。

概要

以前にIntelliJ IDEA 13で書いた「IntelliJ + Groovyでテストコードを書く毎日ですが、これらを設定しないと仕事にならない系ものをまとめてみました。」というやつをアップデートします。内容は変わっておらず、IntelliJ IDEA14のUIに合わせたという感じです。

各項目の「keyword」にあるものをIntelliJのメニューバーにあるHelp -> Find Actionで出てくる検索ボックスにいれると「この設定だよね?」って検索結果がでるので、それをクリックすれば一発で有効になります。また、Settingsでkeywordを入力するとそれっぽいものがフィルタリングされて表示されます。

IDEA起動時に最後に開いたプロジェクトを開く|開かない

keyword:Reopen last project on startup

  1. Settings -> Appearance & Behavior -> System Settings
  2. Startup/Shutdown -> Reopen last project on startup のチェックボックスをoffにするとIDEA起動時に最後に開いたプロジェクトを開かない。
  3. Apply

行番号を表示する

keyword:Show line number

  1. Settings -> Editor -> General -> Appearance
  2. Show line numberのチェックボックスをonにする。
  3. Apply

フリーカーソルをやめる

keyword:Allow placement of caret after end of line

  1. Settings -> Editor -> General
  2. Virtual Space -> Allow placement of caret after end of line のチェックボックスを外すとフリーカーソルが無効になる。
  3. Apply

エディタで表示しているファイルとプロジェクトのツリーの選択ファイルを同期する。

  1. プロジェクトを開いている状態で、projectの歯車をクリックする。
  2. Auto Scroll from Sourceにチェックがつく状態になるようにクリックする。

プロジェクトのツリーで選択したファイルをエディタに表示する。(ダブルクリックではなく選択で表示するようにする。)

  1. プロジェクトを開いている状態で、projectの歯車をクリックする。
  2. Auto Scroll to Sourceにチェックがつく状態になるようにクリックする。

Spockのラベルをハイライトする

  1. Settings -> Plugins
  2. Browse Repositories
  3. 右上の検索窓で Spock を入力
  4. 一覧に Spock Framework Enhancements が出るので、選択して右クリック-> Download and Install
  5. Close
  6. Apply再起動(多分)

自動保存

keyword:save files automatically

  1. Settings -> Appearance & Behavior -> System Settings -> Synchronization
  2. 4つのチェックボックスを全てonにする。
  3. save files automatically if application is idle for の数字は「何秒間操作がなかったら自動保存するか?」
  4. Apply

保存したら自動でコンパイル

keyword:Make project automatically

  1. Settings -> Build, Execution, Deployment -> Compiler
  2. Make project automaticallyのチェックボックスをonにする。
  3. Apply

テストの起動高速化

keyword:EditConfiguration

  1. Run/Debug Configuration -> Defaults -> JUnit -> Before
  2. Makeを削除する。既にあるテスト実行系(All HogeProjectやHogeTestのようなもの)は削除する。
  3. 「Make, no error check」にを追加する。
  4. OK

Ctrl(Command) + マウスホイールでエディタの拡大縮小をする。

keyword:Change font size

  1. Setting -> Editor -> General -> Change font size(Zoom) with ... のチェックボックスをonにする。
  2. Apply

Web API The Good PartsはWeb API開発必携の書籍でした。 #apijp

はじめに

これはWeb API Advent Calendar 2014の二日目の記事です。 明日はid:nobusueさんです。

概要

これはWeb API The Good Partsという書籍の感想です。Web API開発に関わる人なら必ず読んでおいたほうがいいでしょう。ここ3年くらい「URI設計はどうすべきなのか」「APIバージョンはどうすべきなのか」「続きのデータをどのように取得すべきなのか」などについて綺麗にまとまっています。 最後にWEB API開発やレビューで使いたいチェックリストがあるのも素晴らしいです。

Web API: The Good Parts

Web API: The Good Parts

続きを読む