ヤマムギ

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認定クラウドプラクティショナー 改訂第3版」という本を書きました。

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

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

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

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

 - Python, study ,

  関連記事

「第3回【関西ITベンチャー】開発ツール チラ見せ♡ナイト@大阪」に行ってきました

「第3回【関西ITベンチャー】開発ツール チラ見せ♡ナイト@大阪」に行ってきまし …

「nakanoshima.dev #36 コンテナについて話したい、助けてほしい人集まれLT大会」に参加しました

アールスリーインスティテュートさんのAshibinaaで開催されました! いつも …

「JAWS-UG 四国クラウドお遍路」からの特急南風にて変わり続けなければならないなあと思った

「JAWS-UG 四国クラウドお遍路」というAWSのユーザーグループJAWS-U …

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

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

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

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

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

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

Developers Summit 2018 「将棋プログラムPonanzaにおける強化学習、ディープラーニングとその先」を聞きました

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

ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順

ヤマムギとは from Mitsuhiro Yamashita 「AWSではじめ …

Python SQLAlchemy MySQLでcase文を使う

PythohのORMライブラリSQLAlchemyでMySQLのテーブルSele …

Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(2)Pepper編~

Pepperで撮影した写真をAmazon Rekognitionで分析してその結 …