ヤマムギ

growing hard days.

*

「MonotaRo Tech #3 テスト自動化」に行ってきました

      2016/09/18


モノタロウさんの「MonotaRo Tech #3 テスト自動化」に行ってきました

オープニングトーク MonotaRo CTO 安井さん

MonotaRo

  • 2015年売上556億、営業利益率13.2%、年20%以上の成長を続ける
  • 内製、自社開発
  • アジャイル取り組み
  • 技術力向上のために予算を取る
  • 取扱商品: 事務用品、工具、消耗品、科学用品、カー用品
  • 関節資材購買のフローを変えた、時間を買ってもらえるようにした
  • 交渉や相見積もりは関節資材にはほとんど意味がない。
  • なので無駄に消費されてきた人的コストを削減した
  • 価格交渉なし、すぐに探せてすぐに商品が届く
  • 圧倒的な品揃え、一物一価
  • 価値あるPB商品
  • 標準化とITを駆使してコストを削減、さらにレコメンドでお客さまに最適な商品を提供する
  • データベースマーケティング

MonotaRo TechTalkをなぜやるのか

  • 会社がITに特化していることをアピールするため
  • 圧倒的な価値ある技術力とノウハウを世の中に提供
  • 採用マーケティング

自動化の世界ひとめぐり ギルドワークス前川さん

  • Application Lifecycle Management(ALM)
  • アプリケーションの一生を面倒見る(はじめから終わりまで)

自動テストにまつわる誤解について

  • システムテスト自動化標準ガイドはいい本
  • 記録&再生の手法はメンテナンス性や再利用性に劣る「線形スクリプト」なので初期だけにしたい
  • 100%を目指す意味はない、自動化は本来単純作業を機械に任せるためのもの
  • テストエンジニアは絶対に必要。ユーザービリティや例外操作は機械にはまだ出来ない。
  • 自動化自体の実装に時間がかかるので即座にスケジュールが前倒しになることはない。少なくとも初回リリースのみ。
  • あくまでも決められたプロセスを助けるだけ、人が発見出来ない不具合は発見出来ない

自動化のツールと使いみち

  • 要求定義-要件定義-設計-実装
  • ユーザーテスト-システムテスト-結合テスト-単体テスト
  • 要件定義-システムテスト領域のE2Eテスト,負荷テストツールがうってつけ
  • 設計以下はユニットテスト、スタブ、モック、フェイク、検査、証明には使える

E2Eテストツール

  • 終端部分のテスト
  • ブラウザ: Selenium,Nightmare,Robot Framework
  • モバイル: Appiun
  • GUI: UWSC,Sikuili(Pythonライブラリがある)
  • API: httpClientライブラリ

Sikuli

  • 画像マッチングしてそのままテストをしてくれる
  • OpenCV,Java,Jython
  • 目に見えるものはなんでも自動化できる
  • ウインドウ上に見えるものはなんでも扱える

unittest

  • Python組み込みのユニットテスト
  • 関数呼び出しの検証

unittest.mock

  • Python組み込みのモックツール
  • 生成して渡してちゃんと呼ばれたかAssert出来る

Coq

  • 定理証明支援系言語

Robot Frameworkの紹介 MonotaRo 増田さん

自己紹介

  • IT部門 基幹SCMグループ
  • Python関連本の文書の翻訳
  • もう履歴書がかけないぐらい様々な経験をしてきた
  • Pythonの公式日本語リファレンスの7割ぐらいを翻訳

Robot Framework

  • 受け入れテスト駆動開発のためのテストフレームワーク
  • 最初はNokiaで開発された
  • シナリオがテキストなので開発者以外も読み書きが出来てリポジトリ管理が可能
  • HTMLレポートの生成機能
  • keywordsで日本語関数が作れてそれを呼び出すことでシナリオになる
  • どのキーワードがいつ実行されてどれぐらいかかって結果はどうだったかがレポートになる
  • 日本語のオンラインドキュメント集もある
  • メーリングリストもある
  • デモを繰り返す、見せていく
  • ヘッドレス・ブラウザを使う

受け入れテストの自動化?

  • 品質重視ではない場合、要求仕様が満たされているかを確認する受け入れテストが優先される
  • 網羅性を上げるには自動化
  • テストが大変になるとリリースにリスクが生じてリリースが遅延する、そして競争力のもてないシステムとなる
  • どうせ絶対にやる受け入れテストこそ自動化するべき
  • テストを自動化していくことでリリースが加速していく
  • テストの自動化をしたら次はビルドするたびに自動化していく

最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - Python, study ,

ad

ad

  関連記事

「IBM Cloud Community Summit 2018 フルマネージドデータベースというのは使えるのか?IBM Cloudでのデータ活用事例いろいろ」でIBm Cloudのデータベースサービスを聞かせていただいた

IBM Cloud Community Summit 2018におじゃましました …

Alexaで作る受付システム(Alexa Day 2019でのブログ)

ランチタイムセッション3本目はウフルさん。 たくさんのLEDをコントロールされて …

Developers Summit 2018「 IoTサービスを始める際に必要なこととは」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

Alexa Skills Kit 最新アップデート(Alexa Day 2019 でのブログ)

以下は、気になったことのメモとか感想を書いています。 登壇者、発表者、主催企業な …

「gusuku Meetup OSAKA Vol.1」に参加させていただきました

前回のkinotne Cafeの懇親会でふと言った「gusuku Meetupっ …

Java SE 7 Silver対策勉強をしながらメモ 2015/2/11

練習問題4日目。 とりあえずひと通り終了。 317問中288問正解、90.85% …

「関ジャバ Java開発のためのDocker & てらださんせきらら in MS関西」に行ってきました

「関ジャバ Java開発のためのDocker & てらださんせきらら i …

JINS MEME DEVELOPER HANDS-ON #5に行ってきました

世界初、自分を見るアイウェアの「JINS MEME」のSDK勉強会に行ってきまし …

第5回 八子クラウド座談会in関西 「関西まるっとIoTでやったらんかい♬」に行ってきました

SIMの契約変更のはざまで通信がほぼ使えず。 そんな状態なので、Twitterで …

Alexa Day2018で「Alexa連携デバイスクラウドを構成するAWS ソリューション」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …