【UiPath】「デバッグ機能と使用法」を理解する【初心者】

UiPath

UiPath】「デバッグ機能と使用法」を理解する【初心者

UiPathの学習追体験記事です。
※あくまで学習中の脳内を記事にしたものなので、この記事で書かれてあることが”正しい”とは限りません。

参考:学習効率本5巻 「知識の自作」

最新研究からわかる 学習効率の高め方 第5巻 - ふろむだ - BOOTH
基本的に、本書の第1~4巻を読んでいない方は、この巻を理解できませんので、ご注意ください。

0.動機

「UiPath RPA アソシエイト資格試験」を受けたい!
と思い、練習問題のプラクティステストを受けてみたが、正答率は半分にも満たなかった。徹底的にプラクティステストの復習をするしかない!

ということで、本記事では、プラクティステストで間違えた問題の復習の様子を書きつらねていきます。

まずは、間違えた問題の紹介。

開発中、ある1つのアクティビティにてブレークポイントを有効にしました。その後、パッケージをUiPath Orchestrator2019.10にパブリッシュしました。プロセスがUiPath RobotからUnattendedモードで実行された場合、どのような動作が予想されますか。

引用元:https://www.pearsonvue.co.jp/uipath
UiPath RPA アソシエイト資格試験 プラクティステスト

解説部分には、この問題で求めている知識が紹介されていた。内容は以下。※答えは明示されてない

トピック:オートメーションのデバッグ機能と使用法(ブレークポイントなど)について説明する。

引用元:https://www.pearsonvue.co.jp/uipath
UiPath RPA アソシエイト資格試験 プラクティステスト

 

筆者
学習者

ちょっと気になるのは、「”オートメーション”のデバッグ機能」と記載されているところ。「”UiPath Studio”のデバッグ機能」と同意と解釈しても良いのかな。

 

ちなみに、UiPath Orchestratorで「オートメーション」という記載を見つけたが、このページからデバッグできるとは思えなかった。

よって、解説部分の「オートメーションのデバッグ機能」は「UiPath Studioのデバッグ機能」と同意とみなし、UiPath Studioのデバッグ機能を学習していく。

では、以下から、UiPath Studioのデバッグ機能の学習をしていく。

1.全体像理解

全体像理解とは、理解する項目の位置づけを把握すること。

垂直的理解

理解する対象が、UiPathアカデミーの「どのコース」「どの章」にあるかを確認する。

今回の理解の対象であるデバッグ機能については、以下のコースの章に記載があった。

UiPathアカデミー>UiPath Studio開発 中級コース>レッスン一覧>デバッグ

UiPath Academy

では、デバッグ機能の説明文を見てみる。

 

デバッグ

デバッグとは、プログラムの欠陥や誤りを発見して修正する作業のことです

引用元:https://academy.uipath.com/jp/learningpath-viewer/1955/1/153412/16

 

筆者
学習者

「バグを取り除く作業」ってことかな。
デバッグやバグは、どの単語から派生したものだろう。
話はそれるけど、これらの単語の語源を調べてみたい。

 

・デバッグとバグの語源

デバッグとバグの語源は「虫」関連のようだ。

デバッグとは - コトバンク
ASCII.jpデジタル用語辞典 - デバッグの用語解説 - プログラムのミスや欠陥をチェックして、修正する作業のこと。プログラムの欠陥をバグ(虫)といい、直訳すると「バグの除去」。デバッグするための専用のソフトウェアをデバッガーという。ほとんどのソフトウェア開発ツールは、デバッガーの...

デバッグが「虫取り」
バグが「虫」

学習者
学習者

バグの語源が「虫」。「バグ(虫)取り除いて」ってことになるのかな。ちょっと納得いかんな~。だって、虫全般にネガティブなイメージがついちゃうじゃん。もっと、圧倒的に悪そうなものを語源にしたらよかったのに(ゴキブリとか)。

と思ってたら、以下記事を見つけた。

 

bug 意味と語源 – 語源英和辞典
【英語】㋱害虫、バグ、㋱㋩虫 ◉ 語源解説 「甲虫(bugge)」がこの単語のコアの語源。 ㋖㋓bugge(甲虫)→㋠㋓bugge(悩ますもの)+budde(甲虫)→㋙㋓budda(甲虫)→㋙㋓buddo(膨らみ)→㋑bhew-(膨らむ)が

bug(バグ)は害虫、バグ、虫
語源→甲虫(bugge

学習者
学習者

甲虫は、カブトムシやテントウムシのことだよね。昔は、ヒトの生活に悪影響を及ぼしていたのかな。ちなみに、ゴキブリは甲虫ではない(シロアリの仲間)。

害虫という意味の「bug」の先頭に「de」をつけたものが「debug(デバッグ)」。

 

学習者
学習者

「de」ってなに?

「de」の語源を調べてみた。以下、記事。

【英単語】deの語源から27個の英単語を覚える | 丸暗記英語からの脱却ブログ
【1】英単語〈de〉の語源 結論から言うと、〈de〉の語源は「下」と「離れる」と「否定」と「強意」です。 〈de〉の語源:「下」と「離れる」と「否定」と「強意」 〈覚え方〉 decrease「減少する」はincrease「増加する」の下バージョンです。 【2】語源〈de〉から覚える英単語(「下」) ここでは、〈de〉が...

「de」の語源は、「下・離れる・否定・強意」という意味があるらしい。

学習者
学習者

「害虫(bug)を対象から離す(de)」で「debug」になるのかな。
話が逸れまくった。UiPathのデバッグ機能の学習に戻ろう。

水平的理解

デバッグ機能の一覧を見る。

すべてを理解しようとすると、あれなので、以下に絞る。

・ステップイン
・ステップオーバー
・ステップアウト
・再実行
・フォーカス
・ブレークポイント
・低速ステップ

筆者
学習者
名前やアイコンからみて、なんとなく機能をイメージできるね。

2.実践理解

実際に手を動かすことで理解を深める。

ステップ系

ステップの種類を1つ1つ試してみる。

フローはこんな感じ↓

【UiPath】デバッグ_ワークフロー概要

【補足】

これを「実行ポイント」とする。

・ステップイン

機能の予想をする。

学習者
学習者

ステップインのアイコンと名前から予想するに、単純に、1つずつ目の前のアクティビティを実行するって感じじゃないかな。

実行動画↓

【UiPath】デバッグ_ステップイン

実行ポイントのアクティビティが実行された後、次のアクティビティに実行ポイントが移動した。

学習者
学習者

イメージしてた通りの機能かな。1つずつ動作確認したい場合は、ステップインで進めていこう。

・ステップオーバー

機能の予想をする。

学習者
学習者

アイコンと名前から予想すると、実行ポイントのアクティビティをスキップして、次のアクティビティを実行するとかかな。

実行動画↓

【UiPath】デバッグ_ステップオーバー

実行ポイントのアクティビティ内のアクティビティがすべて実行された。

学習者
学習者

スキップというより、「○○まで止まらずに実行します」って感じかな。

・ステップアウト

機能の予想をする。

学習者
学習者

前回のステップオーバーでは、アクティビティ内のすべてのアクティビティが実行された。ってことは、ステップアウトはアクティビティ外のアクティビティも実行したりして……

(アクティビティ外ってなんだ)

実行動画↓

【UiPath】デバッグ_ステップアウト

実行ポイントのアクティビティ内のアクティビティがすべて実行された後、実行ポイントのアクティビティと同階層にあるアクティビティも実行された。後、そのアクティビティの上位の階層に実行ポイントは移動した。

学習者
学習者

「実行ポイントのアクティビティより上位の階層に到達するまで実行しつづける」って感じかな。

再実行とフォーカス

特に意外な点はなかったため簡潔に紹介。

・再実行

「再実行」の実行動画↓

【UiPath】デバッグ_再実行

実行の途中で「再実行」をすると、実行ポイントが一番初めのアクティビティに戻った。

・フォーカス

「フォーカス」の実行動画↓

【UiPath】デバッグ_フォーカス

実行ポイントのアクティビティがある画面に切り替わった。

ブレークポイント

機能の予想をする。

学習者
学習者

「ブレークポイント」って名前だから、中断ポイントを設けるってことかな。「指定アクティビティが終わったら、一旦、ストップ」みたいな機能だと思う。

実行動画↓

【UiPath】デバッグ_ブレークポイントあり実行

ブレークポイントに指定されたアクティビティを実行する前に中断された。

学習者
学習者

アクティビティ実行前の段階でストップするんだね。

ブレークポイントの機能をもう少し詳しく見てみる。

「ブレークポイント パネルを表示」をクリックしてみる。

ブレークポイント設定済みアクティビティの一覧を表示するパネルが、画面右下に追加された。

ブレークポイントパネルのアクティビティ名左の赤丸をクリックすると…

白抜き赤丸になった。

そのまま実行したところ、白抜き赤丸の部分はブレークポイントとならなかった。

学習者
学習者

ブレークポイントのon/offを切り替えれるようになるんだね。

低速ステップ

機能の予想をする。

学習者
学習者

「低速」とあるぐらいだから、ゆっくり人間の目で追えるぐらいのスピードで実行されるんじゃないかな。

実行動画↓

【UiPath】デバッグ_低速ステップ_速さ比較

やはり、普通の実行と比べると、低速ステップの方が明らかに遅い。その上、低速ステップの場合は、1つ1つのアクティビティを追うように実行されている。

学習者
学習者

普通の実行では、アクティビティの実行結果だけ返ってくるのに対して、低速ステップでは、実行中アクティビティのある画面に推移している。そのため、実行中のアクティビティを把握しやすい。

普通の実行だけではなく、ステップ実行時の場合も確認してみる。

【UiPath】デバッグ_低速ステップ_ステップ実行時

やはり、実行の速度がおそくなり、かつ、実行中アクティビティを追うようになっている。

学習者
学習者

初心者は、基本的に低速ステップを使った方が良さそう。

3.まとめ

UiPath Studioのデバッグ機能のうち、「ステップ実行系・ブレークポイント・低速ステップ」を実際に使ってみることで理解を深めた。

結果、上記の3つを自分の言葉でまとめてみる。

ステップ実行系 →「止まらずにどこまで実行するか」を決める機能
ブレークポイント→「止まるポイント」をあらかじめ決める機能
低速ステップ  →「実行中アクティビティの移り変わり」を見やすくする機能

学習者
学習者
デバッグはバグを発見するための作業。どのようにデバッグすることで効率良くバグを見つけられるかを意識して、あらゆる機能を使いこなそう!

4.参考文献

UiPath Academy
Amazon.co.jp: 基礎がよくわかる! ゼロからのRPA UiPath 超実践テクニック eBook: 吉田将明: Kindleストア
Amazon.co.jp: 基礎がよくわかる! ゼロからのRPA UiPath 超実践テクニック eBook: 吉田将明: Kindleストア

コメント

タイトルとURLをコピーしました