Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
191112 単体テストのお話 おしうみなおきさん
Search
RPACommunity
November 12, 2019
Technology
0
200
191112 単体テストのお話 おしうみなおきさん
RPACommunity
November 12, 2019
Tweet
Share
More Decks by RPACommunity
See All by RPACommunity
201023 Automation Anywhere「A2019」を触ってみた Ayy
rpabank
0
930
201023 DX Suiteを触ってみた Ayy
rpabank
0
920
201023 RPA超初心者がWinActorにチャレンジしてみた ユーコさん
rpabank
0
560
201023 PowerPlatform はじめの一歩 みさみささん
rpabank
0
520
201023 アシロボで実際に沼ってみた たまいさん
rpabank
0
590
201018 RPAの本質とトレンド Mitz
rpabank
0
440
201006 僕がいまRPAで伝えたいことのすべて いろはまるさん
rpabank
0
400
201006 UiPath MVP 2019-2020 はなっち!さん
rpabank
0
390
201006 今からでも間に合う!UiPathトーク一気に振り返り たまいさん
rpabank
0
350
Other Decks in Technology
See All in Technology
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
2k
ハードウェアを動かすTypeScriptの世界
9wick
3
1.2k
Deno で作る快適な “as Code” プラットフォーム – TSKaigi 2024
pizzacat83
4
310
「できる!」を増やすGitHub Copilot活用法 / How to use GitHub Copilot to expand your possibilities
sansan_randd
1
240
Shinagile 2024
kawaguti
PRO
2
120
RubyKaigi 2024 - Make Your Own Regex Engine!
makenowjust
0
160
YJIT Makes Rails 1.7x faster / RubyKaigi 2024
k0kubun
3
460
本番環境で Cloudflareを 使ってみた話
miu_crescent
2
130
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
170
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
37k
SLOいつ決めましょう?
abnoumaru
3
600
Google Cloudを組織(企業)で運用する時のベストプラクティス × 健康の環境分離戦略 #まるクラ勉強会
yasumuusan
0
170
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
91
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
23
1.7k
Faster Mobile Websites
deanohume
300
30k
The Brand Is Dead. Long Live the Brand.
mthomps
49
30k
Writing Fast Ruby
sferik
622
60k
The Invisible Customer
myddelton
114
12k
Product Roadmaps are Hard
iamctodd
45
9.8k
What's new in Ruby 2.0
geeforr
338
31k
Producing Creativity
orderedlist
PRO
338
39k
The Cult of Friendly URLs
andyhume
74
5.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
Transcript
単体テストのお話 アジアクエスト株式会社 鴛海直輝(おしうみなおき) Twitter: @hilhilyzyan
自己紹介 鴛海 直輝(おしうみ なおき) ▪本読む ▪ストリートダンスする ▪ Laravelでwebアプリ作る 2019年4月に新卒で入社し、 UiPathを用いていろいろ経験中
今日はRPALT n回目登壇!! Twitter: @hilhilyzyan
イベント主催したりしてます
明後日もやります!
目次 1. 単体テストってなーに? 2. とりあえずやってみる! Twitter: @hilhilyzyan
単体テストってなーに?
単体テストとは? 単体テスト(ユニットテストと呼ばれることもあります )は、プログラムを構成する比較的小さな単位(ユニッ ト)が個々の機能を正しく果たしているかどうかを検証 するテストです。 出典: https://www.techmatrix.co.jp/t/quality/unittest.html Twitter: @hilhilyzyan
単体テストとは? 通常、関数やメソッドが単体テストの単位(ユニット) となります。 プログラムが全体として正しく動作してい るかを検証する結合テストは、開発の比較的後の段階で QAチームなどによって行なわれることが多いのとは対照 的に、単体テストは、コード作成時などの早い段階で開 発者によって実施されることが多いのが特徴です。 Twitter: @hilhilyzyan
出典: https://www.techmatrix.co.jp/t/quality/unittest.html
UiPathの場合は各XAMLのテストかな? 開発時にXAMLを機能ごとにファイル分割をする ↓↓↓ それぞれの機能(XAML)が 正常に動いているかを自動でテストする Twitter: @hilhilyzyan
とりあえずやってみる!
手順1. UiPath Goからダウンロード Twitter: @hilhilyzyan
ファイル構成を見てみる uipath_AutomationTestRobot |-- src |-- config(設定するときはここを見る) |-- lib |-- templates
|-- test |-- test_cases_sample
Configファイルを見てみる uipath_AutomationTestRobot¥src¥config¥config.xlsx
手順②. 設定をする とりあえず何も考えずに、PC内のどこかに このフォルダたちをつくる! (中身は空っぽでOK) Twitter: @hilhilyzyan
手順②. 設定をする uipath_AutomationTestRobot¥src¥config¥config.xlsx に先程作成したフォルダのパスをいれる
手順3. テストしたいワークフローを用意 今回は 税抜金額をいれると 税込金額を計算する ワークフローを 作りました。 「100」 といれると 「110」が
返ってきます このXAMLはPC内のどこにあってもOK
手順4.テストケースを自動生成 uipath_AutomationTestRobot¥src¥Main.xaml 実行! Twitter: @hilhilyzyan
手順4.テストケースを自動生成 ポップアップが出てくるので、 3番目を選択! ちなみに ・1番目はすべてのテストケースをテストする ・2番目は一部のテストケースをテストする ・3番目はテストケースを自動生成する
手順4.テストケースを自動生成 どのフォルダーのテストケースを自動生成しますか? って出てくるので一旦OKを押す Twitter: @hilhilyzyan
手順4.テストケースを自動生成 先程用意した「消費税計算」のフォルダーを選択 Twitter: @hilhilyzyan
手順4.テストケースを自動生成 テストケースが自動生成されました!
手順4. テストケースを自動生成 中身はこんな感じです Twitter: @hilhilyzyan
手順5. テストケースを修正 テストケースをコピーしてきます
手順5. テストケースを修正 コピーしたテストケースに情報を入力! Twitter: @hilhilyzyan
手順6. テストを実行! uipath_AutomationTestRobot¥src¥Main.xaml 実行! Twitter: @hilhilyzyan
手順6. テストを実行! ポップアップが出てくるので、 1番目を選択! ちなみに ・1番目はすべてのテストケースをテストする ・2番目は一部のテストケースをテストする ・3番目はテストケースを自動生成する
手順7. 実行結果を確認
手順7. 実行結果を確認
この場合はどうなの!?
リスト型が引数のoutで出る場合 {“りんご”, “ごりら”, “らっぱ”}のように書けば大丈夫! Twitter: @hilhilyzyan
配列型が引数のoutで出る場合 [“りんご”, “ごりら”, “らっぱ”]のように書けば大丈夫! out_配列型 Twitter: @hilhilyzyan
辞書型の場合 {“key1":“value",“key2":“value2"}のように書けば大丈夫! Twitter: @hilhilyzyan
データテーブルの場合 エラーが出て、 結局治りませんでした。 ので、調査できませんでした…! Twitter: @hilhilyzyan
単体テストの向き不向き
単体テストに向いているもの • 引数に特定の値をいれると必ず決まったものが返って くる(消費税計算など) これだけ! Twitter: @hilhilyzyan
テストの自動化をする意味 ・ミスに気づける! (例:Bのワークフロー開発で共通部品を一部修正したが、 逆にそのせいでAのワークフローで不具合が生じた) ・テストに当てていたリソースを別な開発に当てること ができる (そもそも、みなさんテストやってます…?) ・テストしやすいようにワークフローを開発する!とい う観点で開発すると、良いワークフローができそう。 ※全てのXAMLのテストをすることは多分無理です