ヤマムギ

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で日本語関数が作れてそれを呼び出すことでシナリオになる
  • どのキーワードがいつ実行されてどれぐらいかかって結果はどうだったかがレポートになる
  • 日本語のオンラインドキュメント集もある
  • メーリングリストもある
  • デモを繰り返す、見せていく
  • ヘッドレス・ブラウザを使う

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

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

最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - Python, study ,

ad

ad

  関連記事

ゴールデンウィーク10日連続デモ解説勉強会にチャレンジします

これまでに執筆した書籍の関連デモを解説する30分の勉強会を4/29~5/8の10 …

「AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる Amplify + Admin UI」に参加しました。

亀田さんが定期開催というか、高頻度開催されている「AWSの基礎を学ぼう 特別編  …

「JAWS-UG朝会 #20」に参加しました

恒例のラジオ体操からっ! はじめてのEKS Kubernetes案件 勉強方法 …

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

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

「DMM meetup #24 〜DMMのセキュリティ脅威への取り組み事例〜」に参加しました

内容が内容ですので、もちろん運営さんにブログを書いていいかの確認はしております。 …

JAWS FESTA 2017 Reverse X re:Birth

JAWS FESTA 2017 中四国 今年はブログタイトル「JAWS FEST …

「JAWS-UG 名古屋 LT未経験者にも登壇して貰いたいLT会」に参加しました

SOA-C02を受験してみて アイレットの大木さん 一回目不合格となったけど19 …

LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (5) LINEからの投稿へ返信と登録処理

作る部分 LINEからのメッセージを受けて各APIより返信し、StepFunct …

AWS Cloud Roadshow 2016 Osaka Night Event ミッドナイトJAWS

AWS Cloud Roadshow Osaka 2016のナイトイベントでミッ …

「JAWS-UG IoT専門支部『re:Invent 2020を味見する会』」に参加しました

本職のMTGで参加遅れちゃいましたので途中からのメモです。 運営のみなさん、発表 …