How NetOcean Works
- Service endpoint is a back-end server e.g. shipping service, payment gateway or OTP services.
- NetOcean works as a replacement of service endpoint server.
- First we capture the actual request and response flows between system under test and service end point and store them in NO.
- Now, when service end point is not there then NO serves the response of a particular request coming from system under test.
Following are key features of NetOcean:
- Highly stable and battle proven product
- In production for Performance testing since 2005
- Used by very large enterprises
- Used in most demanding environments by network infrastructure companies
- Designed for extreme performance
- UI based setup to deploy virtual services
- Automated recording
- Creation of service using WSDL file
- Creating business rules
- Manual creation of new service, adding request, response templates to existing service
- Dynamic service behavior
- Customize response based on request data
- Select from multiple response templates based on request data
- Service management
- Fast Deployment: Single step process as no need to deploy after service end point is created
- Enable/Disable at service and template level
- Simulate and Forward Mode at service and template level
- Version Control of service definitions
- Simulate real-world conditions
- Rich parameterization styles to help create appropriate data to be served by simulated services
- Randomized service processing times using various Statistical distribution of service times
- Internet/WAN simulation such as geographically remote or bandwidth constrained 2nd party systems
- Data Isolation
- Dedicated controllers for test environment
- Independent data set
- Can be shared, if needed
- Strong protocol support
- HTTP/HTTPS protocol based services – SOAP, XML, HTML, AJAX/JSON, Hessian, AMF
- Java code/protocol based services – Java Class, EJB, JMS, JDBC
- Other protocol based services – CICS MF, MQ
- Other Protocol support – FTP, SMTP, POP3, DNS, IMAP
- Built-in support for application services: Chase Payment processing Gateway, VISA issuers/merchant, Blackhawk Network Gift card processing, Responsys Email, Cheetah Mail, ReD (Retail Decisions) etc.
- NetOcean appliance
- Ready to use – No software installation
- Designed as an appliance (can be a VM) to minimize deployment complexity; No upgrades, maintenance, sandboxing or conflicting software version concerns
- Multiple controllers per appliance
- UI based ability to provision/deploy new controllers and Visual layout/control of service deployments
- Built-in automated management and monitoring of the appliance and controllers
- Java APIs
- Java API to automate control of each controller and managing the services (Making it a part of test automation).
- C APIs
- Simple to use C API for using in callback methods to do advanced customization.
NetOcean lets user to create service simulations that comply with industry standard WSDL, SOAP, or HTTP and other protocol standards in just a few clicks. That means a client uses the simulations as if they were real services. This helps users to:
- Focus on system under test
- Remove dependency on back-end services
- Control over Availability/Scheduling
- Reduces costs
- Predictability and Repeatability
- Dedicated data sets for each test environment
- Enable parallel development
- Simulate dependent components before they are available
- Increase test coverage
- Customize data based on business rules, boundary conditions
- Simulate error conditions
- Item out of stock, System errors
- Simulate endpoint slowdown
- Simulate network faults (connection failure)
- Significant productivity improvement
- Reduction in development and white box QA time using Predictable simulation of services
- Enable Continuous Integration
- Streamline integration testing of components
- Reduce time to market by removing test dependencies on external systems. Streamline:
- Functional QA
- White box tests
Key Terms Used in NetOcean
The key terms used in the NetOcean are defined in the table below.
|NetOcean Domain||NetOcean domain consisting of one or more NetOcean appliance|
|NetOcean Appliance||One physical server with one or more controllers|
|NetOcean Controller||One instance of NetOcean|
|Controller UI||Browser based GUI of Controller|
|Service Endpoint IP||IP address of service endpoint where NetOcean simulated services are deployed and which receives service requests|
|Service Endpoint Ports||Ports of service endpoint which receives service requests|
|Service||A service is a simulation of different protocol based service.|
Types of NetOcean Users
NetOcean can be used by the following types of users:
- Domain Admin: This user creates and manages controllers.
- Controller Admin: These users add/delete users in the controller.
- Controller Users: These users use features offered by NetOcean to design, create and execute services and manage the controller owned by them.
Typical NetOcean Setup
Typical Test Setup using NetOcean controller
The following diagram displays a graphical view of a typical test setup using NetOcean:
Test Setup using multiple NetOcean Controllers
Quick Start Guide for Using NetOcean
User needs to perform the following steps to deploy a virtual service using NetOcean:
- Record request and responses or Add Service manually
- Automatic or Manual mode
- Identify content in requests which affect response
- For example – account number in Account Summary request
- Define response customization
- Response Templates
- Activate service
- The Service is ready for use!! Point the application to the controller IP and port and user is ready to go.
- Use additional features:
- Hold values needed for response generation
- Assigned from Requests, HTTP headers, URL Query parameters
- Generated by NetOcean (e.g. system date, random number, counters)
- Loaded from indexed datasets (e.g. account details based on account id)
- Defines how response is generated
- Based on data (parameters) in specific request
- Custom logic, if needed
- Service Creation: Record request and responses or Add Service manually
- Service Correlation: Capture dynamic values passed from the client to the server and send the response based on these dynamic values.
- Parameterization: Identify content in requests which affect response and add them to response
- Response Templates: Predefine response file that serves as a starting point for a new response.
Structure of NetOcean
Service is a collection of request and response. Each service has a unique name and is associated with a key like URL of the web service. Service comprises of Templates, Parameters, and Service Settings Services are added either by recording existing services or manually using Add Service feature.
A Service has following components:
- Data Source
- Service Settings
Services are added either by recording existing services or manually using Add Service feature.
User can use templates to define the response of a service. Templates use various parameters to send the appropriate response based on the request data. One service can have one or more templates. In case of multiple templates, conditions are used to select the template for the matching response.
Data Sources are global data source which can be used by one or more services. Data from data source are used for parameterization of the response templates, selection of the template and index for index data set.
Parameterization is a technique to change the recorded value in the script to some other value during the run-time. Parameterization is needed to generate real-life load, while optimizing the size of the script and avoiding cache effect. For example, to perform the script’s actions (query or submit) using different values from those recorded, we replace the recorded values with parameters. It is mandatory in situations where different user-ids are needed to login in form of a real-life load scenario.
Following types of parameters are supported by NetOcean:
- Search Parameter
- Request parameters
- URL query parameters
- Scratch parameters
- Scratch Array parameter
- Indexed dataset
- Data/time parameters
- Random number
- Random string
- Unique number
- Cookie parameter
- XML Parameter
- Conditional Logic based parameter values
- Select Data Source
- Indexed Data Source
Service settings are used to configure the following settings:
- HTTP settings
- Additional HTTP Headers
- Trace level
- Service Time Delay
- Callback Methods
User needs to follow the below-mentioned steps to log in to NetStorm:
- Open the web browser and provide the product URL. The NetOcean login window is displayed.
2. Enter the user name and password and click the Login button. The NetOcean Home page is displayed.
NetOcean Home page consists of the top pane, left pane, and right pane. The left pane contains a menu through which users can view the web dashboard, perform operations on services, view request trace, do configuration, perform reactive replay, do run time changes settings, and so on. On the right pane, a summary of the important aspects is displayed, be it a release version, CPU usage, memory utilization in the system, and so on.
The top panel displays information represented with icons. A user can access these icons at the top panel from anywhere in NetOcean.
|To view the status information of the NetOcean server. This includes Non-SSL Port (HTTP Port), SSL Port (HTTPS Port), Last Updated Date/Time, and Server Status.|
|Displays the current time in MM/DD/YY HH:MM:SS (Time Zone) format.|
|To change the theme of the UI. Select the desired theme from the multiple options.|
|Displays the error logs|
|Click to restart NetOcean Services for activating the changes. The user would need to activate the HPD to reflect the changes every time. However, in the case of RTC mode, there is no need to restart the HPD. It reflects the changes at run time.|
To change the existing password. Enter old password, new password, and re-enter the new password for confirmation. Once done, click Save.
Refresh Interval Time
To change the refresh interval time for the data to be displayed on Dashboard.
Note: On selecting the Update Config Value check box, the mentioned values are saved in configuration file and is applicable globally. If you do not select it, the values are applicable for current session only. Clicking Reset change it to default values. To make changes, update the values and click Update.
Email / SMS Settings
To configure the email settings for alert notification. Provide the required details related to mail configuration and SMS career. Test the configuration and click the Apply button to apply the settings.
Audit log displays the activity log details of all users. Initially, it displays number of users currently logged in.
In Audit log, entries are populated in audit log files for only those actions of users, which affects user’s object, such as add, edit, update, delete.
Audit log is a separate feature whose permission can be provided to a user, by default user has the permission to see own audit logs. If we assign audit log feature capability to any user, he/she is able to see all the activities performed by user logged in to that machine.
Audit log window displays User, Session Id, IP Address from where user has accessed, Activity Date Time, and Activity description. Every time when user logged in, then a session id is generated. ‘User’ and ‘session id’ group audit log table. Upon expanding any user, displays its multiple sessions. Upon further expansion of any session, activities for that session is displayed.
- By default, audit log window displays logs for a particular duration (such last n hour). More logs can be filtered by applying filter for specified time.
- Active users (which are currently performing some activities i.e. not idle in last one hour) is displayed in a section of User Management.
- Users with Admin capability can force or log out any other user (Users are forcefully logged out if inactive for ‘n’ duration). If same user is trying to log in from different browser or from different IP (Admin can allow access) then system prompts the user about old active session. After confirmation of user, old session is logged out, this allows user to log in new session.
- Session is not having time restrictions, user can also view Logs for specific period. Full session of user can be displayed if any activity lies between applied period.
- System displays complete log for that session. While finding Historical data, system searches for LoggedIn activity. If not found, then user can configure N hours and search for the same. If LoggedIn activity found, then activity is displayed from there to logged out. During that applied period, if LoggedOut session is not available, then go forward N Hours and search for LoggedOut activity. If found, cover all the activities done till LoggedOut otherwise time bound activities are displayed only.
- By default, logs are displayed for last one hour. User can apply any specified time range and view the logs.
- There is a filter provision on each field. User can filter by user, or session id, activity time, or some text in activity description.
View Audit Log: To view the Audit log, navigate to the logged in user, and click the Audit Log option.
This displays the Audit log window with logged in user details, such as user name, IP, and login time. At the top-right corner, the count of active sessions and active users is displayed.
Upon expanding the record, detailed activities of the user along with the various details, such as activity time, IP address, session ID, user name, module name, activity name, description, and response time (ms) is displayed.
Columns Selection: The user can select columns to be displayed from the drop-down list.
‘Group by’ Columns: In addition, there are various options to select the “Group by” functionality, such as session Id, activity name, activity time, IP, module name, and user name.
Download Report: You can download Audit logs (the logs of user activity performed in dashboard) in three formats – PDF/Word/Excel.
|1||Include Inactive Session||Select the check box to include inactive sessions in the Audit log report|
|2||To generate user session report|
|3||To filter / search a record|
|4||To refresh the Audit log list|
User Sessions Report: This report displays number of users and sessions per day, number of sessions per user and activities count of each activity and its module, done by user in between a specified period in three different tables as follows:
- Summary: Displays date wise number of active users and its session count. The details include Date, LOB, Environment, Application, Application URL, number of Unique Users, and number of Sessions along with Session Duration (Avg duration, Min duration, and Max duration).
- Top N Users: Displays number of sessions count per user (unique) between the specified period. The details include LOB, Environment, Application, Application URL, Users, and number of Sessions along with Session Duration (Avg duration, Min duration, and Max duration).
- Top N Activities: Displays the count of per activity performed by user in the specified period. The details include LOB, Environment, Application, Application URL, Module, Activity, and Activity Count along with Response duration (Avg, Min, and Max).
- In case of multi-dc, the tables displayed are – Summary, Top-N Users from each application, and Top-N Activities from each application.
- For summarized table, two chart are displayed, which shows the relation between date and number of users, date and number of sessions. The first chart displays dates on X-axis and number of user count on Y-axis. The second chart displays dates on X-axis and number of session count on Y-axis.
- Activities, such as Login attempt failed, Login attempt failed due to maximum session limit reached and its session are not counted as active user, active session for summary table, and Top-N user table. This data only come in Top-N Activities table.
- An HTML link is provided on the number of unique users in the summary table of User session report. To see date wise user list, click or CTRL+Click the user count in summary table. A click opens an HTML in the same tab and ctrl-click opens an HTML in a new tab. This html contains the date wise user list.
- The current date and time is displayed at the end of report URL to get the actual data when the report is generated.
Generate a User Session Report
- Click the icon, specify the time period for the report generation, and click the Apply button.
- To generate the user session report, click the icon. The report gets generated and displayed in PDF format. Few are some sample sections of the generated report.
This feature allows only an authorized user to access external REST API URLs. To access URLs, you need to generate a security token, and use it in REST calls for authentication and authorization purpose. Server validates the token and allow/discard the request. There is an expiration time associated with every security token, which is taken as input while generation of the token. Once token is expired, you cannot access the URL with this token. You need to get/generate a new token for further use.
- To access the Generate Authentication Token window, click the icon beside the logged in user name, and click the Generate Token This displays the Generate Authentication Token window.
- Enter the duration in HH: MM format and click the Generate button.
This generates a token, which is valid for the specified duration. You can generate multiple tokens. To copy the generated token, click the Copy button.
It contains the following menu represented with icons:
|Web Dashboard||It provides extremely powerful analytics and visual representation of the testing as well as production monitoring data|
|Services||It is used to navigate to the services page to add, manage, and record a service.|
|Data Source||It is used to view the Data source. It is a global data source that can be used by one or more services. Data from the data source are used for parameterization of the response templates, selection of the template, and index for index data set.|
|Request Trace||It is a log for request and response user captured for services.|
|Configuration||It is used for various configurations, such as URL settings, HTTP settings, SSL settings, and so on.|
|Reactive Replay||The reactive replay is the replay of access log data based on the session id provided in the request. Initially, raw data files/access log files are required, which are provided by user.|
|Run Time Changes||It is used to apply/undo RTC based on service level, global level or add service & enable/disable service.|
|**Admin||Here, user can configure groups, users, projects, and servers|
|**Access Control||Access control is a security technique that is used to regulate who or what can view or use resources|
|**Manage Controllers||This section is used to add/delete controllers|
** These features are intended for admin user only and hence not covered here. To know more about these features, ask your Cavisson representative.
NetOcean Service Hit Count
This section provides brief details about the services in NetOcean. It displays the IP and port on which the NetOcean service is running along with the date and time when it was activated. It also displays the last updated time. To change NetOcean service graph view, click the toggle button (). In addition, to refresh the data, click the refresh icon ().
In the graphical representation, the X-axis represents the duration and Y-axis represents the number of services hits.
Along with this, it also displays the following details of the running service:
- Service Name: Unique name of the service.
- Color: The color with which the service is represented. Example: Blue. Multiple services are represented with different colors.
- Endpoint URL: The web address (URL) at which clients of a specific service can gain access to it.
- Templates: The template used for this service.
- Last Modified: The date and time when this service was last modified.
- Status: The status of the service, such as running, deleted.
- The user can view either 4, 8, or 12 records in a single view.
- Whenever a user starts High-Performance Daemon (HPD), the Continuous Monitoring (CM) test starts by default. A user can verify service hit count and service utilization from the Service utilization graphs.
The Right pane also provides a summary of the most details related to release, services controller, memory, and CPU utilization. It contains following sections:
This section provides release details of product, such as release version and build number, the time when the release is installed on the server. It also provides a tabular view where user can see the release details, such as installation date/time, release version, and build number.
|Tomcat Heap Memory
In this section, stats on the total heap memory is displayed. Heap memory is a memory used for dynamic allocations. Used heap memory is displayed (in GB) with blue color, and free heap memory is displayed with yellow color along with its percentage.
|CPU Utilization Vs Load AverageThis section displays CPU utilization vs load average in the form of a graph. Various parameters, such as user, system, I/O ae displayed with different colors. The load average among all these is displayed with black color.|
|Available MemoryThis section displays stats on available memory (in GB) in the form of a graph. Cached memory is displayed with blue color and free memory is displayed with black color.|
|Disk Space UtilizationThis section provides a summary of the disk space utilization by various directories in the system. It contains information such as total space assigned to a particular directory (in GB), free space, used space, along with used percentage.|