BizReach QA Meetupに参加してきました

7/18(木)に行われたビズリーチさんのQA Meetupに参加してきました。QA組織立ち上げから、立ち上げからの積み上げ、新卒社員への教育まで盛りだくさんな内容でした。
d-cube.connpass.com

孫子に学ぶ 〜 QA組織の立上げカタ

(くにおさん)
数々の組織でQA組織の立ち上げを手掛けてきたくにおさんのセッション。

グラレコもやってみたので載せときます。
f:id:yuki_shiro:20190722233222j:plain

感想

組織立ち上げのカタを、中国の故事を引用しながら説明してくれるのが個人的にツボでした(歴史好き)!小さいところ、すぐできるところから開発チームと一緒になってやってみるという点は、自分も意識しているところなので非常に大事だなーと思いました。「死生の地、存亡の道、察せざるべからざるなり」は課題なところです。勝ち筋、落としところは最近意識しているけど苦手なところなので見習いたいです。

とあるQAチームの立ち上げから半年〜1年のお仕事

(井芹久美子)

f:id:yuki_shiro:20190722233258j:plain

感想

QA組織がなかったところに立ち上げた後、どうやって進めていったかの話でした。もともと品質への関心は高かった、かつ気軽に話せる文化があったそうですが、柔軟に開発チームと独立と協調の間でやれてるのは素敵だなあと思います。すごく地道に堅実に積み上げてるイメージ。
QA経験が少ない方に向けたアドバイスとして「品質に対する考え方を持つ。考える癖をつける」と言われてたのが、すごく大事なメッセージだったと思います。考えてると見つけられるバグが変わってくるので、ここは大事なところですね。

新卒入社の人達にテストの大切さを伝えた話

ブロッコリー
speakerdeck.com

f:id:yuki_shiro:20190722233322j:plain

感想

この研修マジですごいと思います。私が受けたいw大分詰め込んだ研修ですが、全部理解しきれなくてもいいので知ってた方がいいだろうというマインドだったそうです。そういう引出しがあるとないとでは、なにか選択するときに調べるトリガーの有無に関わってくるので素敵。知らなきゃ調べようと思いませんものね。やり方も教えるけど、それの根底にある考え方をきっちり教えてるすごい研修だなあと感じました。

※コメントいただいたので追記
1日目で理解しきれなくてもいいという考えには、「1日目の学びは2日目のモブワークで体験できる」という考えもあるそうです。研修の流れが作り込まれていて、改めてすごいなと感じました。

全体の感想

セッションもその後の懇親会も濃い話、現場の話を聞けて楽しかったです。登壇者、スタッフの皆様ありがとうございました!

Woman Tech Terraceに参加してきました

CyberAgentさん主催のWoman Tech Terrace行ってきました。
cyberagent.connpass.com
f:id:yuki_shiro:20190618082623j:plain:w400
女性エンジニアが100人単位で集まるイベントはなかなかなく、キャリアの話がきけて学びの多いイベントでした。

基調講演「IT業界で活躍する女性エンジニアのための未来ポートフォリオ

(日本アイ・ビー・エム株式会社 デベロッパーアドボケイト戸倉 彩)
戸倉さんは、職業「戸倉彩」でおなじみの方で、「Visual Studio Code 快適生活」をSoftware Designで連載中されています。
デベロッパーアドボケイトとは、IT技術者が「かしこく」「素早く」「一緒に」 現実社会の問題を解決することをサポートすることがお仕事だそうです。「エンジニアをヒーローにしたい」とおっしゃってたのが素敵です。

戸倉さんのキャリア

これまでのキャリアは、最初は「女の子がエンジニアなんて」という時代だったので貿易会社の秘書からスタート、子供のころからITに関わりたいという志望動機を読んでもらえ2社目からIT企業のエンジニアに。興味の移り変わりや家庭の事情に合わせて、キャリアや転職を次々に行い、それに伴って年収とテンションも移り変わってきたそうです。写真はそれをグラフ化したものw
f:id:yuki_shiro:20190616093223j:plain:w400
何度か線の途切れが生じてますが、「エンジニアだからこそ、キャリアが途切れずに済んだ」と仰っていて力強かったです。エンジニアとしてキャリアを積むと、ずっと勉強し続ける雰囲気があるが、エンジニアも色々なバックグラウンドがあった方がよいと実例を交えて語っていました。今までのお仕事の中で、貿易会社秘書の経験が円ドルの換算などに役に立ったり、営業のマネタイズの仕方や決定権がある人を見極める力が役に立ったそうです。

女性エンジニアは「エンジニア」です。女性はタグ付け、職業はエンジニア。セルフブランドを作っていく中で考えてることを話してくださいました。
f:id:yuki_shiro:20190618082855j:plain:w400
Rice PlanとLife Planで戸倉さん自信のやりたいことや好きなことで、セルフブランド計画を作成
➡️勝てる土俵を作る
➡️勝てる土俵できっちり成果を出してキャリアアップしていく。
f:id:yuki_shiro:20190618083142j:plain:w400
ロールモデルがいない/少ないことが女性のキャリアでよくあげられますが、妄想、想像でよいので自分で設定すればよいとのこと。説得力があって力強いです!
自分でなりたい姿を作りながら、キャリアを積み上げていくのいいですね。

「SWAT~ヤフー救出作戦~」

(ヤフー株式会社矢田和沙)

SWATとは?

社内サービスへの技術的な支援や新しい技術の調査、検証、開発、簡単に言うと社内の火消し部隊のような感じだそうです。ミッションは「事業の成功のために、期待を上回る技術的成果を生み出す」こと。

関わってきたお仕事の紹介
  • 事故サービスへの技術支援。負荷対策を行い、落ちないようにする。
  • 新規モジュールのABテスト。どちらがクリック率が高いか。
  • サービスの技術刷新。レガシー化による技術的負債の増加

→SWATチームは、技術やサービスに幅広くかかわるお仕事だそうです。

SWATとして働く上で気を付けていること
  • プロジェクトの人が今後開発しやすいように一緒に働く
  • 俯瞰的・客観的な立場を大事にする
  • 「なんとなく」をそのままにしない
ちょっとさみしいこと
  • サービスの成長やリリースまで携われない
感想

組織横断的な働き方という点で、QAエンジニアという自分の立場と共感できる部分があり、興味深く聞かせてもらいました。横断的にかかわる分「なんとなく」をそのままにしない、のは私も気を付けているところなので、すごく共感しました。

「リアルタイムにデータ分析してWebサービスの面白さを伝えたい」

(株式会社サイバーエージェント井上ゆり)
Twitterの男女判定で男性判定されたことを覆したく、こちらの女性エンジニア度判定器を作成されたとのこと。
女子度とエンジニア度を判定しちゃうよ♡

会場でURLを公開し、参加してる女性エンジニアにアプリで遊んでもらう、
からの、
アプリのアクセスの様子をリアルタイムでデモ、という流れが最高でした!ライブ感が素敵!
ちなみに、このデモの準備には、教師データ作成に1週間、その他1週間程度かかっているそうです。「~かしら」などの特有の終助詞とか絵文字が入っていると、女性のtweetとして判定されやすいのだとか。

「未経験エンジニアがエンジニアリングマネージャーになるまで」

(株式会社ウエディングパーク栗山 茜)
栗山さんはプログラミング未経験の文系学部卒で、そこから師匠について勉強し、ベストプレイヤー賞を受賞されるまでになったそうです。
マネージャを目指すキッカケは、ある日の1on1でマネージャを勧められたからだそうです。そこから悩みを一つずつ解消してもらいながら、マネージャになることを決意されたそうです。挙げられた悩みと、それに対してどう考えたかをいくつか紹介します。

 →他のポジションが必要だと思えば作るのもあり。マネージャを選んでもその道がずっと続くわけではない

  • 悩み:自分にできるか不安「具体的に何をやるかわからない、向いているかわからない。他に女性マネージャもいない」

 →なりたいときにチャンスが巡ってくるとは限らない、やってみては?

次のようなことが決め手はになったそうです。

  • 一つずつ不安を解消してくれてチャレンジしようと思えたこと
  • 入社の軸は人、一緒に働きたい人がいること
  • 組織をみたときにマネージャが必要だったこと

まだ女性のマネージャは少ないので、どう考えてマネージャになったかを聞けたのは貴重な機会でした。

ワークライフバランスのバランス☆

(Sugar株式会社タラソワ・ダーシャ Dasha Tarasova)
「定時で帰ってそんなにすることあるの?」という問いかけに対するタラソワさんのお答えがこちら。全力で同意します!
f:id:yuki_shiro:20190616093339j:plain:w400
色々とワークとライフのバランスを試してみたそうですが、こんな状態だそうです。
f:id:yuki_shiro:20190619082205j:plain:w400
コミュニティのところがすごく共感できます!

めくるめく中国テクノロジー 深センによせて

(dotstudio, inc.ちゃんとく/ Yuka Tokuyama)
Maker Faire Shenzhenへの出張で行った深センの紹介でした。
深セン地下鉄網が充実していて、ほとんとすべての場所でWeChat Payで支払うことができたそうです。現金両替しなくてもほぼOKで、逆に現金はボロボロすぎて自販機等で使えず不便だそう。シェアサイクルも盛んで、こちらもWeChat Payで払えるそうです。WeChat Payは個人に紐づくので盗難対策にも◎
中国は社会実装が先に来る→法律がそれに追随ですが、日本はそれに比べると許認可が大変な印象。

深センはIT産業盛んなところ、程度のイメージしかなかったのですが、それ以上に新しいものの取り入れるスピードが速く、発展してる街だということがわかりました。私の訪問したい街リストに加わりましたw

効果的なGitリポジトリ利用の手引き

(GitHub. 鈴木 順子)

GitHub(会社)は、コミュニケーションはオンラインが基本で、定期的にオフラインで集まる機会もあるそうです。鈴木さんのお仕事はEnterprise Support Engineerとして、企業向けのプランのサポートだそうです。
f:id:yuki_shiro:20190619083234j:plain:w400
印象に残ったのはこちら。皆さんフツーに超えてくると仰ってて、確かに漫然とGitを使ってると起こり得そうな気がしました。何をGitで管理するかの認識合わせ大事。

感想

女性エンジニアがターゲットとあって雰囲気がとてもおしゃれでかわいい印象でした。エンジニアイベントの懇親会でこんなおしゃれな寿司見たことないですw
f:id:yuki_shiro:20190618125810j:plain:w400
託児所も設けられていて、時々赤ちゃんの声が聞こえてきて微笑ましかったです。子連れでも参加できるよう設定してくださってて素敵だなーと感じました。
女性エンジニアはまだ少なく、リアルな話を聞く機会も少ないので貴重な機会でした!ありがとうございました!

脆弱性のテストツールをテストするためのサンプルアプリケーションまとめ

脆弱性のテストツールをテストするときの困りどころ

脆弱性のテストをするためのツールを検証しようと思ったとき、困るのが「どこのサイトを対象にテストするか」です。うっかり一般に公開されているサイトでテストすると、業務妨害になりかねません。
世の中には、脆弱性をテストするためにわざと脆弱性やバグを仕込んだサンプルアプリケーションが、親切にも公開されています。自分が試したくなった時のためにまとめてみました。なお情報は2019年5月時点のものです。

サンプルアプリケーションのリンク集

1. Easy Buggy

脆弱性やバグの動きを理解するために作られたバグだらけのアプリケーションです。Javaがインストールされていれば手軽に動かせます。Boot版やPython版も用意されています。日本語のREADMEがあり、インストール方法や動かし方も分かりやすいです。
メモリリークデッドロックJVMクラッシュ、SQLインジェクションなどが試せます。
ダウンロードはこちらから。
github.com

2. OWASP Broken Web Applications

Webのセキュリティの啓蒙活動をしてるOWASPが公開している脆弱性診断練習用のWebアプリケーションです。VirtualBox上で動きます。練習用に作られているだけあって、よく知られている脆弱性は一通り試せます。
こちらのサイトからイメージが落とせます。
sourceforge.net

以前脆弱性診断ツールのOWASP ZAPの勉強会に参加した際に知りました。Virtual Boxでの設定方法は、こちらのブログで分かりやすく紹介されています。
nilfigo.hatenablog.com

3. AppGoat

IPAが公開している脆弱性体験学習のツールです。IPAに利用申請がいるので使ったことはないのですが、紹介しておきます。
www.ipa.go.jp

知っているもの、調べて出てきたものを挙げてみました。「他にもこんなのもあるよ!」などありましたら、コメントなどでお知らせいただけると助かります。

城めぐり ~土の城の最高傑作 杉山城

「土の城の最高傑作」、「築城の教科書」と名高い杉山城を訪問してきました。

お城の概要


公共交通機関ユーザーにはなかなか行きにくい距離ですが、技巧に富んだ多彩な防御機構が見られ、片道40分歩く価値がある城です。15世紀頃に山内上杉氏によって築かれたようですが、上杉氏の他の城には見られない高度な築城技術が用いられており、後北条氏の城という説も出ています。鎌倉街道を見下ろし、西は市野川に接する丘陵を丸ごと一つ縄張りとしています。比較的コンパクトな城ですが、色々見て回るのが楽しいので、駅との往復含め3〜4時間はみておきたいところです。なお杉山城は私有地で、持ち主の御厚意で整備・公開してくださっているそうです。大変ありがたいですね。
f:id:yuki_shiro:20190428150526j:plain:w400

見どころ

いくつも用いられた防御機構が見どころです。積善寺の裏手にある大手口から上がっていくとまず、外郭と南三の郭に出迎えられます。案内板を用意してくださっているので迷わずたどり着けます。見づらいけど縄張り全体図の入った案内板です。
f:id:yuki_shiro:20190428151609j:plain:w400
外郭には折れを持つ土塁があり、かなりの急角度と高さがあります。よじ登るのはまず不可能です。
f:id:yuki_shiro:20190428150315j:plain:w400
外郭から南三の郭に行くには、深い空堀を超えていく必要があります。ここには木橋がかかっていたらしいのですが、有事には橋は取り外せる構造だったようです。仮に木橋がかかっていても、位置的に南三の郭から見下ろされる構造のため、渡ろうとすると側面から横矢がかかってきます。
f:id:yuki_shiro:20190428153732j:plain:w400
本郭に入るまでのルートは、ほぼすべて正面と側面から攻撃を受けるようになっており、なかなかえげつない城です。南三の郭から南二の郭に入る際も食い違い虎口という防御機構が設けられています。
f:id:yuki_shiro:20190428150833j:plain:w400
見通しが悪く、二の郭に入るまでに何度か体の向きを変える必要もあります。
f:id:yuki_shiro:20190428150857j:plain:w400
井戸郭の井戸には今でも水がわいており、当時から水の確保はしっかりなされていたことがうかがえます。
f:id:yuki_shiro:20190428151153j:plain:w400
井戸郭から本郭に入るルートが設けられていますが、ここも木橋で、やはり有事には取り外せる構造だったようです。深い空堀が設けられており、本郭の土塁上から側面攻撃がかかるようになっています。今は空堀への転落防止のため柵が設置されていました。
f:id:yuki_shiro:20190428153243j:plain:w400
本郭は広い平地が設けられています。周辺一帯を見下ろすことができ、日光男体山まで見えるとか。当時はもう少し木を伐採していたと思うので、周辺の街道の様子などもばっちり見渡せたでしょう。
f:id:yuki_shiro:20190428153143j:plain:w400
本郭の東には、東二の郭、三の郭が設けられています。こちらは傾斜もなだらかで防御も比較的ゆるめでした。北には北二の郭、三の郭が設けられており、こちらは土塁がしっかり作られていました。
f:id:yuki_shiro:20190428152556j:plain:w400
杉山城は遺構がしっかり残っており、しかも分かりやすいよう図解豊富な看板が用意され、おもてなしを感じられる城でした。公開してくださっている所有者の方や整備してくださっているボランティアの方、本当にありがたい限りです。

今回の城めぐりには、こちらの本を参考にしました。著者の城好きの熱量が伝わってきて、思わず城めぐりをしたくなる一冊です。

城めぐり ~畠山重忠居館 菅谷館跡

埼玉県の武蔵嵐山にいくつか気になる城跡があったので巡ってきました。

お城の概要


源平が争ってた時代の有名な武将・畠山重忠の館跡です。都幾川(ときがわ)沿いの台地の上にあり、南は都幾川、東と西には天然の谷地形があり、城を作るのに良い地形です。12世紀くらいから戦国時代まで、増築を重ねながら城として機能していました。今見られる遺構は戦国時代のものだそうです。敷地内には、埼玉県立嵐山史跡の博物館や畠山重忠像などもあり、博物館込みでじっくり見て回ると1時間半くらいでした。
f:id:yuki_shiro:20190428135031j:plain:w400

見どころ

土塁と空堀が綺麗に残っています。当時の大手門方向である北側から入っていくと三の郭の土塁が迎えてくれます。
f:id:yuki_shiro:20190428130437j:plain:w400
三の郭には嵐山史跡の博物館があります。周辺の城郭についての映像資料や、発掘調査の出土品が見られます。周辺の城郭もセットで見て回りたい方は予習を兼ねてここを先に見ておくのオススメです。
博物館を出て少し進むと二の郭です。畠山重忠像が迎えてくれます。
f:id:yuki_shiro:20190428135310j:plain:w400
理知的できりっとした感じで、清廉潔白なイメージにあってます。余談ですが、アオダイショウと思われる蛇も出迎えてくれました。君の出迎えはいらない。

さて、二の郭の次が本郭になります。ここの守りが一番堅く、深い空堀と高い土塁が設けられています。
f:id:yuki_shiro:20190428135429j:plain:w400
土塁の角度も急です。写真ではいまいち伝わりませんが、土塁の上から見下ろすと3メートルほど高さがあり、堀底からよじ登るのはかなり困難と思われます。見下ろしてみた図がこちら↓。
f:id:yuki_shiro:20190428135937j:plain:w400
本郭の土塁には出っ張った部分も設けられており、攻めてくる敵に対して側面攻撃も仕掛けられるようになっています。直線だけじゃない変化が見られて防御の工夫がよく分かる箇所です。相変わらず写真では分かりにくいですが、土塁が直角に曲がっています。
f:id:yuki_shiro:20190428140121j:plain:w400
城の南側は都幾川に面した崖になっているので、そちらの守りは薄めで、本郭を守る南郭があるのみです。覗いてみましたが、結構急な崖で天然の防御機構となっていました。

戦国時代の遺構が綺麗に残っており、また史跡公園として整備されており歩きやすく、楽しく訪問できるお城でした。

おまけ

史跡公園近くの菅谷小学校、中学校の塀が素敵なデザインだったので思わず一枚。
f:id:yuki_shiro:20190428140716j:plain:w400

ユーザビリティの評価手法SUMIとWAMMIとは何ぞや?

SUMIとWAMMIは、用語としてはJSTQBのテストアナリストのシラバスの「使用性テスト」の部分に出てきます。ただ用語は出てくるものの、どういったものかはよく分からなかったので、調べたついでにメモしてみました。
なお、出てくる情報は2019/03時点のものです。

SUMIとWAMMI両方に共通するもの

SUMIもWAMMIもアイルランドのコークカレッジ大学で活動するヒューマンファクター研究グループによって開発されたユーザビリティを評価するための調査方法です。
いくつかのアンケート項目が用意され、ユーザにどの程度同意するか答えてもらうことにより、評価を行います。質問の中には、ポジティブなもの、ネガティブなもの、両方が含まれます。(適当に全部「同意」とかで答えられるのを防ぐためですかね)
SUMIはソフトウェアアプリケーションの評価に使われ、WAMMIはウェブサイトの評価に使われます。

SUMIとは

公式HPはこちら
http://sumi.uxp.ie/index.html
Software Usability Measurement Inventoryの略。シラバスでは「ソフトウェア使用性測定一覧表」と訳されています。

全部で50問の設問があり、「ソフトウェアのレスポンスが遅すぎないか」「同僚にこのソフトウェアを勧めるか」といった問いに対して、「同意する/分からない/同意しない」を答えていくものになります。設問の内容については、以下のサイトで英語版のサンプルが見られます。
http://sumi.uxp.ie/en/
こちらを正式に使うには、最小のプランで200ユーロかかる模様。詳細はメールでの問い合わせが必要なようです。日本語対応済み。

WAMMIとは

公式HPはこちら。
http://www.wammi.com/index.html

Website Analysis and Measurement Inventoryの略。シラバスでは「Webサイト解析と測定一覧表」と訳されています。

全部で20問の設問があり、「ウェブサイトには私にとって興味深いものがたくさんある」「このウェブサイトを見て回るのは難しい」といった問いに対して、どの程度同意するかを5段階で評価するものになります。こちらも、以下のサイトで英語版の設問のサンプルを見られます。
http://www.wammi.com/samples/index.html

WAMMIには日本語版はないようです(少なくともHPには記述がありませんでした)

WAMMIの利点は、世界中で使われている評価法のため、過去のウェブサイトのテスト結果から作られた参照用データベースに照らし合わせた結果を見ることができる点です。魅力、操作性、効率、有用性、学習可能性、そして全体的なユーザビリティスコアの6つの領域で、参照用データベースと比較したスコアを見られるそうです。

以上、調べても日本語情報はあまり出てこなかったので、まとめてみました。何かの参考になれば幸いです。

参考

「Advanced Level シラバス日本語版 テストアナリスト」
「ユーザーエクスペリエンスの測定 UXメトリクスの理論と実践」

ユーザーエクスペリエンスの測定 (情報デザインシリーズ)

ユーザーエクスペリエンスの測定 (情報デザインシリーズ)

第70回 脆弱性診断ええんやで(^^)参加メモ

最近脆弱性診断をGUIからできるOWASP ZAPに興味を持っているとつぶやいたら、お勧めいただいた勉強会に行ってきました。脆弱性診断研究会さんが毎月開いているもので、今回のテーマは「ワタシハCSRFチョットデキル」。
security-testing.connpass.com

OWASPってナニ?

Webアプリケーションのセキュリティの啓蒙活動をしてる団体。公式HPはこちら。
www.owasp.org

OWASP ZAPってナニ?

OWASP Zed Attack Proxyの略。OWASPが公開しているフリーのセキュリティ診断ツール。プロキシとして動作してブラウザとWebアプリケーション間の通信の閲覧および改ざんが行える。
www.owasp.org

OWASP ZAPの基本設定

プロテクトモード以外は使用禁止!ほかのモードだと管理外のサイトへ診断を実行する危険性が高い。基本的な使い方は、こちらのQiita記事が分かりやすかったので、リンクさせてもらいます。
qiita.com

CSRFとは

Cross Site Request Forgeli
偽造
対象のサイトにログインしているユーザが、その気がないのに勝手に他のサイトの操作を強制されてしまう

1. 攻撃者が罠サイトを用意
2. 適当なところに罠サイトのURLを貼る
3. 攻撃対象サイトに利用者がログイン
4.別タブで罠サイトにうっかりアクセス
5. 罠サイトのフォームが送信される→知らないうちに、書き込みが完了している
 
 攻撃者側は待つしかないが、ターゲットがリンクを踏んでしまえば投票や投稿が終わっている
 

CSRFをどのように防ぐか

セッションIDによる認証

 ①IDとパスワードを送信してログイン
 ②セッションIDを発行
 ③ログインフラグON
 ④SetCookie
  →WebアプリケーションのURLが変わらない限り同じCookieを送り続ける
 
 罠サイトに設置されているフォームを送信する際に利用者のブラウザからCookieがWebアプリに送信されてしまう

CSRF対策
  • 対策が必要な機能を洗い出し
    • 回復が難しい操作(パスワード変更、決済処理、退会処理など) ※操作を強制するだけで、結果を攻撃者が受け取ることはできない  
  • 根本的対策を実施
    • 秘密情報(token)をフォームに埋め込む
    • パスワード再入力:本人しか知らない情報を入力させる
    • Reffrerチェック
      • CSRFを経たリクエストは、ヘッダーにReffereがない→その場合は処理しない
  • 保険的対策を実施
    • 対策対象処理時にメール送信(パスワード変更や決済処理のときにメール送信する→ユーザが気づく)

質疑:

1. CSRF-Tokenはユーザは意識してないのか?
 →Yes. Hidden fieldになっているしユーザが意識することはない
  tokenとsessionIDはCSRFについては漏洩を気にすることはない
2. 根本対処としては、tokenとパスワード再入力はどちらがよいのか?
 →効果は一緒だが、パスワード再入力はユーザが嫌がる場合がある
3.対策が必要な機能でログアウト処理は入れるべきか?
 →CSRFとしてはしなくてもよい。うざったいだけで回復が容易なので。
  ただし、ログアウトは別の脆弱性がある場合があるので要チェック