ヤマムギ

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

  関連記事

2018年もありがとうございました

今年も皆さまありがとうございました。 ということで、まだもうちょっといろいろやる …

「Rによる機械学習」に参加しました

異業種データサイエンス研究会を主宰されている井伊さんが開催された「Rによる機械学 …

LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (3)Lambdaからkintoneへレコードを登録する

作る部分 Lambdaからkintoneへレコードを登録する部分を作成します。 …

「JAWS-UG KANSAI meetup Jan 2021」に参加しました

ようやくタイミングがあって、hopinに移行してから初の参加。 「今どんくらい人 …

Alexa Day 2018で「kokexaの話」を聞いてきました

スピーカーはサバワ坂本さん これは、私、山下の勝手な印象とか思い込みですが、坂本 …

LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (6) Twilioからの電話受付と登録処理

作るところ 電話がかかってきてTwilioで受け付けてStepFunctions …

「はじめての Amazon Lookout for Vision ハンズオン」に参加しました

Amazon Lookout for Visionのハンズオンに参加しました。 …

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

本日は繰り返し処理。 配列や演算でひっかけてくる問題に苦戦。 繰り返しだけに頭を …

Java SE 7 Silver 試験対策セミナーで模擬問題の解説をマークダウンでメモってみた

Java SE 7 Silver 試験対策セミナーに行って、模擬問題にチャレンジ …

「Bluemix勉強会 -Watson、Node-RED 最新情報を学ぼう!」に行ってきました

「Bluemix勉強会 -Watson、Node-RED 最新情報を学ぼう! 」 …