Monday, January 27, 2014

Big Data Testing VS ETL Testing



Big Data Testing VS ETL Testing

Whether it is a Data Warehouse (DWH) or a BIG Data Storage system, the basic component that's of interest to us, the testers, is the 'Data'. At the fundamental level, the data validation in both these storage systems involves validation of data against the source systems, for the defined business rules. It's easy to think that, if we know how to test a DWHwe know how to test the BIG Data storage system.
But, unfortunately, that is not the case! In this blog, focusing on some of the differences in these storage systems and suggest an approach to BIG Data Testing.
Let us look at these differences from the following 3 perspectives:

-Data

Four fundamental characteristics by which the data in DWH and BIG Data storage systems differ are the Data VolumeData VarietyData Velocity and Data Value.



DWH (Data Warehouse)
Big Data
Typical Data volumes which the current DWH systems are capable of storing is in terms of Gigabytes.
The BIG Data storage systems can store & process data sizes more than Petabytes.
When it comes to Data variety, there are no constraints on the type of data that can be stored and processed within a BIG Data storage system.
DWHs, can store and process only 'Structured' data.Whether it is 'structured' or 'unstructured' can be stored and efficiently processed within a tolerable elapsed time in BIG Data Storage system.
The data is stored in DWH is through 'Batch Processing', BIG Data implementations support 'Streaming' data too.
DWH systems are based on RDBMS.
The BIG Data storage systems are based on File system.
DWH systems have limitations on the linear data growth.BIG Data implementations such as the ones based on Apache Hadoop have no such limitations as they are capable of storing the data in multiple clusters.
Validation tools for DWH systems testing are based on SQL (Structured Query language). For BIG Data, in Hadoop eco system range from pure programming tools like MapReduce (which supports coding in Java, Peal, Ruby, Python etc) to wrappers that are built on top of MapReduce like HIVE QL or PIGlatin.

What does this mean to the tester?


DWH - Tester
Big Data - Tester
DWH tester has the advantage of working with 'Structured' data. (Data with static schema).
But BIG Data tester may have to work with 'Unstructured or Semi Structured' data (Data with dynamic schema) most of the time.
The tester needs to seek the additional inputs on 'how to derive the structure dynamically from the given data sources' from the business/development teams.
When it comes to the actual validation of the data in DWH, the testing approach is well-defined and time-tested.
 Tester has the option of using 'Sampling' strategy manually or 'Exhaustive verification' strategy from within automation tools like Infosys Perfaware (proprietary DWH Testing solution).
 Considering the huge data sets for validation, even 'Sampling' strategy is a challenge in the context of BIG Data Validation.
RDBMS based databases (Oracle, SQL Server etc) are installed in the ordinary file system.
So, testing of DWH systems does not require any special test environment as it can be done from within the file system in which the DWH is installed. 
When it comes to testing BIG Data in HDFS, the tester requires a test environment that is based on HDFS itself.
Testers need to learn the how to work with HDFS as it is different than working with ordinary file system.
 The DWH testers use either the xl based macros or full-fledged UI based automation tools. Validation tools for DWH systems testing are based on SQL (Structured Query language).For BIG Data, there are no defined tools. Tools presently available in the Hadoop eco system range from pure programming tools like MapReduce (which supports coding in Java, Peal, Ruby, Python etc) to wrappers that are built on top of MapReduce like HIVE QL or PIGlatin.

-Conclusion

Experience in DWH at the least, can only shorten the learning curve of the BIG Data tester in understanding the extraction, loading transformation of the data from source systems to HDFS at the conceptual level. It does not provide any other advantage.
BIG Data testers have to learn the components of the BIG Data eco system from the scratch. Till the time, the market evolves and fully automated testing tools are available for BIG Data validation, the tester does not have any other option but to acquire the same skill set as the BIG Data developer in the context of leveraging the BIG Data technologies like Hadoop. This requires a tremendous mindset shift for both the testers as well as the testing units within the organization.

--Thanks.


Thursday, January 16, 2014

Apache JMeter - Version 2.11 Released.............


  
 Download -Version 2.11




New Improvements

HTTP(S) Test Script Recorder improvements.

JMS Publisher/Point to Point : Add ability to set typed values in JMS header properties.

View Results Tree : Add an XPath Tester.

Ability to choose the client alias for the cert key in JsseSslManager such that Mutual SSL auth testing can be made more flexible.

Add a "Save as Test Fragment" option.

Summariser is be enabled by default in Non GUI mode.

Transaction Controller:Change default property "Include duration of timer..." for newly created element.

Go to Changes for more info. Follow on Twitter.




Monday, December 23, 2013

HP LoadRunner Mobile Recorder - ( Android App)



Hi,

Mobile applications are quickly becoming the de-facto market platform for many of the business-critical applications deployed by banks, insurance companies and other enterprise organizations, the need to ensure an optimal end user experience mandates a robust mobile performance testing environment.

When millions of people hit your mobile app at once, it needs to perform like a rock star. So how can we ensure that our 'Mobile App' performing well?

HP LoadRunner Mobile Recorder is an Android application that enables you to record all of the network traffic of your native, browser-based or hybrid mobile web applications to a capture file. The file is then used to generate a LoadRunner script. Recorded script can be used to test Mobile App performance.


Install LoadRunner Mobile App for Android.

Here is a short tutorial how to use Mobile Recorder.

Check out the Article, 'Who’s up for mobile performance testing?

LoadRunner Utility Functions ( C language)


LoadRunner Utility Functions ( C - language)


Command line parsing functions:

 lr_get_attrib_double
lr_get_attrib_long
lr_get_attrib_string

Informational functions:

lr_end_timer
lr_get_host_name
lr_get_master_host_name
lr_get_vuser_ip
lr_start_timer
lr_user_data_point
lr_user_data_point_ex
lr_user_data_point_instance
lr_user_data_point_instance_ex

lr_whoami

Message Functions 

lr_debug_message
lr_error_message
lr_get_debug_message
lr_log_message
lr_message
lr_output_message
lr_set_debug_message

lr_vuser_status_message

Run-Time Functions

lr_abort
lr_continue_on_error
lr_disable_ip_spoofing
lr_enable_ip_spoofing
lr_exit
lr_load_dll
lr_param_increment
lr_peek_events
lr_rendezvous
lr_rendezvous_ex
lr_think_time

String and Parameter Functions 

lr_advance_param 
lr_checkpoint
lr_convert_string_encoding 
lr_decrypt 
lr_eval_string
lr_eval_string_ext 
lr_eval_string_ext_free 
lr_free_parameter
lr_next_row
lr_param_increment
lr_param_sprintf
lr_param_unique
lr_paramarr_idx
lr_paramarr_len
lr_paramarr_random
lr_save_datetime
lr_save_int
lr_save_searched_string
lr_save_string
lr_save_var

Transaction Functions

lr_end_sub_transaction
lr_end_transaction
lr_end_transaction_instance
lr_fail_trans_with_error
lr_get_trans_instance_duration
lr_get_trans_instance_status
lr_get_trans_instance_think_time
lr_get_trans_instance_wasted_time
lr_get_transaction_duration
lr_get_transaction_status
lr_get_transaction_think_time
lr_get_transaction_wasted_time
lr_resume_transaction
lr_resume_transaction_instance
lr_set_transaction
lr_set_transaction_instance_status
lr_set_transaction_status
lr_set_transaction_status_by_name
lr_start_sub_transaction
lr_start_transaction
lr_start_transaction_instance
lr_stop_transaction
lr_stop_transaction_instance
lr_wasted_time

Database Functions 

lr_db_connect
lr_db_disconnect
lr_db_executeSQLStatement
lr_db_dataset_action
lr_db_getValue
lr_db_dataset_action



Monday, December 9, 2013

Thursday, October 31, 2013


Automating Hadoop Stack Deployment & Testing:

Check the below video how to Automating Hadoop Testing & Why 





Thanks,

Uma Mahesh A

Tuesday, October 22, 2013

Apache JMeter - Version 2.10 Released.........






Download -Version 2.10




Core Improvements

New Performance improvements.
New CSS/JQuery Tester in View Tree Results.

Many improvements in HTTP(S) Recording have been made.

You can now load test MongoDB through new MongoDB Source Config.

Kerberos authentication has been added to Auth Manager.

Device can now be used in addition to source IP address.

Timeout has been added to OS Process Sampler.

Query timeout has been added to JDBC Request.

New functions (__urlencode and __urldecode) are now available to encode/decode URL encoded chars.

Continuous Integration is now eased by addition of a new flag that forces NON-GUI JVM to exit after test end.

HttpSampler now allows DELETE Http Method to have a body (works for HC4 and HC31 implementations). This allows for example to test Elastic Search APIs.

2 implementations of HtmlParser have been added to improve Embedded resources parsing.
Distributed testing has been improved.

ModuleController has been improved to better handle changes to referenced controllers.

Best-practices section has been improved, ensure you read it to get the most out of JMeter.


GUI Improvements


New Templates feature that allows you to create test plan from existing template or merge template into your Test Plan.

Workbench can now be saved.

Syntax color has been added to scripts elements (BeanShell, BSF, and JSR223), MongoDB and JDBC elements making code much more readable and allowing UNDO/REDO through CTRL+Z/CTRL+Y.

Better editors are now available for Test Elements with large text content, like HTTP Sampler, and JMS related Test Element providing line numbering and allowing UNDO/REDO through CTRL+Z/CTRL+Y.
JMeter GUI can now be fully Internationalized, all remaining issues have been fixed.
Response Time Graph Y axis can now be scaled.

JUnit Sampler gives now more details on configuration errors.


Go to Changes for more info.