はてなブックマーク - ソフトウェアテストのワークショップ【WACATE】で賞をいただきました!2
    このエントリーをはてなブックマークに追加

    Merry Christmas♡フクダリナです。

    前回のブログが半年前の「ソフトウェアテストのワークショップ【WACATE】で賞をいただきました!」だったのですが、

    今回も同じタイトルで記事が書くことができます!

    12月14日~15日にWACATE(Workshop for Accelerating CApable Testing Engineers)という若手エンジニア向けワークショップに行ってまいりました。

    (前回フォローしていませんが、ワカテと読みますが年齢制限はないのです!)

     

    参加したワケ

    前回から半年後の今回参加したわけは、以下になります

    • WACATE参戦後、急加速することになった自分自身の成長の成果を確かめるため
    • この半年でさらに関係が濃くなった仲間たちとワークショップを通じてあらためてモチベーションを高めるため
    • 夏とは違うセッションを楽しむため

     

    ワークショップについて

    詳しくは後述しますが、別のサイトで詳しく書くことになりそうです。(プログラムはWACATEサイトを見てみてください。)
    ですので、全体的な感想を。。

    夏のセッションは絞られたセッションを深くチームで考察し、発表まで行う形式。冬は多くのセッションを広く受ける形式となっており、本当に色々なセッションを受けました。

    とくに「テスト」の枠に縛られず、品質の話であったり、論文寄稿の勧め、相手に勧める戦術など、テストエンジニア以外の方が聞いても役に立ちそうな話題があふれていました。
    また、セッション担当を実行委員がするのですが、どなたのプレゼンも本当に素晴らしく、価値があるワークショップだと思います。
    参加者たちもテスト界隈で有名な方々が全国から来ていて、各テーブルでの話も貴重でした(私のグループも初めてお会いする有名人がいて、色々お話聞けて面白かったです)

     

    BPP賞とは

    ※前回の記事より

    WACATEでは、参加登録の際に参加表明として「ポジションペーパー」というものを提出するのですが、最終的に3つの賞を決めます。
    3つの賞が一貫して「今後期待できそう、勢いを感じる」というテーマで決定します。

    • 実行委員が決めるMost Accelerationg Paper賞
    • 招待講演者が決めるBiased Favorite Paper賞
    • 参加者の投票で決めるBest Position Paper賞

    そして、僭越ながら 私が

    Best Position Paper賞
    をいただきました!!
    BPP賞

    受賞の理由は、ポジペのデザインや作成時間の功労を評してくれた方や

    ポジペの内容が「加速している」と感じてくれた方に評価していただいたようです。

    選んでくださったみなさま、ありがとうございます。

    今回のBPP賞の副賞として、

    • 夏に私が運営しているグループも寄稿した同人誌「Software Testing “ManiaX”-vol.8-」
    • 同人誌「メトリクス公団」
    • gihyo.jpへの寄稿
    • 次回WACATE無料ご招待(ただし、BPPセッションの登壇)

    をいただきました!

    詳しいWACATEの内容は来年寄稿すると思いますので、お楽しみに♪

    前回のブログの最後に「BPP賞が欲しい!」という願望を書いていたことをすっかり忘れていたのですが(ビッグマウスだった・・・)、それでも無事願望が達成できてよかったです。

    次の半年は寄稿や、セッションのためのプレゼン準備にもがんばりたいと思います。

    { 2013.12.6 }

    すごいHなテスト

      はてなブックマーク - すごいHなテスト
      このエントリーをはてなブックマークに追加

      福岡事務所に電話をしたら、「どなたですか?」と聞かれた中野@東京事務所です。

      テストコードを書くのが苦手です。ついつい、手抜きを考えてしまいます。
      何が面倒かというと、やはり、テスト用のデータを作成することがめんどいです。

      ということで、そんなあなたにお勧めのHaskellです。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      
      {-# LANGUAGE GeneralizedNewtypeDeriving #-}
      -- hoge.hs
       
      import Test.QuickCheck
      import Test.QuickCheck.Monadic
       
      import Control.Applicative
      import Control.Monad.State
      import Control.Monad.Writer
       
      data Q = Q Int deriving Show
      data S = S { fstS :: String, sndS :: String } deriving Show
      data W = W { getQ :: Q,  getS :: S } deriving Show
       
      instance Arbitrary S where
        arbitrary = S <$> elements ["Mr.", "Ms.", "Mrs."] <*> elements ["Hoge", "Foo", "Bar", "Hage"]
       
      newtype AppT w m a = AppT { runQ :: StateT W (WriterT w m) a }
          deriving (Monad, MonadIO, MonadState W, MonadWriter w)
       
      exec :: AppT [String] IO Int
      exec = do
        w <- get
        let Q(q) = getQ w
            s = getS w
            name str = fstS str ++ " " ++ sndS str
        tell ["No." ++ show q]
        tell [name s]
        return q
       
      main' :: S -> Int -> IO [String]
      main' s a = main'' (W (Q a) s)
        where
          main'' w = do
            (_, r) <- runWriterT $ runStateT (runQ exec) w
            return r
       
      prop_main' :: S -> Int -> Property
      prop_main' s a = (a < 100 && a > 0) ==> monadicIO $ do
        res <- run $ main' s a
        assert $ res == ["No." ++ show a, fstS s ++ " " ++ sndS s]
       
      main :: IO ()
      main = quickCheck prop_main'
       
      -- $ runghc hoge.hs

      OH, さすがすごいHな言語。自動でテストのデータを作成してくれました。
      (ScalaにもScalaCheckという似たようなやつがあります)

      まとめ

      まあ、ランダムな値なので確実とはいいませんが、簡単にできるので重宝しております。
      弊社ではよくPHPやRubyなどの動的型付言語をやってるみたいですが、型推論がある関数型言語はいろいろと手抜きができて便利です。

      テストを書くのに疲れたから、さぼってたわけではありません。暁ちゃんかわいい。

        はてなブックマーク - Fusic勉強会 #3 本日です
        このエントリーをはてなブックマークに追加

        小山です。

        年末ですね。

        最近やっている案件で、Ansibleを使って複雑な環境を一気に作り上げたときは、本当に感動ものでした。

        さて、Fusic勉強会 #3ですが、本日開催となります。
        3回が3回ともジャンルがバラバラなので混乱している人もいるかと思いますので、今回は趣向を変えて、軽く発表内容を「想像で」紹介したいと思います。

        想像が合っているか間違っているかは、是非参加して確かめてください。

        ELBのクロスゾーン試してみた、失敗した、リベンジした / 島田 知法

        最近、ELBに追加されたCross-Zoneの話ですね。世間では「これはいい!」と、結構手放しでもてはやされていますが、やっぱり「実際に投入するときには、つまずきポイントがある」ということでしょうか?

        発表者は、Fusicの中では最も大きい規模のサービスを担っていますので、そこらへんも関わってくるのかもしれません。

        Fusic監視愛好会 活動報告 / 杉本 慎太郎

        この「Fusic監視愛好会」ですが、社内でも知っている人は一部だと思います。。。

        内容は。。。ちょっと伏せましょう。ネタバレになりそうなので。

        ただ、面白いことを始めていることは確かです。よくある「弊社ではこういったことをしています!」という発表はありますが、「こういったことを試行錯誤しています!」という発表はなかなかないかと。

        別に社員を監視しているわけではありませんよ。発表者曰く「そういった考えをする人は心にやましいところがあるからです」とのこと。

        いまさらSPL入門 / 櫻川 幸三

        「言わずと知れたSPL」と言いたいが、あまり知られていない使われていないSPL。使いどころでは便利なのに。

        という内容だと想像しています。基本を知ることができるいい機会です。

        (受託案件で)使える!! Yav plugin / 小山 健一郎

        はい、小山です。自分がずっとメンテを続けているCakePHP Yav Pluginの再紹介です。
        Fusicのメンバーも増えましたので、知らない人もいると思いましてもう一度紹介しようかと。

        いままで多くのCakePHP Pluginを作ってきましたが、メンテを続けているということは、それだけ実案件において有効だということです。

        特にこのYav Pluginは、自分の備忘録的に拡張が続けられています。

        つまり実案件におけるエッセンスがいろいろ入っているわけですね。

        ただ、当時も紹介を適当にしていたので(さらに拡張も進んでいるので)、今回は本気出します。たぶん。

        というわけで

        本日です。「忘れてた」という方も「今日は仕事が早く終わりそうだな。ちょっと言ってみるか」という方も「Fusicって何?」というかたも、遊びにきてください。

        fusic.doorkeeper.jp/events/7414