SlideShare a Scribd company logo
1 of 14
Eggplant Functional
レッスン 4
モジュール化とパラメーター化
Modularity
• 最適なコードは再利用できるコードである。
その目的は、以下である。
• メンテナンスの削減
• 重複の削減
• 多くのプロジェクトとプラットフォームで使用
© Copyright 2019 Eggplant
Calling Other Scripts
• 同じスイート内の他のスクリプトの呼び出しは簡単である:
run “MyScript” – quotes required when using run
MyScript – quotes not required (using run is optional)
• スクリプトはパラメーターを指定して呼び出すことができる:
MyScript "someParameter"
• パラメーターは、paramsキーワードを使用してスクリプト内で宣言できる:
params imageOne, someText
© Copyright 2019 Eggplant
Passing Parameters
• パラメータは、別のスクリプトに渡される値
• パラメーターを有するコマンドの呼出し
processApplication 3952,“Smith”
• パラメーターを有する関数の呼出し
put newApplication (5236,“Jones”) into AppID
© Copyright 2019 Eggplant
Receiving Parameters
• パラメータの宣言: params
• 呼び出されたスクリプトで宣言されたパラメータはローカル変数である。
• 渡された値はparams変数と照合される。
• 必ずしも同じ値ではない。
・例:
params num1, num2
put num1 + num2 into total
log total
• 「...」を使用してパラメータをリストとして受け取ることが可能
© Copyright 2019 Eggplant
Return Values
• returnコマンドを使用
return someVar
• 関数から戻り
put functionName()
• コマンドからの復帰 (関数が宣言されていないスクリプト)
myscript // the run command is implied
put the result
© Copyright 2019 Eggplant
Returning a Value
• 単一の値を返す: return age
• 複数の値を返す: return (name,age)
• 値を返さない: return (for Empty or Null value)
• 戻り値を受け取る: log the result
© Copyright 2019 Eggplant
Command, Function, and Generic Handlers
• to, to handle
“to, to”は、コマンドメッセージと関数メッセージの両方を受信できる汎用ハンドラーを宣言する。
• On
“on” は、コマンドハンドラーを宣言するために使用され、”end” はそれを終了する。
© Copyright 2019 Eggplant
Command, Function, and Generic Handlers
• Function
“function” は、関数ハンドラーを宣言する。
© Copyright 2019 Eggplant
Calling Functions
© Copyright 2019 Eggplant
Calling Functions (Continued)
© Copyright 2019 Eggplant
Call just as if it were
within the same suite:
- run “SlowDownEggplant”
- **or**
- SlowDownEggplant
• 他のSuite内のスクリプトをHelper Suitesできる
Helper Suites
© Copyright 2019 Eggplant
演習
サマリ:
• モジュール化とパラメーター化を使用して基本的なスクリプトを作成する。
• 以下を使用する。
• Parameterization
• To, On and Function handlers
演習 A:
• 2つのスクリプトを作成し、それらの1つをAddItUpと呼ぶ。
• AddItUpスクリプトで、paramsキーワードを使用して2つのパラメーターを宣言する。
• 2つのパラメーターを一緒に追加するコードを記述し、結果を変数に入れる。
• 変数を返す。
• もう1つのスクリプトで、数値でAddItUpスクリプトを呼び出すコードを記述する。
• AddItUpから返された値を出力する。
© Copyright 2019 Eggplant
演習
演習B:
• 3つの異なる関数を作成するMyFunctionsという名前のスクリプトを作成する。:
1. “to, to ”を使用して関数を作成する。 内容は次のとおりである。
"Welcome to SenseTalk. Happy scripting!”
2. 1つのパラメーターを持つ”on”を使用して関数を作成する。
コンテンツは、totalと呼ばれるグローバル変数にパラメーターを追加する必要がある。
3. “function”を使用して、2つのパラメーター( dividend and divisor )で関数を作成する。
関数は、 dividend/divisorの結果を返す必要がある。
• MyCallというスクリプトを作成する。
MyCallで、上記で作成した各関数を呼び出し、戻り値をログに記録する。
On Functionsを続けて2回実行し、戻り値をログに記録する。
累計を維持していることがわかる。
© Copyright 2019 Eggplant

More Related Content

More from Eggplant

Eggplant Functional - Lesson 7 (Japanese slides)
Eggplant Functional - Lesson 7 (Japanese slides)Eggplant Functional - Lesson 7 (Japanese slides)
Eggplant Functional - Lesson 7 (Japanese slides)Eggplant
 
Eggplant Functional - Lesson 8 (Japanese slides)
Eggplant Functional - Lesson 8 (Japanese slides)Eggplant Functional - Lesson 8 (Japanese slides)
Eggplant Functional - Lesson 8 (Japanese slides)Eggplant
 
Eggplant Functional - Lesson 9 (Japanese slides)
Eggplant Functional - Lesson 9 (Japanese slides)Eggplant Functional - Lesson 9 (Japanese slides)
Eggplant Functional - Lesson 9 (Japanese slides)Eggplant
 
Eggplant AI - Lesson 5 Slides (Japanese)
Eggplant AI - Lesson 5 Slides (Japanese)Eggplant AI - Lesson 5 Slides (Japanese)
Eggplant AI - Lesson 5 Slides (Japanese)Eggplant
 
Eggplant AI - Lesson 3 Slides (Japanese)
Eggplant AI - Lesson 3 Slides (Japanese)Eggplant AI - Lesson 3 Slides (Japanese)
Eggplant AI - Lesson 3 Slides (Japanese)Eggplant
 
Eggplant AI - Lesson 6 Slides (Japanese)
Eggplant AI - Lesson 6 Slides (Japanese)Eggplant AI - Lesson 6 Slides (Japanese)
Eggplant AI - Lesson 6 Slides (Japanese)Eggplant
 
Eggplant AI - Lesson 2 Slides (Japanese)
Eggplant AI - Lesson 2 Slides (Japanese)Eggplant AI - Lesson 2 Slides (Japanese)
Eggplant AI - Lesson 2 Slides (Japanese)Eggplant
 
Eggplant AI - Lesson 1 Slides (Japanese)
Eggplant AI - Lesson 1 Slides (Japanese)Eggplant AI - Lesson 1 Slides (Japanese)
Eggplant AI - Lesson 1 Slides (Japanese)Eggplant
 
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Eggplant
 
AI based Testing in Finance & Retail Breakfast Briefing
AI based Testing in Finance & Retail Breakfast BriefingAI based Testing in Finance & Retail Breakfast Briefing
AI based Testing in Finance & Retail Breakfast BriefingEggplant
 
6 Top Tips to a Testing Strategy That Works
6 Top Tips to a Testing Strategy That Works6 Top Tips to a Testing Strategy That Works
6 Top Tips to a Testing Strategy That WorksEggplant
 
Importance of testing for the business
Importance of testing for the businessImportance of testing for the business
Importance of testing for the businessEggplant
 
Test Automation Beyond Test Execution
Test Automation Beyond Test ExecutionTest Automation Beyond Test Execution
Test Automation Beyond Test ExecutionEggplant
 
Automation As An Ally
Automation As An AllyAutomation As An Ally
Automation As An AllyEggplant
 
Digital Nation: United We Stand
Digital Nation: United We StandDigital Nation: United We Stand
Digital Nation: United We StandEggplant
 
GUI Performance Regression Testing with Eggplant Functional
GUI Performance Regression Testing with Eggplant FunctionalGUI Performance Regression Testing with Eggplant Functional
GUI Performance Regression Testing with Eggplant FunctionalEggplant
 
The Future Is Bright
The Future Is BrightThe Future Is Bright
The Future Is BrightEggplant
 
Turn Performance Testing up to 11
Turn Performance Testing up to 11Turn Performance Testing up to 11
Turn Performance Testing up to 11Eggplant
 
6 Steps to Implementing a World Class Testing Ecosystem Final
6 Steps to Implementing a World Class Testing Ecosystem Final6 Steps to Implementing a World Class Testing Ecosystem Final
6 Steps to Implementing a World Class Testing Ecosystem FinalEggplant
 

More from Eggplant (20)

Eggplant Functional - Lesson 7 (Japanese slides)
Eggplant Functional - Lesson 7 (Japanese slides)Eggplant Functional - Lesson 7 (Japanese slides)
Eggplant Functional - Lesson 7 (Japanese slides)
 
Eggplant Functional - Lesson 8 (Japanese slides)
Eggplant Functional - Lesson 8 (Japanese slides)Eggplant Functional - Lesson 8 (Japanese slides)
Eggplant Functional - Lesson 8 (Japanese slides)
 
Eggplant Functional - Lesson 9 (Japanese slides)
Eggplant Functional - Lesson 9 (Japanese slides)Eggplant Functional - Lesson 9 (Japanese slides)
Eggplant Functional - Lesson 9 (Japanese slides)
 
Eggplant AI - Lesson 5 Slides (Japanese)
Eggplant AI - Lesson 5 Slides (Japanese)Eggplant AI - Lesson 5 Slides (Japanese)
Eggplant AI - Lesson 5 Slides (Japanese)
 
Eggplant AI - Lesson 3 Slides (Japanese)
Eggplant AI - Lesson 3 Slides (Japanese)Eggplant AI - Lesson 3 Slides (Japanese)
Eggplant AI - Lesson 3 Slides (Japanese)
 
Eggplant AI - Lesson 6 Slides (Japanese)
Eggplant AI - Lesson 6 Slides (Japanese)Eggplant AI - Lesson 6 Slides (Japanese)
Eggplant AI - Lesson 6 Slides (Japanese)
 
Eggplant AI - Lesson 2 Slides (Japanese)
Eggplant AI - Lesson 2 Slides (Japanese)Eggplant AI - Lesson 2 Slides (Japanese)
Eggplant AI - Lesson 2 Slides (Japanese)
 
Eggplant AI - Lesson 1 Slides (Japanese)
Eggplant AI - Lesson 1 Slides (Japanese)Eggplant AI - Lesson 1 Slides (Japanese)
Eggplant AI - Lesson 1 Slides (Japanese)
 
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
Strategy vs. Tactical Testing: Actions for Today, Plans for Tomorrow​
 
AI based Testing in Finance & Retail Breakfast Briefing
AI based Testing in Finance & Retail Breakfast BriefingAI based Testing in Finance & Retail Breakfast Briefing
AI based Testing in Finance & Retail Breakfast Briefing
 
6 Top Tips to a Testing Strategy That Works
6 Top Tips to a Testing Strategy That Works6 Top Tips to a Testing Strategy That Works
6 Top Tips to a Testing Strategy That Works
 
Importance of testing for the business
Importance of testing for the businessImportance of testing for the business
Importance of testing for the business
 
Shift Up
Shift Up Shift Up
Shift Up
 
Test Automation Beyond Test Execution
Test Automation Beyond Test ExecutionTest Automation Beyond Test Execution
Test Automation Beyond Test Execution
 
Automation As An Ally
Automation As An AllyAutomation As An Ally
Automation As An Ally
 
Digital Nation: United We Stand
Digital Nation: United We StandDigital Nation: United We Stand
Digital Nation: United We Stand
 
GUI Performance Regression Testing with Eggplant Functional
GUI Performance Regression Testing with Eggplant FunctionalGUI Performance Regression Testing with Eggplant Functional
GUI Performance Regression Testing with Eggplant Functional
 
The Future Is Bright
The Future Is BrightThe Future Is Bright
The Future Is Bright
 
Turn Performance Testing up to 11
Turn Performance Testing up to 11Turn Performance Testing up to 11
Turn Performance Testing up to 11
 
6 Steps to Implementing a World Class Testing Ecosystem Final
6 Steps to Implementing a World Class Testing Ecosystem Final6 Steps to Implementing a World Class Testing Ecosystem Final
6 Steps to Implementing a World Class Testing Ecosystem Final
 

Recently uploaded

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 

Recently uploaded (9)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 

Eggplant Functional - Lesson 4 (Japanese slides)

  • 2. Modularity • 最適なコードは再利用できるコードである。 その目的は、以下である。 • メンテナンスの削減 • 重複の削減 • 多くのプロジェクトとプラットフォームで使用 © Copyright 2019 Eggplant
  • 3. Calling Other Scripts • 同じスイート内の他のスクリプトの呼び出しは簡単である: run “MyScript” – quotes required when using run MyScript – quotes not required (using run is optional) • スクリプトはパラメーターを指定して呼び出すことができる: MyScript "someParameter" • パラメーターは、paramsキーワードを使用してスクリプト内で宣言できる: params imageOne, someText © Copyright 2019 Eggplant
  • 4. Passing Parameters • パラメータは、別のスクリプトに渡される値 • パラメーターを有するコマンドの呼出し processApplication 3952,“Smith” • パラメーターを有する関数の呼出し put newApplication (5236,“Jones”) into AppID © Copyright 2019 Eggplant
  • 5. Receiving Parameters • パラメータの宣言: params • 呼び出されたスクリプトで宣言されたパラメータはローカル変数である。 • 渡された値はparams変数と照合される。 • 必ずしも同じ値ではない。 ・例: params num1, num2 put num1 + num2 into total log total • 「...」を使用してパラメータをリストとして受け取ることが可能 © Copyright 2019 Eggplant
  • 6. Return Values • returnコマンドを使用 return someVar • 関数から戻り put functionName() • コマンドからの復帰 (関数が宣言されていないスクリプト) myscript // the run command is implied put the result © Copyright 2019 Eggplant
  • 7. Returning a Value • 単一の値を返す: return age • 複数の値を返す: return (name,age) • 値を返さない: return (for Empty or Null value) • 戻り値を受け取る: log the result © Copyright 2019 Eggplant
  • 8. Command, Function, and Generic Handlers • to, to handle “to, to”は、コマンドメッセージと関数メッセージの両方を受信できる汎用ハンドラーを宣言する。 • On “on” は、コマンドハンドラーを宣言するために使用され、”end” はそれを終了する。 © Copyright 2019 Eggplant
  • 9. Command, Function, and Generic Handlers • Function “function” は、関数ハンドラーを宣言する。 © Copyright 2019 Eggplant
  • 11. Calling Functions (Continued) © Copyright 2019 Eggplant
  • 12. Call just as if it were within the same suite: - run “SlowDownEggplant” - **or** - SlowDownEggplant • 他のSuite内のスクリプトをHelper Suitesできる Helper Suites © Copyright 2019 Eggplant
  • 13. 演習 サマリ: • モジュール化とパラメーター化を使用して基本的なスクリプトを作成する。 • 以下を使用する。 • Parameterization • To, On and Function handlers 演習 A: • 2つのスクリプトを作成し、それらの1つをAddItUpと呼ぶ。 • AddItUpスクリプトで、paramsキーワードを使用して2つのパラメーターを宣言する。 • 2つのパラメーターを一緒に追加するコードを記述し、結果を変数に入れる。 • 変数を返す。 • もう1つのスクリプトで、数値でAddItUpスクリプトを呼び出すコードを記述する。 • AddItUpから返された値を出力する。 © Copyright 2019 Eggplant
  • 14. 演習 演習B: • 3つの異なる関数を作成するMyFunctionsという名前のスクリプトを作成する。: 1. “to, to ”を使用して関数を作成する。 内容は次のとおりである。 "Welcome to SenseTalk. Happy scripting!” 2. 1つのパラメーターを持つ”on”を使用して関数を作成する。 コンテンツは、totalと呼ばれるグローバル変数にパラメーターを追加する必要がある。 3. “function”を使用して、2つのパラメーター( dividend and divisor )で関数を作成する。 関数は、 dividend/divisorの結果を返す必要がある。 • MyCallというスクリプトを作成する。 MyCallで、上記で作成した各関数を呼び出し、戻り値をログに記録する。 On Functionsを続けて2回実行し、戻り値をログに記録する。 累計を維持していることがわかる。 © Copyright 2019 Eggplant

Editor's Notes

  1. NOTES FOR PRESENTER -- Concept of breaking long scripts into smaller modularized scripts -- Examples of all slides in this lesson should be given after the presentation
  2. ***run is optional…but required if you your script name has any white space (don’t recommend white space in your script names)
  3. -- Explain the differences between to, on and function handlers
  4. -- Show some examples
  5. -- Explain the concept of storing functions in a script, and calling from another -- Show some examples
  6. -- Explain the concept of storing functions in a script, and calling from another -- Show some examples
  7. Then we employ what we call helper suites.