SlideShare a Scribd company logo
1 of 41
Table of Contents
MU APP-ID TEST CONTENT CREATION GUIDE.....................................................................2
Objectives ...................................................................................................................................2
NOTE: For any application, if required to be captured on multiple platforms (Win 7, Win
XP , MAC OS etc) for same action, then it is required to give ids..........................................2
Steps to capture Pcap files (for non-http based applications)..............................................2
Capturing Har Files (and converting to msl) for http based apps...............................................7
Objectives
................................................................................................................................................7
Installation Process for Har Capturing:...................................................................................7
Steps to capture using Har (for http based applications).....................................................10
Business Systems.....................................................................................................................13
GUIDELINES TO DECIDE ACTIONS FOR AN APPLICATION...................................15
For Pcap method:......................................................................................................................17
Steps and the limitation involved are:..................................................................................17
For Har method:........................................................................................................................20
Steps and the limitation involved are:...................................................................................20
..............................................................................................................................21
Standard formats to be followed............................................22
Standards with respect to the files........................................................................................22
Standards with respect to the folder name...........................................................................23
Standards with respect to json file........................................................................................25
...................................................................................................25
Json file sample....................................................................................................................26
Description in json file .........................................................................................................29
Instructions to follow while writing a json file:.......................................................................29
........................................................................................33
GUIDELINES FOR APPS COMMIT AND CREATE SUMMARY REPORT..............................34
Process for content creation:................................................................................................34
Commit Process Document:.................................................................................................36
How to create and send the Summary Report:....................................................................40
1
MU APP-ID TEST CONTENT CREATION GUIDE
Objectives
The Mu Dynamics App-ID Test Content package provides the ability to quickly test the sophisticated
signature and pattern recognition capabilities of application-aware systems. This package contains a set
of ready-to-run Mu test scenarios for a wide range of popular network-based applications including
peer-to-peer (P2P), instant messaging (IM), and Social Media domains, including business apps (like
Oracle), BitTorrent, AOL IM, Jabber, Facebook, Twitter, Skype and many more. These test assets can
immediately be used for pass-through testing of app-aware devices and services for functional, fuzz
and scale testing. The Mu Test Suite provides additional flexibility by allowing the modification and
extension of the test content, or the ability to build additional test content based on any network traffic
capture.
The goal of this document is to describe the steps required to:
1. Capture representative traffic in the form of pcaps for popular web, business and mobile
applications.
2. Convert these pcaps into scenario files on the Mu Test Suite platform that can then be run at scale
(concurrently) or one at a time.
The list of applications will be supplied by Mu Dynamics and is documented in “Process For Content
Creation.doc”
NOTE: For any application, if required to be captured on multiple platforms (Win 7, Win XP ,
MAC OS etc) for same action, then it is required to give ids.
Example: login_play-01, login_play-02 and so.
Steps to capture Pcap files (for non-http based applications)
• Step 1- Install Wireshark on your Linux or Windows laptop. Install the latest Wireshark version
and this needs to be updated periodically.
• Step 2- Upgrade your Mu Test Suite platform to the latest version. As of 2012 this is 6.3.1
• This will also evolve monthly and the user should stay up to date. For details on how to
upgrade, go to the online help in the Mu system and type in ‘update’ in the search box.
2
• Step 3- Download and install the application client that needs to be captured. E.g. Skype
version xyz, on the same machine that has the Wireshark installed.
• Step 4- Make sure the same machine has access to the Mu system through the web interface.
• Step 5- Make sure that any other applications that run network traffic are shut down so that it
will not interfere with the target application capture.
• Step 6- Run the operation desired on the laptop with the Wireshark capture enabled. Try and
limit the capture size to under 200KB and ensure that operation should ended within 2 minutes.
• Step 7- Upload the capture to the Mu system under the Studio application.
• Step 8- Filter the pcap down to less than 70KB in size. This will enable the user to create a
scenario. Filtering can be done by choosing the filter field for pcaps or flows as well as by
choosing or excluding hosts.
3
• Step 9- Make sure that the filtered capture follows the guidelines below:
• The client IP address is the first sender in the interaction.
• The number of hosts in the scenario is maintained at less than 20.
• If the scenario contains dns queries, then these should be maintained at the start of the
transaction.
• If the scenario involves a download or an upload action then the control/request message
(often http) needs to be there. Also, the subsequent data messages over TCP or UDP
need to be there. This needs to reflect the description ion the json file.
• Extraneous packets or messages like wsdapi should be avoided.
• One area to be careful to avoid id having just dns messages or too few udp messages in
the scenario.
• Step 10- Before generating the scenario, save off the filtered pcap where it says “Download
pcap”.
• Step 11- Generate the scenario and assign the hosts by clicking the Testbed button. The first
host should be on A1.range and all the remaining hosts should be A2.range.
4
• Step 12- Verify the scenario. This is under ‘Controls’ menu.
• Step 13- Open the Scale player and select Verify. Verify is under the Controls menu.
• Step 14- Run a scale test up to 100,000 concurrencies over a 10 second ramp up duration and a
2 min run. This needs an IP range on the interfaces.
• Step 15- If steps 12-14 fail then try to simplify the scenario by reducing the number of hosts,
transports and packets still further in the Flow Selector and run scale for 80k concurrencies.
• Step 16- If scale passes at 80k concurrencies, then check for 100k concurrencies. If it fails
move app to stage-2, i.e on hold.
• Step 17- Run the scenarios next against the PAN box on A1 and A2 interfaces for stixis4k and
between A3 and A4 interface for the stixis8k. This should just be the Verify step in the Scale
player and not a scale run.
• Step 18- Check if it gets detected successfully or not under ‘Monitor/Logs/Traffic’ for PAN,
check under real time monitor for SonicWALL and then mark that result in the metadata field
in json.
5
• Step 19- If the step to run the scale test up to 100,000 concurrencies passes, save the scenario in
.msl format, the original pcap and the filtered pcap.
• Step 20- Next, go into Edit Source and do File > Export (.msl) - then copy and paste that into a
text file with the Title as the name and the .msl suffix.
• Step 21- In the msl file, add the title and description to the top line of the file. for example
change the default
# scenario|
to
# Gmail_login|gmail login from google chrome on a pc
where those values are taken from the json file
• Step 22- Make sure there are no src_port fields in the transport definition step of the msl file.
• Step 23- Load and run the msl files in scale for a brief period to make sure they can verify and
start.
• Step 24- Create a .JSON file.
• Step 25- Application owner is suppose to fill the inputs in csv file for Quality Analysis
program.
The assets to store within for a Pcap capture are:
• .json file
• original .pcap
• filtered .pcap
• scale report in pdf format
6
• scenario .msl file
Capturing Har Files (and converting to msl) for http based apps
Objectives
The goal of this section is to describe the steps required to:
1. Capture representative traffic in the form of har files for popular web applications and ensure that
operation should ended within 2 minutes..
2. Convert these har files into scenario files for use on the Mu Test Suite platform that can then be run
at scale (concurrently) or one at a time.
Installation Process for Har Capturing:
Follow the below steps:
Step 1: Install Firebug for Firefox as an extension to Firefox (3.6 or higher)
-What is Firebug you ask? http://getfirebug.com/whatisfirebug
-Where can I get it? http://getfirebug.com/
-How do I use it? http://michaelsync.net/2007/09/30/firebug-tutorial-script-tab-javascript-
debugging
Step 2 : Install Firefox Add-Ons
2a)Install NetExport
-What is NetExport? http://www.softwareishard.com/blog/netexport/
-Where can I get it? http://getfirebug.com/releases/netexport/
-How do I know I installed them correctly and that I can export har files?
You will see a small icon that looks like a bug in the lower right corner of your browser window. (It
will start out gray) Click the bug to turn firebug on and make sure to enable the “Net” tab. The main
menu item to notice under the net tab is the Export item with the arrow pointing down. If you see
something like the following picture than you installed them correctly.
2b)Install Firefox Web Developer Tools
7
-What are the Web Developers Tools? http://chrispederick.com/work/web-developer/
-Where can I get it? https://addons.mozilla.org/en-US/firefox/addon/web-developer/
Step 3 : Using the MuGem to create a scenario from a har file.
3a)Before you can use the Ruby MuGem, you will need to install Ruby on your system.
For windows install ruby from here:
HYPERLINK "http://www.ruby-lang.org/en/downloads/"http://www.ruby-lang.org/en/downloads/
version 1.9.2)
For Ubuntu install following these instructions using rvm - ruby version manager:
HYPERLINK "http://www.web2linux.com/05/installing-rails-3-on-ubuntu-10-04-lucid-
lynx/"http://www.web2linux.com/05/installing-rails-3-on-ubuntu-10-04-lucid-lynx/ )
3b) Once you have completed the install of Ruby you will need to install the MuGem
-On a linux system
sudo gem install rake
sudo gem install mu
-On a windows system follow the online instructions
HYPERLINK "http://docs.rubygems.org/read/chapter/3"http://docs.rubygems.org/read/chapter/3
1. Go into the ruby bin directory and run this command from the command prompt:
gem install rake
gem install mu
3c)Verify that the gem has been installed correctly by typing 'mu' after install, you should see:
prompt$ mu
Usage: mu <command>:<option>
mu help - Display this help
mu cmd_musl:help - Show help on using the Musl Api through the command-line
3d)Change to the directory where the har file is saved or move the har file to the workspace you
want.
[jnisenson@Sherlock har2musl]$ ls
testcloud.mudynamics.com.har
[jnisenson@Sherlock har2musl]$ mu cmd_musl:from_har
8
Usage: mu cmd_musl:<command> <options> [FILE]
-V, --verbose
--ignore-non-essentials Ignore App-Unknown/JS/CSS/Image files
--ignore-images Ignore Image files
--ignore-css Ignore CSS files
--ignore-js Ignore Javascript files
--ignore-payload Ignore the content payload
--strip-large-content [SIZE] Replace large response content with a repeated field
-s, --scenario [FILENAME] Specify the msl filename to be created
Available Commands:
mu cmd_musl:help
mu cmd_musl:from_har <options> <har_file>
Outputs:
Scenario file: <harfilename>.msl by default or filename from -s
You have successfully generated a scenario: mu_scenario.msl
*There are several different options which we will need to be aware of:
--ignore-non-essentials
This removes all requests that are associated with javascript, css, images and unknown mime
types
--ignore-payload
This removes the body/content that is returned by the server
--strip-large-content [SIZE]
This allows us to convert large payloads into smaller repeated representations inside the scenario
-s give your scenario a filename that you want.
9
Once done with the all the above mentioned installations, one can proceed with the Steps below
for Har capturing.
Steps to capture using Har (for http based applications)
• Step 1 – Disable the Cache.
• Step 2 - Open the Firebug window.
• Step 3- Do the scenario (ex Login in to Facebook).
• Step 4- Save the captured .har as scenarioname.har (Here we cant restrict the size of the .har file).
• Step 5- Open Gitbash to generate the .msl file from the captured har file.
• Step 6- Change the directory where the .har file is saved..
• Step 7- Give the following command to generate the .msl file.
mu cmd_musl:from_har <file name with extension>
Note – if the file size is more than 500 KB, then remove Java script,CSS, images etc by using
following option with the above command.
mu cmd_musl:from_har --ignore-non-essentials <file name with extension>
• Step 8- Import the msl to the Mu system under the Studio application.Generate the scenario and
assign the hosts by clicking the Testbed button. The first host should be on A1.range and all the
remaining hosts should be A2.range.
10
• Step 9- Verify the scenario. This is under ‘Controls’ menu.
• Step 10- Open the Scale player and select Verify. Verify is under the Controls menu.
• Step 11- Run a scale test up to 100,000 concurrencies over a 10 second ramp up duration and a
2 min run. This needs an IP range on the interfaces.
• Step 12- If steps 11 fails then try to simplify the scenario by reducing the number of hosts,
transports and packets still further in the Flow Selector and run scale for 80k concurrencies.
• Step 13- If scale passes at 80k concurrencies, then check for 100k concurrencies. If it still fails
move app to stage-2, i.e on hold.
• Step 14- Run the scenarios next against the PAN box on A1 and A2 interfaces for stixis4k and
between A3 and A4 interface for the stixis8k. This should just be the Verify step in the Scale
player and not a scale run.
• Step 15- Check if it gets detected successfully or not under ‘Monitor/Logs/Traffic’ for PAN,
check under real time monitor for SonicWALL and then mark that result in the metadata field
in json.
11
• Step 16- If the step to run the scale test up to 100,000 concurrencies passes, save the scenario
in .msl format, the original pcap and the filtered pcap.
• Step 17- Next, go into Edit Source and do File > Export (.msl) - then copy and paste that into a
text file with the Title as the name and the .msl suffix.
• Step 18- In the msl file, add the title and description to the top line of the file. for example
change the default
# scenario|
to
# Gmail_login|gmail login from google chrome on a pc
where those values are taken from the json file
• Step 19- Make sure there are no src_port fields in the transport definition step of the msl file.
• Step 20- Load and run the msl files in scale for a brief period to make sure they can verify and
start.
• Step 21- Create a .JSON file.
• Step 22- Application owner is suppose to fill the inputs in csv file for Quality Analysis
program.
The assets to store within for Har capture are:
• .json file
• .har file.
• scale report in pdf format
• scenario .msl file
12
CATEGORIZATION OF APPLICATIONS
Business Systems
The content Developments team analyzes the application, if that application is having action like
Update and Synchronize such type of application are categorized as Business Systems.
Examples: Active Directory, MSSQL, Oracle
Communication
The content Developments team analyzes the application, if that application is having action like
Login_Email and chat such type of application are categorized as Communication.
Examples:Skype, Email, Instant Messaging
Games & Entertainment
The content Developments team analyzes the application, if that application is having action like
Login_Browse_Play such type of application are categorized as Games & Entertainment.
Examples: World of Warcraft, FarmVille, Mafia Wars
Miscellaneous
The content Developments team analyzes the application, if that application is having action like
Login_Custom such type of application are categorized as Miscellaneous.
Examples: Kindle, eBay, Kayak
Network Protocols
The content Developments team analyzes the application, if that application is having action like
Custom such type of application are categorized as Network Protocols.
Examples: NFS, DNS, SIP
P2P
13
The content Development team analyzes the application, if that application is having actions like
Launch_Connect_Search_Share such type of application are categorized as P2P.
Examples: BitTorrent, Gnutella, eDonkey
Productivity
The content Development team analyzes the application, if that application is having actions
like Login_Browse_Share such type of application are categorized as Productivity.
Examples: DropBox, SalesForce, Google Docs
Security
The content Development team analyzes the application, if that application is having actions
like Custom such type of application are categorized as Security.
Examples: Known Attacks
Social Networking
The content Development team analyzes the application, if that application is having actions
like Login_Browse_Update such type of application are categorized as Social Networking.
Examples:Facebook, Twitter, Orkut
Streaming Media
The content Development team analyzes the application, if that application is having actions
like Login_Browse_Stream such type of application are categorized as Streaming Media.
Examples: Netflix, YouTube, Pandora
14
GUIDELINES TO DECIDE ACTIONS FOR AN
APPLICATION
• To start with any application do wiki and find out the correct application, that means analyze the
actual requirement of the client.
For example: The requirement is for the ABC P2P client and the request said is abc. Then it
should be analyzed properly and should be done for an ABC p2p client and not for abc.com.
• Decide the actions based upon the main purpose of the application and little common sense.
Examples:
1. If the application is Skype then the main actions can be: Login_chat, Login_file_transfer,
video_ call.
2. For an application such as Active Directory the main actions are: Create_user,
Reset_password, Delete_user, Create_user_add_member etc
● The actions can also be decided based upon the category to which the application belongs.
For example: If the category is streaming media then the common actions can be Play_audio_file,
Watch_videos etc
NOTE:
1. For any application, its required to get confirm with the url used for that application with
anyone among Sham sir, Chethan or Anil.
2.For all Enterprise applications, it is mandate that all the actions /scenarios being created needs
to be checked and verified by Mr.Sham Sunder before it is being done.
15
Follow below steps for any enterprise app:
• Analyze, decide and list out the actions.
• Send an email to Mr. Sham Sunder for the confirmation of the actions being listed.
• After confirmation, execute the actions and run the scenerios.
Email Example for above action:
======================================================================
Subject: Sharepoint actions
Hi Sir,
Please confirm the below actions for Sharepoint application.
Below are sharepoint actions.
1. create_meeting_workspace_add_item
2. create_project_database_add_project
3. create_site_page
4. create_team_site_share_document
5. create_wiki_library_add_content
6. add_team_discussion
7. create_add_announcement
8. create_assign_project_task
9. create_enterprise_site_search
10. create_event
Regards,
========================================================================
16
GUIDELINES FOR PCAPAND HAR CAPTURING
For Pcap method:
Steps and the limitation involved are:
• Step 1 – Need to mention the filter in Wire shark (host <ip> and not port 137 and not port 5355)
• Step 2 – Then capture the packets (less than 200 KB)
• Step 3 – Mutest suite, need to import the captured PCAP.
• Step 4 – Apply filter range should be less than 70 KB with the number of Host limited to 20. Look
at the Packet description make sure to remove the continuation errors or http errors. (Example–
304 or 400)
• Step 5 – Download the filtered PCAP.
• Step 6 – Generate the scenario.
• Step 7 – Click the Test bed button, in this window keep the value of First host as A1range and the
remaining hosts as A2range. ( The first Host should be the User Host) . Then click Apply.
• Step 8 – Click on Verify (if it is successfully verified then go to next step else repeat the Step 2 or
Step 3)
• Step 9 -- Run the scenarios against the PAN and SonicWall and check for detection.(This should
just be the Verify step in the Scale player and not a scale run.)
• Step 10 – Mark about the detection of the application in PAN and SonicWall Devices.
• Step 11 – Click the Test bed button, in this window keep the value of First host as B1range and the
remaining hosts as B2 range. ( The first Host should be the User Host) Then click Apply.
• Step 12 – Now navigate to scale player and click on Verify button. (if it is successfully verified
then go to next step else repeat the Step 2 or Step 3)
• Step 13- Start the scale player by selecting the ramp pattern ,where concurrency is set
to 100k, rampup and ramp down to 10 sec and delay as 2 mins. Then run the scale player. ( Make
sure that the Red line is on X-axis else repeat the Step 2 or Step 3)
• Step 14 – Press the view result, this will navigate to new page. Click on Print friendly which will
17
navigate to a new page , Then Press Print button, to save the test result in PDF format.
• Step 15- Click on Back to player button, which will navigate to the scale player page, click on the
Clear result button.
• Step 16- Save the .msl file.
• Step 17- Create .json file.
• Step 18- Application owner is suppose to fill the inputs in csv file for Quality Analysis program.
18
19
For Har method:
Steps and the limitation involved are:
• Step 1 – Disable the Cache
• Step 2 - Open the Firebug window
• Step 3- Do the scenario (ex Login in to Facebook)
• Step 4- Save the captured .har as scenarioname.har (Here we cant restrict the size of the .har file)
• Step 5- Open Gitbash to generate the .msl file from the captured har file
• Step 6- Change the directory where the .har file is saved.
• Step 7- Give the following command to generate the .msl file
mu cmd_musl:from_har <file name with extension>
• Note – if the file size is more than 500 KB, then remove Java script,CSS, images etc by using
following option with the above command.
mu cmd_musl:from_har --ignore-non-essentials <file name with extension>
• Step 8- Import the generated msl file in mutest suite. If the step is successful go to next step else
repeat from step3.
• Step9-Click the Test bed button, in this window keep the value of First host as A1.range and the
remaining hosts as A2.range. ( The first Host should be the User Host) Then click Apply.
• Step 10 – Click on Verify (if it is successfully verified then go to next step else repeat the Step 3)
• Step 11 -- Check for PAN and SonicWall detection.(This should just be the Verify step in the Scale
player and not a scale run.)
• Step 12 – Click the Test bed button, in this window keep the value of First host as B1.range and the
remaining hosts as B2. range. ( The first Host should be the User Host) Then click Apply.
• Step 13 – Now navigate to scale player and click on Verify button. (if it is successfully verified
then go to next step else repeat the Step 3)
20
• Step 14- Start the scale player by selecting the ramp pattern ,where concurrency is set
to 100k, rampup and rampdown to 10 sec and delay as 2 mins. Then run the scale player. ( Make
sure that the Red line is on X-axis else repeat the Step 2 or Step 3.)
• Step 15 – Press the view result, this will navigate to new page. Click on Print friendly which will
navigate to a new page , Then Press Print button, to save the test result in PDF format.
• Step 16 - Click on Back to player button, which will navigate to the scale player page, click on the
Clear result button.
• Step 17- Save the .msl file.
• Step 18- Create .json file.
• Step 19- Application owner is suppose to fill the inputs in csv file for Quality Analysis program.
21
Standard formats to be followed
Standards with respect to the files
1- After capturing the scenarios, save the files & provide / follow the correct naming standards. The
spelling of the file name should be correct.
Example -adobe_com.Adobe_update.login_update_check.
The spelling of words – update, login, check should be correct.
2- While naming the directory structure, don't use 'SPACE' (Example- adobe_com.Adobe
update.login)
3- Naming convention of the file should be correct, need to follow the correct format :
Example – The file name should be bitspirit_com.BitSpirit.Create_torrent_file ( Not bitspirit
com BitSpirit Create torrent file)
Don't use '.' in the domain name (example bitspirit.com.BitSpirit.Create_torrent_file is not valid)
4- While capturing the PCAP, the filtered & original PCAP files should not have to .zip extension.
While creating the file don't add .zip to the file name
Example -Check_for_update_filtered-01.pcap.zip.zip
5- The filtered file name should be like → remove_torrent_file_filtered-01.pcap (Don't include “-
filtered”)
6- There should never be any ' (apostrophe's) in our directory names, ID names or file names.
22
Standards with respect to the folder name
1. Must follow the correct folder naming convention.
Example – eSnips esnips_com.eSnips.login_edit_profile
---- P I ---- -------------- P II -------------------------
Part I – Is the application name (Here in this case it is eSnips) -This is as per the list provided by client
Part II – Combination of respective URL , application name & the Scenario name (Here login & edit
profile is the scenario)
Note – The Files captured for login_edit_profile must be placed in this folder. The msl, har, pdf file
should have name – login_edit_profile-01 (except the json file)
2. The scenario name & the files name must match (even the case should match)
3. For Network Protocols with identical domain name and application name.
The scenario folder name should be as follows
ApplicationName.Action.
For e.g:
SMTP.Login
23
Required Actions for the Respective Categories
Sl
No
Category Recommended actions
1 Business Systems Login_Navigate_Update/Synchronize/Share
2 Communication Login_Email/Chat
3 Games & Entertainment Login_Browse_Play
4 Miscellaneous Login_Custom
5 Network Protocols Custom
6 P2P Launch_Connect_Search_Share
7 Productivity Login_Browse_Share
8 Social Networking Login_Browse_Update
9 Streaming Media Login_Browse_Stream
24
Standards with respect to json file
Follow the correct format of the json file – as mentioned bellow.
{
"id" : "",
"content_rev" : "1",
"category" : "__REQUIRED__",
"name" : "__REQUIRED__",
"description" : "__REQUIRED__",
"type" : "Scenario",
"metadata": {
"name": "AppId",
"meta_properties": {
"URL" : "",
"User Agent" : "__REQUIRED__",
"Client Name" : "__REQUIRED__",
"Client Version": "__REQUIRED__",
"Client OS" : "",
"Mu Version" : "__REQUIRED__",
"Platform" : "__REQUIRED__",
"Location" : "",
"NAT Enabled" : false,
"Firewall Enabled": false,
"Fuzz Tests(variants)": "",
"Capture Mode" : "har",
"Status": {
"Stage" : 1,
"Comments" : "__REQUIRED__"
},
"Project ID" :"__REQUIRED__",
“Encryption”: “__REQUIRED__”,
“Detection”: “__REQUIRED__”
}
}, "tags": [ ]
25
Json File Guideline Document
Json file sample
{
"content_rev": "1",
"category": "Network Protocols",
"name": "Gopher: Browse the Gopher website",
"description": "This scenario contains user-initiated operations of Gopher on a PC. The user launches
a web browser, navigates to gopher://gopher.floodgap.com/, then browses through web site. ",
"type": "Scenario",
"metadata": {
"name": "AppId",
"meta_properties": {
"URL": "gopher://gopher.floodgap.com/",
"User Agent": "Gopher",
"Client Name": "Firefox",
"Client Version": "3.6.10",
"Client OS": "Windows 7",
"Mu Version": "6.0.1",
"Platform": "PC",
"Location": "Bangalore,India",
"NAT Enabled": false,
"Firewall Enabled": false,
"Fuzz Tests(variants)": "",
"Capture Mode": "pcap",
"Status": {
"Stage": 6,
"Comments": "complete"
},
"Project ID": "10",
"Encryption": “None”,
“Detection”: “PAN-DT, SWL-DT”
}
},
],
"id": "02.2011.06.network_protocols.gopher.gopher_floodgap_com.gopher.browse-01"
}
26
Checklists to be incorporated when checking for Json files:
"id": "02.2011.12.Category Name.App Title.Url.App Title.Action”,
"id":
"02.2011.12.social_networking.facebook_events.apps_facebook_com.facebook_events.create_eve
nt-01", ( Only lowercase letters allowed in id tag )
"category": “Category Name”
“category”: "Social Networking",
"name": "App Title: Action",
"name": "Facebook Events: Create event", ( First letter of action name should be in Uppercase )
"description": "This scenario contains user-initiated operations of App Name on a PC. The user logs
into App Name, description. ",
"description": "This scenario contains user-initiated operations of Facebook Events on a PC.
The user logs on to apps.facebook.com, clicks 'Create Event', then creates an event. ",
"URL": "app url",
"URL": "apps.facebook.com", (Only lowercase letters allowed in URL)
"User Agent": "app name",
"User Agent": "Facebook Events",
"Client Name": "har", "Client Name": "pcap",
"Client Name": "Firefox", "Client Name": "BitTorrent",
"Client Version": "app version",
"Client Version": "3.6.23",
"Client OS": "os", "Client OS": "os",
"Client OS": "Windows 7", "Client OS": "XP",
"Client OS": "os",
"Client OS": "MacBook",
"Mu Version": "version",
"Mu Version": "6.2.1",
"Platform": "platform", "Platform": "platform",
27
"Platform": "PC", "Platform": "MacBook",
"Capture Mode": "capture mode", "Capture Mode": "capture mode",
"Capture Mode": "har", "Capture Mode": "pcap",
"Project ID": "Id",
"Project ID": "8",
"Encryption": "Fake/ Recorded SSL", or "Encryption": "None",
"Detection": "PAN-DT, SWL-DT"
}
(Do a Syntax check of the json file before commit)
Detection:
In the detection field depending on the device on which it has been detected has to be mentiond,
(PAN-DT or PAN-ND or PAN-AD), (SWL-DT or SWL-ND or SWL-AD), (SNV-DT or SNV-ND or SNV-
AD).
DT- Detected
ND-Not Detected
DA-Detection with additional protocol.
For example: if it has been detected in PAN,SWL
“Detection”: “PAN-DT, SWL-DT, SNV-ND”
Comments:
When the app is not directly detected but if the underlying protocols were detected instead, comments
must be added to the metadata that describes why the app was classified as detected.
For example. Active Directory was not directly detected but the underlying protocols like DCE-RPC
and Exchange were.
28
Description in json file
TEMPLATE
Title: <application> <major-action> on <device>
Description: "This Scenario contains user-initiated operations of <application> on a <device>. In this
Scenario, the user <action>, <action>, then <action>."
list of actions:{
launches a web browser
launches the application
logs in to the application
logs out of the application
navigates to ...
browses through ...
searches for ...
creates a ...
initiates a call
downloads a file
uploads a file
updates ...
begins streaming ...
}
Instructions to follow while writing a json file:
1. Id should always be of the following format
“02.committing_year.committing_month.Category.ApplicationName.Action-01” (02 is stixis-id)
Id tag value should always be in lowercase as shown in above example.
For network protocols with identical domain and application name, id should follow the following
format
“02.2011.current_month.Category.ApplicationName.Action-01”
e.g: ”02.2011.05.network_protocols.smtp.login-01
name tag should be : ‘App Name: Action’
29
For example: ‘Farm ville: Play Game’
Few unique examples :
Application name - AdobeUpdate
Look at the unique description for this -
"description": "This scenario contains user-initiated operations of Adobe update on a PC. The user
connects to Adobe, then checks for the Adobe updates. ",
Note – Here Even if the application name is Adobe_Update, in the description the application name
should not have '_'
Application name - PetVille
Look at the unique description for this -
"description": "This scenario contains user-initiated operations of PetVille on a PC. The user logs on to
apps.facebook.com, navigates to the PetVille game page, then clicks 'play'. ",
Note – Here the user logs o to facebook.com and navigates to the PetVille game. So the explanation
given here must follow the sequence/approach.
2. URL filed – Provide the correct URL for the application you are capturing. In most of the times the
url will have .com OR .in, But in very rare cases the url will have .io. Keep the same url from where the
application was captured.
Example - www.boxcar.com is not correct – The correct url is www.boxcar.io
3. The scenarios where the actions are of these category 'SEARCH','FIND
USER' ,'BROWSE' ,'OPEN', 'VIEW', ONLY in Miscellaneous category.
4. In the description always use 'browses ' and NOT 'browses through' or 'browses the'
5. Include one 'space' after comma and full-stop.
30
6. When only two items in a list, use "and" instead of comma. You only need to use the comma when
working with three or more list items. Ex. The user logs on to apps.facebook.com,clicks 'play',.
should be The user logs onto apps.facebook.com and clicks 'play'.
7. Some times you may forget to create the pdf file for the scenario, so make sure to have a look at
the files you are capturing for a scenario.
8. The capture mode should be 'har' for har application & 'pcap' for the downloaded application.
9. For the PCAPS, in msl file replace '#scenario' with 'Title|Description' and remove the 'Host'.
10. Encryption tag field value should be either “None” or “SSL”
For har based, if ssl/tls captures then keep encryption value as “SSL”.
For pcap based, if ssl/tls captures then keep encryption value as “Fake/Recorded SSL”.
If no ssl/tls captures then leave it “None”.
.
11. Run through PAN and SonicWall all the scenarios.
• If the PAN and SonicWall detects the scenario then update the detection field in json file as “PAN-
DT, SWL-DT”, else update the field to “PAN-ND, SWL-ND”.
• If the PAN and SonicWall detects the scenario with related protocol then update the detection field
in json file as “PAN-DA, SWL-DA”, else update the field to “PAN-ND, SWL-ND”.
• If the PAN detects the scenario and SonicWall doesnt then update the detection field in json file as
“PAN-DT, SWL-ND”.
• If the SonicWall detects the scenario and PAN doesnt then update the detection field in json file as
“PAN-ND, SWL-DT”.
12. If any application captures SSL protocol then move that application to "Stage": 2,
and keep comment as below:
"Comments": "Moved to stage 2 because pcap based ssl captures with fake/recorded ssl are not
useful to the app detection use case"
13. If for any application that involves multiple versions, then in the json file the name tag should be
used as below for the same action.
31
Example: 1
---------------------------------------------------------------------------------------------------------------------------
For the tag id,
"id": "02.2011.07.p2p.bitcomet.bitcomet_com.bitcomet.download_file-04",
the name tag should be as below.
"name": "BitComet: Download file (04)"
----------------------------------------------------------------------------------------------------------------------------
Example: 2
----------------------------------------------------------------------------------------------------------------------------
For the tag id,
"id": "02.2011.07.p2p.bitcomet.bitcomet_com.bitcomet.upload_file-08",
the name tag should be as below.
"name": "BitComet: Upload file (08)"
----------------------------------------------------------------------------------------------------------------------------
14. The platform field in the Json file should be filled with:
➢ for PC, its “PC”,
➢ for Apple iPad its “iPad”,
➢ for Apple iPhone its “iPhone”·
➢ for Android SmartPhone-Samsung Nexus 4G its “Android”·
➢ for Mu Test Suite its “Linux”.
32
Examples of relevant actions and descriptions for few sample
applications :
Note: Please refer to the Description_Guideline_Document under References
document for the above.
33
GUIDELINES FOR APPS COMMIT AND CREATE
SUMMARY REPORT
Process for content creation:
• The content development team runs the applications from the master tracker whos stage is said
to be 1 and the status is considered as new. They captures the appropriate content into pcap, har files or
both. This process is documented in separate docs for har and pcap based test creation.
• If they get stuck for whatever reason (e.g. application is unavailable) they will commit it back
as stage 2.
• If they succeed in capturing the scenario using the process documented in pcap/har creation files
then they proceed to commit it to github as stage 6 -meaning 'Completed'.
• The entries in stage 6 are then tested automatically using the Mu content test automation tools.
• If it passes then the stage is updated to 7 - which means it is ready to go live.
• PM will continue to do audits on content that is at stage 7 and when they see problems they will
manually reset the stage to 4 - meaning Re-assigned to the developers and add appropriate comments
that explain the problems.
• Tech Writing will continue to do audits on the description and naming conventions on content
that is at stage 7 and when they see problems they will manually reset the stage to 4 - meaning Re-
assigned to the developers.
• The content development team will typically prioritize working on fixes over new
requests.They will check for stage 4 tests using the report that Josh is implementing and work on fixing
those.
• Once something is fixed they will re-commit that now as stage 5. They have to fix and then
update in the same month and folder as the original entry.
• If they are unable to fix it they will commit it back as stage 2 with appropriate reasoning in the
comments.
• PM will review stage 2 and see if the problem can be removed or communicate the lack of
progress to sales teams.
• If they succeed in capturing the scenario using the process documented in pcap/har creation files
then they proceed to commit it to github as stage 5 -meaning 'Fixed'.
34
• The entries in stage 5 are then tested automatically using the Mu content test automation tools.
• If it passes then the stage is updated to 7 - which means it is ready to go live.
• If the customer reports a bug then the support team will investigate this and set the stage to 4
-meaning 'reassigned' in github with the appropriate reasoning. They may also generate an issue ticket
to track the same on github.
• Once the application is put onto to live then the is changed from stage 7 to stage 8 which
indicates that it is available on the store for the end customers.
•
The below table indicates the different stages and the relevant status to those stages of an
application:
STAGE COUNT STATUS OF THE APPLICATION
1 New
2 On-hold application
3 Reassigned due to appliance issue
4 Reassigned due to content issue
5 Fixed
6 Complete
7 Ready to go live
8 Available on store
35
Commit Process Document:
Steps followed during committing applications into github :
1. Open Gitbash.
2. Go to Top level directory (store path).
3. Setup the appliance environment by typing following commands in Gitbash:
a) export MU_IP=stixismu4k.mudynamics.com
b) export MU_ADMIN_USER=admin
c) export MU_ADMIN_PASS=mu2dyn2amics2
4. Perform 'git pull'(i.e. use 'git pull' command) from the top level of your repository. It pulls the data
which is stored in central repository.
Before committing the applications run the following command.
./bin/mutcc generate_report --style=table --stage=4
mutcc generate_report –style=table
Output:
GENERATED : content_report.html
TOTAL SCENARIOS: 2289
STAGE COUNTS : {7=>1634, 4=>312, 5=>342, 6=>1}
5. Perform 'gem update mu'
6. Use gem build mutcc.gemspec command to build the gem after which you will get the below
message:
Successfully built RubyGem
Name: mutcc
Version: 1.0.0
File: mutcc-1.0.3.gem
7. Then use gem install mutcc-1.0.3.gem command to install the gem:
36
Successfully installed mutcc-1.0.3
1 gem installed
Installing ri documentation for mutcc-1.0.3...
Installing RDoc documentation for mutcc-1.0.3...
8. Change the directory path to “D:mudynamicsstorecontent”
9. Use gem update command this is to update to the latest mu gem and make sure all your other gems
are up to date.
10. Use the following command (from the top level directory) to generate the report before
committing,
mutcc generate_report --style=table
Copy the content_report.csv or content_report.html file from store, paste it in your folder and rename it
appending _before_commit.
11. Then type cd and provide the path of the folder which you want to commit into Github.
i.e. cd “path name”
12. Give “mutcc commit .” Command to commit the application, then below message will be
displayed on the screen.
Checking the content directory
Verifying the contents and the scenarios against a Mu Appliance
You have successfully generated a scenario:
/workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/login-01.msl
I, [2011-04-22T19:01:28.591208 #23394] INFO -- : cmd_run_files | Clean up existing stats files:
app_id_status.json, app_id_stats.csv
I, [2011-04-22T19:01:30.274672 #23394] INFO -- : session | uuid from /new = 9ec2d03b-3a65-421c-
ad8a-3bd8c1febfaa
I, [2011-04-22T19:01:30.326059 #23394] INFO -- : run | verifying
/workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/login-01.msl ...
I, [2011-04-22T19:01:40.259300 #23394] INFO -- : parse_verify_response | *** verify: okay ***
I, [2011-04-22T19:01:40.259653 #23394] INFO -- : output_verify_results | Writting verify results
to: /workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/app_id_stats.csv
Adding the local content to the repository
Committing the data
Pushing to Github
Success: true, Message: Content Commit Successful
13. If any error in the content of the application related to json file, naming conventions, or a invalid
pcap following message will be displayed:
37
Checking the content directory
Success: false, Error: File [wrong_file_name.txt] doesn't match the expected pattern: name-number.ext
(eg example-01.har)
[jnisenson@Sherlock facebook_com.facebook.login]$ cp metadata-02.json metadata-03.json
[jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit
Checking the content directory
Success: false, Error: Missing PCAP file:metadata-03.json Capture Mode is pcap
[jnisenson@Sherlock facebook_com.facebook.login]$ rm login-02.pcap
[jnisenson@Sherlock facebook_com.facebook.login]$ touch login-02.pcap (Invalid pcap)
[jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit
Checking the content directory
Verifying the contents and the scenarios against a Mu Appliance
You have successfully generated a scenario:
/workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/login-01.msl
Packets by packet type in the pcap:
'/workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/login-02.pcap'
----------------------------------------------------------------------------------------------------------------------------
--
It appears login-02.pcap is not a valid pcap
Success: false, Error: Unknown file format for PacketFu::PcapPackets
[jnisenson@Sherlock facebook_com.facebook.login]$ rm login-02.pcap
[jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit
Checking the content directory
Success: false, Error: Missing PCAP file:metadata-02.json Capture Mode is pcap
[jnisenson@Sherlock facebook_com.facebook.login]$ touch login-01.pcap
[jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit
Checking the content directory
Success: false, Error: INVALID: har file and a pcap file in the same content group ["login-01.msl",
"login-01.pcap", "login-01.har"]
[jnisenson@Sherlock facebook_com.facebook.login]$ vi metadata-01.json (Set Title field to
__REQUIRED__)
[jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit
Checking the content directory
metadata-01.json needs to be updated with json for the following fields Title:__REQUIRED__
Success: false, Error: JSON FILE IS INVALID
Then just take up the respective error and fix the issue.
14. If verification error of msl file message is displayed, then open the respective msl file and fix the
issue, if not use “mutcc commit --force .” command then “pushing into github” and “successfully
38
committed” message will be displayed.
15. Then repeat from step no. 9 to 11 till all the applications are committed into Github.
16. Then log onto Redmine, update the time spent on each application for committing in the
respective application ticket raised in the Redmine and close the application ticket.
17. After the above step open the master csv file and update. Like you need to fill in the “No. of
Scenarios”, Action, “Client OS”, Status, “Delivered on” and spent time columns.
18. Use the same command (from the top level directory) to re-generate the report after you have
committed,
mutcc generate_report --style=table
This will update the report with the latest numbers.
Copy the content_report.csv or content_report.html file from store, paste it in the same folder where u
have pasted the same files before committing and rename it appending _after_commit.
19. Compare the number of scenarios committed in master csv on that date with the difference
between number of scenarios in content_report_before_commit and content_report_after_commit. If
both numbers are not same then there is miss match between number of scenarios committed and
number of scenarios updated in master csv.
39
How to create and send the Summary Report:
Following steps are followed while creating and sending the summary report :
1. Update the status of the applications from “Review Pending” to “Ready to Commit” in the master
csv file.
2. Update the status of the applications from previous state (can be “Pending / On-Hold” etc.) to
“Review Pending” which are to be reviewed on next day.
3. Refresh the data in Category-Summary sheet and Scenarios-Summary sheet and add the new data
values into the fields “No. of scenarios committed”, “Completed”, “Committed”, “On Hold”,
“Pending”, “In Progress”, “Review Pending” and “Ready to commit” in Summary sheet for the given
day.
4. Copy the summary data till the given date from the Summary report, and send it to the team.
40
41

More Related Content

What's hot

LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance TestingAtul Pant
 
Sneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF ReleaseSneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF ReleaseNavita Sood
 
Automation use cases_slides_jayendra_saxena
Automation use cases_slides_jayendra_saxenaAutomation use cases_slides_jayendra_saxena
Automation use cases_slides_jayendra_saxenaJayendra Saxena
 
NZNOG 2020: Buffers, Buffer Bloat and BBR
NZNOG 2020: Buffers, Buffer Bloat and BBRNZNOG 2020: Buffers, Buffer Bloat and BBR
NZNOG 2020: Buffers, Buffer Bloat and BBRAPNIC
 
AusNOG 2019: TCP and BBR
AusNOG 2019: TCP and BBRAusNOG 2019: TCP and BBR
AusNOG 2019: TCP and BBRAPNIC
 
Performance testing with loadrunner by kc
Performance testing with loadrunner by kcPerformance testing with loadrunner by kc
Performance testing with loadrunner by kckrishna chaitanya
 
Hp Load Runner Tutorial 1 How Do We Record An Application Using Load Runner
Hp Load Runner Tutorial 1   How Do We Record An Application Using Load RunnerHp Load Runner Tutorial 1   How Do We Record An Application Using Load Runner
Hp Load Runner Tutorial 1 How Do We Record An Application Using Load RunnerYogindernath Gupta
 

What's hot (12)

LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
 
Sneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF ReleaseSneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF Release
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
Remote procedure call
Remote procedure callRemote procedure call
Remote procedure call
 
MidTerm-RatanMohapatra
MidTerm-RatanMohapatraMidTerm-RatanMohapatra
MidTerm-RatanMohapatra
 
Automation use cases_slides_jayendra_saxena
Automation use cases_slides_jayendra_saxenaAutomation use cases_slides_jayendra_saxena
Automation use cases_slides_jayendra_saxena
 
NZNOG 2020: Buffers, Buffer Bloat and BBR
NZNOG 2020: Buffers, Buffer Bloat and BBRNZNOG 2020: Buffers, Buffer Bloat and BBR
NZNOG 2020: Buffers, Buffer Bloat and BBR
 
Performance testing material
Performance testing materialPerformance testing material
Performance testing material
 
AusNOG 2019: TCP and BBR
AusNOG 2019: TCP and BBRAusNOG 2019: TCP and BBR
AusNOG 2019: TCP and BBR
 
Performance testing with loadrunner by kc
Performance testing with loadrunner by kcPerformance testing with loadrunner by kc
Performance testing with loadrunner by kc
 
Hp Load Runner Tutorial 1 How Do We Record An Application Using Load Runner
Hp Load Runner Tutorial 1   How Do We Record An Application Using Load RunnerHp Load Runner Tutorial 1   How Do We Record An Application Using Load Runner
Hp Load Runner Tutorial 1 How Do We Record An Application Using Load Runner
 
Performance vision Version 2.15 news
Performance vision Version 2.15 newsPerformance vision Version 2.15 news
Performance vision Version 2.15 news
 

Viewers also liked

Madonna della Neve al Feo di Altavilla Silentina. Salerno
Madonna della Neve al Feo di Altavilla Silentina. Salerno Madonna della Neve al Feo di Altavilla Silentina. Salerno
Madonna della Neve al Feo di Altavilla Silentina. Salerno L. A.
 
01 2015-small
01 2015-small01 2015-small
01 2015-smallivgen08
 
Dell pc support number 1-866-757-9494
Dell pc support number 1-866-757-9494Dell pc support number 1-866-757-9494
Dell pc support number 1-866-757-9494Tech Cillin
 
детская одежда фаберлик
детская одежда фаберликдетская одежда фаберлик
детская одежда фаберликivgen08
 
Question & Answer - MTsN Andalan Pekanbaru
Question & Answer - MTsN Andalan  PekanbaruQuestion & Answer - MTsN Andalan  Pekanbaru
Question & Answer - MTsN Andalan PekanbaruSanti Hendrayani
 
Cat pdf-04-2015-small
Cat pdf-04-2015-smallCat pdf-04-2015-small
Cat pdf-04-2015-smallivgen08
 

Viewers also liked (9)

Madonna della Neve al Feo di Altavilla Silentina. Salerno
Madonna della Neve al Feo di Altavilla Silentina. Salerno Madonna della Neve al Feo di Altavilla Silentina. Salerno
Madonna della Neve al Feo di Altavilla Silentina. Salerno
 
100099_Steward
100099_Steward100099_Steward
100099_Steward
 
Checking E-mail
Checking E-mailChecking E-mail
Checking E-mail
 
01 2015-small
01 2015-small01 2015-small
01 2015-small
 
RITEE
RITEERITEE
RITEE
 
Dell pc support number 1-866-757-9494
Dell pc support number 1-866-757-9494Dell pc support number 1-866-757-9494
Dell pc support number 1-866-757-9494
 
детская одежда фаберлик
детская одежда фаберликдетская одежда фаберлик
детская одежда фаберлик
 
Question & Answer - MTsN Andalan Pekanbaru
Question & Answer - MTsN Andalan  PekanbaruQuestion & Answer - MTsN Andalan  Pekanbaru
Question & Answer - MTsN Andalan Pekanbaru
 
Cat pdf-04-2015-small
Cat pdf-04-2015-smallCat pdf-04-2015-small
Cat pdf-04-2015-small
 

Similar to Guidelhhghghine document final

IBM MQ - better application performance
IBM MQ - better application performanceIBM MQ - better application performance
IBM MQ - better application performanceMarkTaylorIBM
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rulesFreddy Buenaño
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
 
Open stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareOpen stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareSumit Naiksatam
 
Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Canturk Isci
 
IBM QRadar SIEM V7.3.2 Deployment C1000-055 Questions
IBM QRadar SIEM V7.3.2 Deployment C1000-055 QuestionsIBM QRadar SIEM V7.3.2 Deployment C1000-055 Questions
IBM QRadar SIEM V7.3.2 Deployment C1000-055 QuestionswilliamLeo13
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerIOSR Journals
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerIOSR Journals
 
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...Agile Testing Alliance
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Prolifics
 
Technical report pinger
Technical report  pingerTechnical report  pinger
Technical report pingerRaheel Raza
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingBukhary Ikhwan Ismail
 
Sap implementation
Sap implementationSap implementation
Sap implementationsydraza786
 
2232016 Sample Implementation Plan1.htmlfileCUsers.docx
2232016 Sample Implementation Plan1.htmlfileCUsers.docx2232016 Sample Implementation Plan1.htmlfileCUsers.docx
2232016 Sample Implementation Plan1.htmlfileCUsers.docxeugeniadean34240
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux Neotys
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsFederico Michele Facca
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesQAware GmbH
 

Similar to Guidelhhghghine document final (20)

IBM MQ - better application performance
IBM MQ - better application performanceIBM MQ - better application performance
IBM MQ - better application performance
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
 
Aci dp
Aci dpAci dp
Aci dp
 
Open stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareOpen stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshare
 
Cisco project ideas
Cisco   project ideasCisco   project ideas
Cisco project ideas
 
Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016Agentless System Crawler - InterConnect 2016
Agentless System Crawler - InterConnect 2016
 
IBM QRadar SIEM V7.3.2 Deployment C1000-055 Questions
IBM QRadar SIEM V7.3.2 Deployment C1000-055 QuestionsIBM QRadar SIEM V7.3.2 Deployment C1000-055 Questions
IBM QRadar SIEM V7.3.2 Deployment C1000-055 Questions
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop Computer
 
Linux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop ComputerLinux-Based Data Acquisition and Processing On Palmtop Computer
Linux-Based Data Acquisition and Processing On Palmtop Computer
 
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
Technical report pinger
Technical report  pingerTechnical report  pinger
Technical report pinger
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge Computing
 
Sap implementation
Sap implementationSap implementation
Sap implementation
 
2232016 Sample Implementation Plan1.htmlfileCUsers.docx
2232016 Sample Implementation Plan1.htmlfileCUsers.docx2232016 Sample Implementation Plan1.htmlfileCUsers.docx
2232016 Sample Implementation Plan1.htmlfileCUsers.docx
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
 
ProjectReport_Subhayu
ProjectReport_SubhayuProjectReport_Subhayu
ProjectReport_Subhayu
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 

Recently uploaded

Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 

Recently uploaded (20)

Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 

Guidelhhghghine document final

  • 1. Table of Contents MU APP-ID TEST CONTENT CREATION GUIDE.....................................................................2 Objectives ...................................................................................................................................2 NOTE: For any application, if required to be captured on multiple platforms (Win 7, Win XP , MAC OS etc) for same action, then it is required to give ids..........................................2 Steps to capture Pcap files (for non-http based applications)..............................................2 Capturing Har Files (and converting to msl) for http based apps...............................................7 Objectives ................................................................................................................................................7 Installation Process for Har Capturing:...................................................................................7 Steps to capture using Har (for http based applications).....................................................10 Business Systems.....................................................................................................................13 GUIDELINES TO DECIDE ACTIONS FOR AN APPLICATION...................................15 For Pcap method:......................................................................................................................17 Steps and the limitation involved are:..................................................................................17 For Har method:........................................................................................................................20 Steps and the limitation involved are:...................................................................................20 ..............................................................................................................................21 Standard formats to be followed............................................22 Standards with respect to the files........................................................................................22 Standards with respect to the folder name...........................................................................23 Standards with respect to json file........................................................................................25 ...................................................................................................25 Json file sample....................................................................................................................26 Description in json file .........................................................................................................29 Instructions to follow while writing a json file:.......................................................................29 ........................................................................................33 GUIDELINES FOR APPS COMMIT AND CREATE SUMMARY REPORT..............................34 Process for content creation:................................................................................................34 Commit Process Document:.................................................................................................36 How to create and send the Summary Report:....................................................................40 1
  • 2. MU APP-ID TEST CONTENT CREATION GUIDE Objectives The Mu Dynamics App-ID Test Content package provides the ability to quickly test the sophisticated signature and pattern recognition capabilities of application-aware systems. This package contains a set of ready-to-run Mu test scenarios for a wide range of popular network-based applications including peer-to-peer (P2P), instant messaging (IM), and Social Media domains, including business apps (like Oracle), BitTorrent, AOL IM, Jabber, Facebook, Twitter, Skype and many more. These test assets can immediately be used for pass-through testing of app-aware devices and services for functional, fuzz and scale testing. The Mu Test Suite provides additional flexibility by allowing the modification and extension of the test content, or the ability to build additional test content based on any network traffic capture. The goal of this document is to describe the steps required to: 1. Capture representative traffic in the form of pcaps for popular web, business and mobile applications. 2. Convert these pcaps into scenario files on the Mu Test Suite platform that can then be run at scale (concurrently) or one at a time. The list of applications will be supplied by Mu Dynamics and is documented in “Process For Content Creation.doc” NOTE: For any application, if required to be captured on multiple platforms (Win 7, Win XP , MAC OS etc) for same action, then it is required to give ids. Example: login_play-01, login_play-02 and so. Steps to capture Pcap files (for non-http based applications) • Step 1- Install Wireshark on your Linux or Windows laptop. Install the latest Wireshark version and this needs to be updated periodically. • Step 2- Upgrade your Mu Test Suite platform to the latest version. As of 2012 this is 6.3.1 • This will also evolve monthly and the user should stay up to date. For details on how to upgrade, go to the online help in the Mu system and type in ‘update’ in the search box. 2
  • 3. • Step 3- Download and install the application client that needs to be captured. E.g. Skype version xyz, on the same machine that has the Wireshark installed. • Step 4- Make sure the same machine has access to the Mu system through the web interface. • Step 5- Make sure that any other applications that run network traffic are shut down so that it will not interfere with the target application capture. • Step 6- Run the operation desired on the laptop with the Wireshark capture enabled. Try and limit the capture size to under 200KB and ensure that operation should ended within 2 minutes. • Step 7- Upload the capture to the Mu system under the Studio application. • Step 8- Filter the pcap down to less than 70KB in size. This will enable the user to create a scenario. Filtering can be done by choosing the filter field for pcaps or flows as well as by choosing or excluding hosts. 3
  • 4. • Step 9- Make sure that the filtered capture follows the guidelines below: • The client IP address is the first sender in the interaction. • The number of hosts in the scenario is maintained at less than 20. • If the scenario contains dns queries, then these should be maintained at the start of the transaction. • If the scenario involves a download or an upload action then the control/request message (often http) needs to be there. Also, the subsequent data messages over TCP or UDP need to be there. This needs to reflect the description ion the json file. • Extraneous packets or messages like wsdapi should be avoided. • One area to be careful to avoid id having just dns messages or too few udp messages in the scenario. • Step 10- Before generating the scenario, save off the filtered pcap where it says “Download pcap”. • Step 11- Generate the scenario and assign the hosts by clicking the Testbed button. The first host should be on A1.range and all the remaining hosts should be A2.range. 4
  • 5. • Step 12- Verify the scenario. This is under ‘Controls’ menu. • Step 13- Open the Scale player and select Verify. Verify is under the Controls menu. • Step 14- Run a scale test up to 100,000 concurrencies over a 10 second ramp up duration and a 2 min run. This needs an IP range on the interfaces. • Step 15- If steps 12-14 fail then try to simplify the scenario by reducing the number of hosts, transports and packets still further in the Flow Selector and run scale for 80k concurrencies. • Step 16- If scale passes at 80k concurrencies, then check for 100k concurrencies. If it fails move app to stage-2, i.e on hold. • Step 17- Run the scenarios next against the PAN box on A1 and A2 interfaces for stixis4k and between A3 and A4 interface for the stixis8k. This should just be the Verify step in the Scale player and not a scale run. • Step 18- Check if it gets detected successfully or not under ‘Monitor/Logs/Traffic’ for PAN, check under real time monitor for SonicWALL and then mark that result in the metadata field in json. 5
  • 6. • Step 19- If the step to run the scale test up to 100,000 concurrencies passes, save the scenario in .msl format, the original pcap and the filtered pcap. • Step 20- Next, go into Edit Source and do File > Export (.msl) - then copy and paste that into a text file with the Title as the name and the .msl suffix. • Step 21- In the msl file, add the title and description to the top line of the file. for example change the default # scenario| to # Gmail_login|gmail login from google chrome on a pc where those values are taken from the json file • Step 22- Make sure there are no src_port fields in the transport definition step of the msl file. • Step 23- Load and run the msl files in scale for a brief period to make sure they can verify and start. • Step 24- Create a .JSON file. • Step 25- Application owner is suppose to fill the inputs in csv file for Quality Analysis program. The assets to store within for a Pcap capture are: • .json file • original .pcap • filtered .pcap • scale report in pdf format 6
  • 7. • scenario .msl file Capturing Har Files (and converting to msl) for http based apps Objectives The goal of this section is to describe the steps required to: 1. Capture representative traffic in the form of har files for popular web applications and ensure that operation should ended within 2 minutes.. 2. Convert these har files into scenario files for use on the Mu Test Suite platform that can then be run at scale (concurrently) or one at a time. Installation Process for Har Capturing: Follow the below steps: Step 1: Install Firebug for Firefox as an extension to Firefox (3.6 or higher) -What is Firebug you ask? http://getfirebug.com/whatisfirebug -Where can I get it? http://getfirebug.com/ -How do I use it? http://michaelsync.net/2007/09/30/firebug-tutorial-script-tab-javascript- debugging Step 2 : Install Firefox Add-Ons 2a)Install NetExport -What is NetExport? http://www.softwareishard.com/blog/netexport/ -Where can I get it? http://getfirebug.com/releases/netexport/ -How do I know I installed them correctly and that I can export har files? You will see a small icon that looks like a bug in the lower right corner of your browser window. (It will start out gray) Click the bug to turn firebug on and make sure to enable the “Net” tab. The main menu item to notice under the net tab is the Export item with the arrow pointing down. If you see something like the following picture than you installed them correctly. 2b)Install Firefox Web Developer Tools 7
  • 8. -What are the Web Developers Tools? http://chrispederick.com/work/web-developer/ -Where can I get it? https://addons.mozilla.org/en-US/firefox/addon/web-developer/ Step 3 : Using the MuGem to create a scenario from a har file. 3a)Before you can use the Ruby MuGem, you will need to install Ruby on your system. For windows install ruby from here: HYPERLINK "http://www.ruby-lang.org/en/downloads/"http://www.ruby-lang.org/en/downloads/ version 1.9.2) For Ubuntu install following these instructions using rvm - ruby version manager: HYPERLINK "http://www.web2linux.com/05/installing-rails-3-on-ubuntu-10-04-lucid- lynx/"http://www.web2linux.com/05/installing-rails-3-on-ubuntu-10-04-lucid-lynx/ ) 3b) Once you have completed the install of Ruby you will need to install the MuGem -On a linux system sudo gem install rake sudo gem install mu -On a windows system follow the online instructions HYPERLINK "http://docs.rubygems.org/read/chapter/3"http://docs.rubygems.org/read/chapter/3 1. Go into the ruby bin directory and run this command from the command prompt: gem install rake gem install mu 3c)Verify that the gem has been installed correctly by typing 'mu' after install, you should see: prompt$ mu Usage: mu <command>:<option> mu help - Display this help mu cmd_musl:help - Show help on using the Musl Api through the command-line 3d)Change to the directory where the har file is saved or move the har file to the workspace you want. [jnisenson@Sherlock har2musl]$ ls testcloud.mudynamics.com.har [jnisenson@Sherlock har2musl]$ mu cmd_musl:from_har 8
  • 9. Usage: mu cmd_musl:<command> <options> [FILE] -V, --verbose --ignore-non-essentials Ignore App-Unknown/JS/CSS/Image files --ignore-images Ignore Image files --ignore-css Ignore CSS files --ignore-js Ignore Javascript files --ignore-payload Ignore the content payload --strip-large-content [SIZE] Replace large response content with a repeated field -s, --scenario [FILENAME] Specify the msl filename to be created Available Commands: mu cmd_musl:help mu cmd_musl:from_har <options> <har_file> Outputs: Scenario file: <harfilename>.msl by default or filename from -s You have successfully generated a scenario: mu_scenario.msl *There are several different options which we will need to be aware of: --ignore-non-essentials This removes all requests that are associated with javascript, css, images and unknown mime types --ignore-payload This removes the body/content that is returned by the server --strip-large-content [SIZE] This allows us to convert large payloads into smaller repeated representations inside the scenario -s give your scenario a filename that you want. 9
  • 10. Once done with the all the above mentioned installations, one can proceed with the Steps below for Har capturing. Steps to capture using Har (for http based applications) • Step 1 – Disable the Cache. • Step 2 - Open the Firebug window. • Step 3- Do the scenario (ex Login in to Facebook). • Step 4- Save the captured .har as scenarioname.har (Here we cant restrict the size of the .har file). • Step 5- Open Gitbash to generate the .msl file from the captured har file. • Step 6- Change the directory where the .har file is saved.. • Step 7- Give the following command to generate the .msl file. mu cmd_musl:from_har <file name with extension> Note – if the file size is more than 500 KB, then remove Java script,CSS, images etc by using following option with the above command. mu cmd_musl:from_har --ignore-non-essentials <file name with extension> • Step 8- Import the msl to the Mu system under the Studio application.Generate the scenario and assign the hosts by clicking the Testbed button. The first host should be on A1.range and all the remaining hosts should be A2.range. 10
  • 11. • Step 9- Verify the scenario. This is under ‘Controls’ menu. • Step 10- Open the Scale player and select Verify. Verify is under the Controls menu. • Step 11- Run a scale test up to 100,000 concurrencies over a 10 second ramp up duration and a 2 min run. This needs an IP range on the interfaces. • Step 12- If steps 11 fails then try to simplify the scenario by reducing the number of hosts, transports and packets still further in the Flow Selector and run scale for 80k concurrencies. • Step 13- If scale passes at 80k concurrencies, then check for 100k concurrencies. If it still fails move app to stage-2, i.e on hold. • Step 14- Run the scenarios next against the PAN box on A1 and A2 interfaces for stixis4k and between A3 and A4 interface for the stixis8k. This should just be the Verify step in the Scale player and not a scale run. • Step 15- Check if it gets detected successfully or not under ‘Monitor/Logs/Traffic’ for PAN, check under real time monitor for SonicWALL and then mark that result in the metadata field in json. 11
  • 12. • Step 16- If the step to run the scale test up to 100,000 concurrencies passes, save the scenario in .msl format, the original pcap and the filtered pcap. • Step 17- Next, go into Edit Source and do File > Export (.msl) - then copy and paste that into a text file with the Title as the name and the .msl suffix. • Step 18- In the msl file, add the title and description to the top line of the file. for example change the default # scenario| to # Gmail_login|gmail login from google chrome on a pc where those values are taken from the json file • Step 19- Make sure there are no src_port fields in the transport definition step of the msl file. • Step 20- Load and run the msl files in scale for a brief period to make sure they can verify and start. • Step 21- Create a .JSON file. • Step 22- Application owner is suppose to fill the inputs in csv file for Quality Analysis program. The assets to store within for Har capture are: • .json file • .har file. • scale report in pdf format • scenario .msl file 12
  • 13. CATEGORIZATION OF APPLICATIONS Business Systems The content Developments team analyzes the application, if that application is having action like Update and Synchronize such type of application are categorized as Business Systems. Examples: Active Directory, MSSQL, Oracle Communication The content Developments team analyzes the application, if that application is having action like Login_Email and chat such type of application are categorized as Communication. Examples:Skype, Email, Instant Messaging Games & Entertainment The content Developments team analyzes the application, if that application is having action like Login_Browse_Play such type of application are categorized as Games & Entertainment. Examples: World of Warcraft, FarmVille, Mafia Wars Miscellaneous The content Developments team analyzes the application, if that application is having action like Login_Custom such type of application are categorized as Miscellaneous. Examples: Kindle, eBay, Kayak Network Protocols The content Developments team analyzes the application, if that application is having action like Custom such type of application are categorized as Network Protocols. Examples: NFS, DNS, SIP P2P 13
  • 14. The content Development team analyzes the application, if that application is having actions like Launch_Connect_Search_Share such type of application are categorized as P2P. Examples: BitTorrent, Gnutella, eDonkey Productivity The content Development team analyzes the application, if that application is having actions like Login_Browse_Share such type of application are categorized as Productivity. Examples: DropBox, SalesForce, Google Docs Security The content Development team analyzes the application, if that application is having actions like Custom such type of application are categorized as Security. Examples: Known Attacks Social Networking The content Development team analyzes the application, if that application is having actions like Login_Browse_Update such type of application are categorized as Social Networking. Examples:Facebook, Twitter, Orkut Streaming Media The content Development team analyzes the application, if that application is having actions like Login_Browse_Stream such type of application are categorized as Streaming Media. Examples: Netflix, YouTube, Pandora 14
  • 15. GUIDELINES TO DECIDE ACTIONS FOR AN APPLICATION • To start with any application do wiki and find out the correct application, that means analyze the actual requirement of the client. For example: The requirement is for the ABC P2P client and the request said is abc. Then it should be analyzed properly and should be done for an ABC p2p client and not for abc.com. • Decide the actions based upon the main purpose of the application and little common sense. Examples: 1. If the application is Skype then the main actions can be: Login_chat, Login_file_transfer, video_ call. 2. For an application such as Active Directory the main actions are: Create_user, Reset_password, Delete_user, Create_user_add_member etc ● The actions can also be decided based upon the category to which the application belongs. For example: If the category is streaming media then the common actions can be Play_audio_file, Watch_videos etc NOTE: 1. For any application, its required to get confirm with the url used for that application with anyone among Sham sir, Chethan or Anil. 2.For all Enterprise applications, it is mandate that all the actions /scenarios being created needs to be checked and verified by Mr.Sham Sunder before it is being done. 15
  • 16. Follow below steps for any enterprise app: • Analyze, decide and list out the actions. • Send an email to Mr. Sham Sunder for the confirmation of the actions being listed. • After confirmation, execute the actions and run the scenerios. Email Example for above action: ====================================================================== Subject: Sharepoint actions Hi Sir, Please confirm the below actions for Sharepoint application. Below are sharepoint actions. 1. create_meeting_workspace_add_item 2. create_project_database_add_project 3. create_site_page 4. create_team_site_share_document 5. create_wiki_library_add_content 6. add_team_discussion 7. create_add_announcement 8. create_assign_project_task 9. create_enterprise_site_search 10. create_event Regards, ======================================================================== 16
  • 17. GUIDELINES FOR PCAPAND HAR CAPTURING For Pcap method: Steps and the limitation involved are: • Step 1 – Need to mention the filter in Wire shark (host <ip> and not port 137 and not port 5355) • Step 2 – Then capture the packets (less than 200 KB) • Step 3 – Mutest suite, need to import the captured PCAP. • Step 4 – Apply filter range should be less than 70 KB with the number of Host limited to 20. Look at the Packet description make sure to remove the continuation errors or http errors. (Example– 304 or 400) • Step 5 – Download the filtered PCAP. • Step 6 – Generate the scenario. • Step 7 – Click the Test bed button, in this window keep the value of First host as A1range and the remaining hosts as A2range. ( The first Host should be the User Host) . Then click Apply. • Step 8 – Click on Verify (if it is successfully verified then go to next step else repeat the Step 2 or Step 3) • Step 9 -- Run the scenarios against the PAN and SonicWall and check for detection.(This should just be the Verify step in the Scale player and not a scale run.) • Step 10 – Mark about the detection of the application in PAN and SonicWall Devices. • Step 11 – Click the Test bed button, in this window keep the value of First host as B1range and the remaining hosts as B2 range. ( The first Host should be the User Host) Then click Apply. • Step 12 – Now navigate to scale player and click on Verify button. (if it is successfully verified then go to next step else repeat the Step 2 or Step 3) • Step 13- Start the scale player by selecting the ramp pattern ,where concurrency is set to 100k, rampup and ramp down to 10 sec and delay as 2 mins. Then run the scale player. ( Make sure that the Red line is on X-axis else repeat the Step 2 or Step 3) • Step 14 – Press the view result, this will navigate to new page. Click on Print friendly which will 17
  • 18. navigate to a new page , Then Press Print button, to save the test result in PDF format. • Step 15- Click on Back to player button, which will navigate to the scale player page, click on the Clear result button. • Step 16- Save the .msl file. • Step 17- Create .json file. • Step 18- Application owner is suppose to fill the inputs in csv file for Quality Analysis program. 18
  • 19. 19
  • 20. For Har method: Steps and the limitation involved are: • Step 1 – Disable the Cache • Step 2 - Open the Firebug window • Step 3- Do the scenario (ex Login in to Facebook) • Step 4- Save the captured .har as scenarioname.har (Here we cant restrict the size of the .har file) • Step 5- Open Gitbash to generate the .msl file from the captured har file • Step 6- Change the directory where the .har file is saved. • Step 7- Give the following command to generate the .msl file mu cmd_musl:from_har <file name with extension> • Note – if the file size is more than 500 KB, then remove Java script,CSS, images etc by using following option with the above command. mu cmd_musl:from_har --ignore-non-essentials <file name with extension> • Step 8- Import the generated msl file in mutest suite. If the step is successful go to next step else repeat from step3. • Step9-Click the Test bed button, in this window keep the value of First host as A1.range and the remaining hosts as A2.range. ( The first Host should be the User Host) Then click Apply. • Step 10 – Click on Verify (if it is successfully verified then go to next step else repeat the Step 3) • Step 11 -- Check for PAN and SonicWall detection.(This should just be the Verify step in the Scale player and not a scale run.) • Step 12 – Click the Test bed button, in this window keep the value of First host as B1.range and the remaining hosts as B2. range. ( The first Host should be the User Host) Then click Apply. • Step 13 – Now navigate to scale player and click on Verify button. (if it is successfully verified then go to next step else repeat the Step 3) 20
  • 21. • Step 14- Start the scale player by selecting the ramp pattern ,where concurrency is set to 100k, rampup and rampdown to 10 sec and delay as 2 mins. Then run the scale player. ( Make sure that the Red line is on X-axis else repeat the Step 2 or Step 3.) • Step 15 – Press the view result, this will navigate to new page. Click on Print friendly which will navigate to a new page , Then Press Print button, to save the test result in PDF format. • Step 16 - Click on Back to player button, which will navigate to the scale player page, click on the Clear result button. • Step 17- Save the .msl file. • Step 18- Create .json file. • Step 19- Application owner is suppose to fill the inputs in csv file for Quality Analysis program. 21
  • 22. Standard formats to be followed Standards with respect to the files 1- After capturing the scenarios, save the files & provide / follow the correct naming standards. The spelling of the file name should be correct. Example -adobe_com.Adobe_update.login_update_check. The spelling of words – update, login, check should be correct. 2- While naming the directory structure, don't use 'SPACE' (Example- adobe_com.Adobe update.login) 3- Naming convention of the file should be correct, need to follow the correct format : Example – The file name should be bitspirit_com.BitSpirit.Create_torrent_file ( Not bitspirit com BitSpirit Create torrent file) Don't use '.' in the domain name (example bitspirit.com.BitSpirit.Create_torrent_file is not valid) 4- While capturing the PCAP, the filtered & original PCAP files should not have to .zip extension. While creating the file don't add .zip to the file name Example -Check_for_update_filtered-01.pcap.zip.zip 5- The filtered file name should be like → remove_torrent_file_filtered-01.pcap (Don't include “- filtered”) 6- There should never be any ' (apostrophe's) in our directory names, ID names or file names. 22
  • 23. Standards with respect to the folder name 1. Must follow the correct folder naming convention. Example – eSnips esnips_com.eSnips.login_edit_profile ---- P I ---- -------------- P II ------------------------- Part I – Is the application name (Here in this case it is eSnips) -This is as per the list provided by client Part II – Combination of respective URL , application name & the Scenario name (Here login & edit profile is the scenario) Note – The Files captured for login_edit_profile must be placed in this folder. The msl, har, pdf file should have name – login_edit_profile-01 (except the json file) 2. The scenario name & the files name must match (even the case should match) 3. For Network Protocols with identical domain name and application name. The scenario folder name should be as follows ApplicationName.Action. For e.g: SMTP.Login 23
  • 24. Required Actions for the Respective Categories Sl No Category Recommended actions 1 Business Systems Login_Navigate_Update/Synchronize/Share 2 Communication Login_Email/Chat 3 Games & Entertainment Login_Browse_Play 4 Miscellaneous Login_Custom 5 Network Protocols Custom 6 P2P Launch_Connect_Search_Share 7 Productivity Login_Browse_Share 8 Social Networking Login_Browse_Update 9 Streaming Media Login_Browse_Stream 24
  • 25. Standards with respect to json file Follow the correct format of the json file – as mentioned bellow. { "id" : "", "content_rev" : "1", "category" : "__REQUIRED__", "name" : "__REQUIRED__", "description" : "__REQUIRED__", "type" : "Scenario", "metadata": { "name": "AppId", "meta_properties": { "URL" : "", "User Agent" : "__REQUIRED__", "Client Name" : "__REQUIRED__", "Client Version": "__REQUIRED__", "Client OS" : "", "Mu Version" : "__REQUIRED__", "Platform" : "__REQUIRED__", "Location" : "", "NAT Enabled" : false, "Firewall Enabled": false, "Fuzz Tests(variants)": "", "Capture Mode" : "har", "Status": { "Stage" : 1, "Comments" : "__REQUIRED__" }, "Project ID" :"__REQUIRED__", “Encryption”: “__REQUIRED__”, “Detection”: “__REQUIRED__” } }, "tags": [ ] 25
  • 26. Json File Guideline Document Json file sample { "content_rev": "1", "category": "Network Protocols", "name": "Gopher: Browse the Gopher website", "description": "This scenario contains user-initiated operations of Gopher on a PC. The user launches a web browser, navigates to gopher://gopher.floodgap.com/, then browses through web site. ", "type": "Scenario", "metadata": { "name": "AppId", "meta_properties": { "URL": "gopher://gopher.floodgap.com/", "User Agent": "Gopher", "Client Name": "Firefox", "Client Version": "3.6.10", "Client OS": "Windows 7", "Mu Version": "6.0.1", "Platform": "PC", "Location": "Bangalore,India", "NAT Enabled": false, "Firewall Enabled": false, "Fuzz Tests(variants)": "", "Capture Mode": "pcap", "Status": { "Stage": 6, "Comments": "complete" }, "Project ID": "10", "Encryption": “None”, “Detection”: “PAN-DT, SWL-DT” } }, ], "id": "02.2011.06.network_protocols.gopher.gopher_floodgap_com.gopher.browse-01" } 26
  • 27. Checklists to be incorporated when checking for Json files: "id": "02.2011.12.Category Name.App Title.Url.App Title.Action”, "id": "02.2011.12.social_networking.facebook_events.apps_facebook_com.facebook_events.create_eve nt-01", ( Only lowercase letters allowed in id tag ) "category": “Category Name” “category”: "Social Networking", "name": "App Title: Action", "name": "Facebook Events: Create event", ( First letter of action name should be in Uppercase ) "description": "This scenario contains user-initiated operations of App Name on a PC. The user logs into App Name, description. ", "description": "This scenario contains user-initiated operations of Facebook Events on a PC. The user logs on to apps.facebook.com, clicks 'Create Event', then creates an event. ", "URL": "app url", "URL": "apps.facebook.com", (Only lowercase letters allowed in URL) "User Agent": "app name", "User Agent": "Facebook Events", "Client Name": "har", "Client Name": "pcap", "Client Name": "Firefox", "Client Name": "BitTorrent", "Client Version": "app version", "Client Version": "3.6.23", "Client OS": "os", "Client OS": "os", "Client OS": "Windows 7", "Client OS": "XP", "Client OS": "os", "Client OS": "MacBook", "Mu Version": "version", "Mu Version": "6.2.1", "Platform": "platform", "Platform": "platform", 27
  • 28. "Platform": "PC", "Platform": "MacBook", "Capture Mode": "capture mode", "Capture Mode": "capture mode", "Capture Mode": "har", "Capture Mode": "pcap", "Project ID": "Id", "Project ID": "8", "Encryption": "Fake/ Recorded SSL", or "Encryption": "None", "Detection": "PAN-DT, SWL-DT" } (Do a Syntax check of the json file before commit) Detection: In the detection field depending on the device on which it has been detected has to be mentiond, (PAN-DT or PAN-ND or PAN-AD), (SWL-DT or SWL-ND or SWL-AD), (SNV-DT or SNV-ND or SNV- AD). DT- Detected ND-Not Detected DA-Detection with additional protocol. For example: if it has been detected in PAN,SWL “Detection”: “PAN-DT, SWL-DT, SNV-ND” Comments: When the app is not directly detected but if the underlying protocols were detected instead, comments must be added to the metadata that describes why the app was classified as detected. For example. Active Directory was not directly detected but the underlying protocols like DCE-RPC and Exchange were. 28
  • 29. Description in json file TEMPLATE Title: <application> <major-action> on <device> Description: "This Scenario contains user-initiated operations of <application> on a <device>. In this Scenario, the user <action>, <action>, then <action>." list of actions:{ launches a web browser launches the application logs in to the application logs out of the application navigates to ... browses through ... searches for ... creates a ... initiates a call downloads a file uploads a file updates ... begins streaming ... } Instructions to follow while writing a json file: 1. Id should always be of the following format “02.committing_year.committing_month.Category.ApplicationName.Action-01” (02 is stixis-id) Id tag value should always be in lowercase as shown in above example. For network protocols with identical domain and application name, id should follow the following format “02.2011.current_month.Category.ApplicationName.Action-01” e.g: ”02.2011.05.network_protocols.smtp.login-01 name tag should be : ‘App Name: Action’ 29
  • 30. For example: ‘Farm ville: Play Game’ Few unique examples : Application name - AdobeUpdate Look at the unique description for this - "description": "This scenario contains user-initiated operations of Adobe update on a PC. The user connects to Adobe, then checks for the Adobe updates. ", Note – Here Even if the application name is Adobe_Update, in the description the application name should not have '_' Application name - PetVille Look at the unique description for this - "description": "This scenario contains user-initiated operations of PetVille on a PC. The user logs on to apps.facebook.com, navigates to the PetVille game page, then clicks 'play'. ", Note – Here the user logs o to facebook.com and navigates to the PetVille game. So the explanation given here must follow the sequence/approach. 2. URL filed – Provide the correct URL for the application you are capturing. In most of the times the url will have .com OR .in, But in very rare cases the url will have .io. Keep the same url from where the application was captured. Example - www.boxcar.com is not correct – The correct url is www.boxcar.io 3. The scenarios where the actions are of these category 'SEARCH','FIND USER' ,'BROWSE' ,'OPEN', 'VIEW', ONLY in Miscellaneous category. 4. In the description always use 'browses ' and NOT 'browses through' or 'browses the' 5. Include one 'space' after comma and full-stop. 30
  • 31. 6. When only two items in a list, use "and" instead of comma. You only need to use the comma when working with three or more list items. Ex. The user logs on to apps.facebook.com,clicks 'play',. should be The user logs onto apps.facebook.com and clicks 'play'. 7. Some times you may forget to create the pdf file for the scenario, so make sure to have a look at the files you are capturing for a scenario. 8. The capture mode should be 'har' for har application & 'pcap' for the downloaded application. 9. For the PCAPS, in msl file replace '#scenario' with 'Title|Description' and remove the 'Host'. 10. Encryption tag field value should be either “None” or “SSL” For har based, if ssl/tls captures then keep encryption value as “SSL”. For pcap based, if ssl/tls captures then keep encryption value as “Fake/Recorded SSL”. If no ssl/tls captures then leave it “None”. . 11. Run through PAN and SonicWall all the scenarios. • If the PAN and SonicWall detects the scenario then update the detection field in json file as “PAN- DT, SWL-DT”, else update the field to “PAN-ND, SWL-ND”. • If the PAN and SonicWall detects the scenario with related protocol then update the detection field in json file as “PAN-DA, SWL-DA”, else update the field to “PAN-ND, SWL-ND”. • If the PAN detects the scenario and SonicWall doesnt then update the detection field in json file as “PAN-DT, SWL-ND”. • If the SonicWall detects the scenario and PAN doesnt then update the detection field in json file as “PAN-ND, SWL-DT”. 12. If any application captures SSL protocol then move that application to "Stage": 2, and keep comment as below: "Comments": "Moved to stage 2 because pcap based ssl captures with fake/recorded ssl are not useful to the app detection use case" 13. If for any application that involves multiple versions, then in the json file the name tag should be used as below for the same action. 31
  • 32. Example: 1 --------------------------------------------------------------------------------------------------------------------------- For the tag id, "id": "02.2011.07.p2p.bitcomet.bitcomet_com.bitcomet.download_file-04", the name tag should be as below. "name": "BitComet: Download file (04)" ---------------------------------------------------------------------------------------------------------------------------- Example: 2 ---------------------------------------------------------------------------------------------------------------------------- For the tag id, "id": "02.2011.07.p2p.bitcomet.bitcomet_com.bitcomet.upload_file-08", the name tag should be as below. "name": "BitComet: Upload file (08)" ---------------------------------------------------------------------------------------------------------------------------- 14. The platform field in the Json file should be filled with: ➢ for PC, its “PC”, ➢ for Apple iPad its “iPad”, ➢ for Apple iPhone its “iPhone”· ➢ for Android SmartPhone-Samsung Nexus 4G its “Android”· ➢ for Mu Test Suite its “Linux”. 32
  • 33. Examples of relevant actions and descriptions for few sample applications : Note: Please refer to the Description_Guideline_Document under References document for the above. 33
  • 34. GUIDELINES FOR APPS COMMIT AND CREATE SUMMARY REPORT Process for content creation: • The content development team runs the applications from the master tracker whos stage is said to be 1 and the status is considered as new. They captures the appropriate content into pcap, har files or both. This process is documented in separate docs for har and pcap based test creation. • If they get stuck for whatever reason (e.g. application is unavailable) they will commit it back as stage 2. • If they succeed in capturing the scenario using the process documented in pcap/har creation files then they proceed to commit it to github as stage 6 -meaning 'Completed'. • The entries in stage 6 are then tested automatically using the Mu content test automation tools. • If it passes then the stage is updated to 7 - which means it is ready to go live. • PM will continue to do audits on content that is at stage 7 and when they see problems they will manually reset the stage to 4 - meaning Re-assigned to the developers and add appropriate comments that explain the problems. • Tech Writing will continue to do audits on the description and naming conventions on content that is at stage 7 and when they see problems they will manually reset the stage to 4 - meaning Re- assigned to the developers. • The content development team will typically prioritize working on fixes over new requests.They will check for stage 4 tests using the report that Josh is implementing and work on fixing those. • Once something is fixed they will re-commit that now as stage 5. They have to fix and then update in the same month and folder as the original entry. • If they are unable to fix it they will commit it back as stage 2 with appropriate reasoning in the comments. • PM will review stage 2 and see if the problem can be removed or communicate the lack of progress to sales teams. • If they succeed in capturing the scenario using the process documented in pcap/har creation files then they proceed to commit it to github as stage 5 -meaning 'Fixed'. 34
  • 35. • The entries in stage 5 are then tested automatically using the Mu content test automation tools. • If it passes then the stage is updated to 7 - which means it is ready to go live. • If the customer reports a bug then the support team will investigate this and set the stage to 4 -meaning 'reassigned' in github with the appropriate reasoning. They may also generate an issue ticket to track the same on github. • Once the application is put onto to live then the is changed from stage 7 to stage 8 which indicates that it is available on the store for the end customers. • The below table indicates the different stages and the relevant status to those stages of an application: STAGE COUNT STATUS OF THE APPLICATION 1 New 2 On-hold application 3 Reassigned due to appliance issue 4 Reassigned due to content issue 5 Fixed 6 Complete 7 Ready to go live 8 Available on store 35
  • 36. Commit Process Document: Steps followed during committing applications into github : 1. Open Gitbash. 2. Go to Top level directory (store path). 3. Setup the appliance environment by typing following commands in Gitbash: a) export MU_IP=stixismu4k.mudynamics.com b) export MU_ADMIN_USER=admin c) export MU_ADMIN_PASS=mu2dyn2amics2 4. Perform 'git pull'(i.e. use 'git pull' command) from the top level of your repository. It pulls the data which is stored in central repository. Before committing the applications run the following command. ./bin/mutcc generate_report --style=table --stage=4 mutcc generate_report –style=table Output: GENERATED : content_report.html TOTAL SCENARIOS: 2289 STAGE COUNTS : {7=>1634, 4=>312, 5=>342, 6=>1} 5. Perform 'gem update mu' 6. Use gem build mutcc.gemspec command to build the gem after which you will get the below message: Successfully built RubyGem Name: mutcc Version: 1.0.0 File: mutcc-1.0.3.gem 7. Then use gem install mutcc-1.0.3.gem command to install the gem: 36
  • 37. Successfully installed mutcc-1.0.3 1 gem installed Installing ri documentation for mutcc-1.0.3... Installing RDoc documentation for mutcc-1.0.3... 8. Change the directory path to “D:mudynamicsstorecontent” 9. Use gem update command this is to update to the latest mu gem and make sure all your other gems are up to date. 10. Use the following command (from the top level directory) to generate the report before committing, mutcc generate_report --style=table Copy the content_report.csv or content_report.html file from store, paste it in your folder and rename it appending _before_commit. 11. Then type cd and provide the path of the folder which you want to commit into Github. i.e. cd “path name” 12. Give “mutcc commit .” Command to commit the application, then below message will be displayed on the screen. Checking the content directory Verifying the contents and the scenarios against a Mu Appliance You have successfully generated a scenario: /workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/login-01.msl I, [2011-04-22T19:01:28.591208 #23394] INFO -- : cmd_run_files | Clean up existing stats files: app_id_status.json, app_id_stats.csv I, [2011-04-22T19:01:30.274672 #23394] INFO -- : session | uuid from /new = 9ec2d03b-3a65-421c- ad8a-3bd8c1febfaa I, [2011-04-22T19:01:30.326059 #23394] INFO -- : run | verifying /workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/login-01.msl ... I, [2011-04-22T19:01:40.259300 #23394] INFO -- : parse_verify_response | *** verify: okay *** I, [2011-04-22T19:01:40.259653 #23394] INFO -- : output_verify_results | Writting verify results to: /workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/app_id_stats.csv Adding the local content to the repository Committing the data Pushing to Github Success: true, Message: Content Commit Successful 13. If any error in the content of the application related to json file, naming conventions, or a invalid pcap following message will be displayed: 37
  • 38. Checking the content directory Success: false, Error: File [wrong_file_name.txt] doesn't match the expected pattern: name-number.ext (eg example-01.har) [jnisenson@Sherlock facebook_com.facebook.login]$ cp metadata-02.json metadata-03.json [jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit Checking the content directory Success: false, Error: Missing PCAP file:metadata-03.json Capture Mode is pcap [jnisenson@Sherlock facebook_com.facebook.login]$ rm login-02.pcap [jnisenson@Sherlock facebook_com.facebook.login]$ touch login-02.pcap (Invalid pcap) [jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit Checking the content directory Verifying the contents and the scenarios against a Mu Appliance You have successfully generated a scenario: /workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/login-01.msl Packets by packet type in the pcap: '/workspace/mudynamics/store/content/01/2011/04/facebook_com.facebook.login/login-02.pcap' ---------------------------------------------------------------------------------------------------------------------------- -- It appears login-02.pcap is not a valid pcap Success: false, Error: Unknown file format for PacketFu::PcapPackets [jnisenson@Sherlock facebook_com.facebook.login]$ rm login-02.pcap [jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit Checking the content directory Success: false, Error: Missing PCAP file:metadata-02.json Capture Mode is pcap [jnisenson@Sherlock facebook_com.facebook.login]$ touch login-01.pcap [jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit Checking the content directory Success: false, Error: INVALID: har file and a pcap file in the same content group ["login-01.msl", "login-01.pcap", "login-01.har"] [jnisenson@Sherlock facebook_com.facebook.login]$ vi metadata-01.json (Set Title field to __REQUIRED__) [jnisenson@Sherlock facebook_com.facebook.login]$ mutcc commit Checking the content directory metadata-01.json needs to be updated with json for the following fields Title:__REQUIRED__ Success: false, Error: JSON FILE IS INVALID Then just take up the respective error and fix the issue. 14. If verification error of msl file message is displayed, then open the respective msl file and fix the issue, if not use “mutcc commit --force .” command then “pushing into github” and “successfully 38
  • 39. committed” message will be displayed. 15. Then repeat from step no. 9 to 11 till all the applications are committed into Github. 16. Then log onto Redmine, update the time spent on each application for committing in the respective application ticket raised in the Redmine and close the application ticket. 17. After the above step open the master csv file and update. Like you need to fill in the “No. of Scenarios”, Action, “Client OS”, Status, “Delivered on” and spent time columns. 18. Use the same command (from the top level directory) to re-generate the report after you have committed, mutcc generate_report --style=table This will update the report with the latest numbers. Copy the content_report.csv or content_report.html file from store, paste it in the same folder where u have pasted the same files before committing and rename it appending _after_commit. 19. Compare the number of scenarios committed in master csv on that date with the difference between number of scenarios in content_report_before_commit and content_report_after_commit. If both numbers are not same then there is miss match between number of scenarios committed and number of scenarios updated in master csv. 39
  • 40. How to create and send the Summary Report: Following steps are followed while creating and sending the summary report : 1. Update the status of the applications from “Review Pending” to “Ready to Commit” in the master csv file. 2. Update the status of the applications from previous state (can be “Pending / On-Hold” etc.) to “Review Pending” which are to be reviewed on next day. 3. Refresh the data in Category-Summary sheet and Scenarios-Summary sheet and add the new data values into the fields “No. of scenarios committed”, “Completed”, “Committed”, “On Hold”, “Pending”, “In Progress”, “Review Pending” and “Ready to commit” in Summary sheet for the given day. 4. Copy the summary data till the given date from the Summary report, and send it to the team. 40
  • 41. 41