Oniyosys Big Data Testing: Serving Perfect Data Analytics Solutions

Big Data Testing

Big data is a collection of large datasets that cannot be processed using traditional computing techniques. Testing of these datasets involves various tools, techniques and frameworks to process. Big data relates to data creation, storage, retrieval and analysis that is remarkable in terms of volume, variety, and velocity. The Oniyosys Big Data Testing Services Solution offers end-to-end testing from data acquisition testing to data analytics testing.

Big Data Testing Strategy
Testing Big Data application is more a verification of its data processing rather than testing the individual features of the software product. When it comes to Big Data Testing, performance and functional testing are the key.

In Big data testing QA engineers verify the successful processing of terabytes of data using commodity cluster and other supportive components. It demands a high level of testing skills as the processing is very fast. Processing may be of three types

1. Batch

2. RealTime


Along with this, data quality is also an important factor in big data testing. Before testing the application, it is necessary to check the quality of data and should be considered as a part of database testing. It involves checking various characteristics like conformity, accuracy, duplication, consistency, validity, data completeness, etc.

Testing Steps in verifying Big Data Applications

The following figure gives a high level overview of phases in Testing Big Data Applications

Step 1: Data Staging Validation

  • The first step of bigdata testing, also referred as pre-Hadoop stage involves process validation.
  •  Data from various source like RDBMS, weblogs, social media, etc. should be validated to make sure that correct data is pulled into system
  • Comparing source data with the data pushed into the Hadoop system to make sure they match
  • Verify the right data is extracted and loaded into the correct HDFS location
  • Tools like Talend, Datameer, can be used for data staging validation

Step 2: “MapReduce” Validation

The second step is a validation of “MapReduce”. In this stage, the tester verifies the business logic validation on every node and then validating them after running against multiple nodes, ensuring that the –

  • Map Reduce process works correctly
  • Data aggregation or segregation rules are implemented on the data
  • Key value pairs are generated
  • Validating the data after Map Reduce process

Step 3: Output Validation Phase

The final or third stage of Big Data testing is the output validation process. The output data files are generated and ready to be moved to an EDW (Enterprise Data Warehouse) or any other system based on the requirement.

Activities in third stage includes

  • To check the transformation rules are correctly applied
  • To check the data integrity and successful data load into the target system
  • To check that there is no data corruption by comparing the target data with the HDFS file system data
  • Architecture Testing

Hadoop processes very large volumes of data and is highly resource intensive. Hence, architectural testing is crucial to ensure success of your Big Data project. Poorly or improper designed system may lead to performance degradation, and the system could fail to meet the requirement. At least, Performance and Failover test services should be done in a Hadoop environment.

Tools used in Big Data Scenarios

NoSQL: CouchDB, DatabasesMongoDB, Cassandra, Redis, ZooKeeper, Hbase

MapReduce: Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume

Storage: S3, HDFS ( Hadoop Distributed File System)

Servers: Elastic, Heroku, Elastic, Google App Engine, EC2

Processing: R, Yahoo! Pipes, Mechanical Turk, BigSheets, Datameer

Challenges In Big Data Testing:

1.Huge Volume and Heterogeneity

Testing a huge volume of data is the biggest challenge in itself. A decade ago, a data pool of 10 million records was considered massive. Today, businesses work with few Petabytes or Exabytes data, extracted from various online and offline sources, to conduct their daily business. Testers are required to audit such voluminous data to ensure that they are a fit for business purposes. It is difficult to store and prepare test cases for such large data that is not consistent. Full-volume testing is impossible due to such a huge data size.

  1. Understanding the Data

For the Big Data testing strategy to be effective, testers need to continuously monitor and validate the 4Vs (basic characteristics) of Data – Volume, Variety, Velocity and Value. Understanding the data and its impact on the business is the real challenge faced by any Big Data tester. It is not easy to measure the testing efforts and strategy without proper knowledge of the nature of available data.

  1. Dealing with Sentiments and Emotions

In a ig-data system, unstructured data drawn from sources such as tweets, text documents and social media posts supplement a data feed. The biggest challenge faced by testers while dealing with unstructured data is the sentiment attached to it. For example, consumers tweet and discuss about a new product launched in the market. Testers need to capture their sentiments and transform them into insights for decision making and further business analysis.

4.Lack of Technical Expertise and Coordination

Technology is growing, and everyone is struggling to understand the algorithm of processing Big Data. Big Data testers need to understand the components of the Big Data ecosystem thoroughly. Today, testers understand that they have to think beyond the regular parameters of automated testing and manual testing. Big Data, with its unexpected format, can cause problems that automated test cases fail to understand. Creating automated test cases for such a Big Data pool requires expertise and coordination between team members. The testing team should coordinate with the development team and marketing team to understand data extraction from different resources, data filtering and pre and post processing algorithms. As there are a number of fully automated testing tools available in the market for Big Data validation, the tester has to possess the required skill-set inevitably and leverage Big Data technologies like Hadoop. It calls for a remarkable mind set shift for both testing teams within organizations as well as testers. Also, organizations need to be ready to invest in Big Data-specific training programs and to develop the Big Data test automation solutions.

At Oniyosys, we conduct detailed study of current and new data requirements and apply appropriate data acquisition, data migration and data integration testing strategies to ensure seamless integration for your Big Data Testing.


IoT Testing At Oniyosys: Strengthening Multiple Dimensions Of Services

IoT Testing

Kevin Ashton, co-founder of the Auto-ID Center at MIT, which created a global standard system for RFID and other sensors, coined the phrase “Internet of Things” in 1999. IoT encompasses a world where living and inanimate things are connected wirelessly and serve the purpose of machine-to-machine communication.

In the development of applications which involve Internet of things (IoT), the IoT gadget, device application and communication module plays a vital role in analyzing the performance and behavior of the IoT service. Poor design may hamper the working of the application and affect the end-user experience. Oniyosys has developed a comprehensive QA strategy to handle these unique requirements and challenges associated with validating IoT applications.

In today’s article we will discuss Why IoT, QA Opportunities In IoT Testing, Sample IoT Test Cases on IoT testing, Challenges That QA Team Can Face During IoT Testing and Solutions And Best Practices.

Why IoT?

  • Efficient Machine to Machine (M2M) Communication
  • Development of multiple Protocols (IPv6, MQTT, XMPP (D2S), DDS (D2D) etc.)
  • Development and Integration of Enabling Technologies (Nano-electronics, embedded systems, software and cloud computing, etc.)
  • Supports Smart Living concept

Important Domains of IoT:

  • Smart Cities
  • Smart Environment
  • Smart Water
  • Smart Metering
  • Smart Safety measures
  • Smart Retail

Sample IoT Test Cases:

  • Verify that IoT gadget is able to register to the network and data connection is made successfully.
  • Set a proper time delay after the connection for the first gadget is established. Verify that another IoT gadget is able to register to the network and data connection is made successfully.
  • Verify that all the gadgets involved in the Internet of things testing are able to register to the network.
  • Verify that all the gadgets involved in the IoT testing are able to send SMS to the network.
  • erify that only gadgets with proper authentication are able to connect to network.
  • rify that gadget disconnects quickly from the network when user removes the (U) SIM.
  • Verify that gadget is able to enable or disable network friendly mode feature.
  • Verify that gadgets involved in IoT are able to transmit huge chunks of user data if required.
  • Verify that gadget transmits keep-alive message once in every half an hour.
  • Verify that if sim subscription is subject to terminated condition, gadget does not retry service request as per the requirements in NFM.
  • ify that if sim subscription with roaming not allowed, gadget does not retry service request as per the requirements in NFM.
  • Verify that if SIM subscription with barred GPRS service, gadget does not retry service request as per the requirements in NFM.
  • Verify that if maximum number of connections (as per the requirement) is attained, the IoT gadget need to stop attempt to link to the network till a predefined duration.
  • Verify that in case data volume exceeds that defined in requirement, the IoT gadget should not initiate any more transfer of data till a predefined duration.
  • Verify that IoT gadget need to inform the network about power status.
  • Verify that IoT gadget is able to transfer data in low power mode.
  • Verify that IoT gadget transmits data with IoT device application in the form of encrypted data.

Challenges That QA Team Can Face During IoT Testing:

  • IoT testingIt is expensive to replicate the environment required for IoT testing and demands too much of effort
  • The subsystems, sub-components, and services that are interrelated are possessed by various groups and third party units. If user is unable to access a single dependent sub-component, it could affect the testing of the whole system.
  • In order to obtain the right test data among different systems, Substantial effort and organization among multiple teams is required
  • Gadget which is available for testing might be of inadequate capacity or is not available at the right time
  • Sensor quality and accuracy – Device under test may not be of good quality or have the right precision needed for testing
  • Compatibility Issues
  • Complexity
  • Connectivity issues
  • Power problems
  • Security/Privacy issues
  • Safety Concerns

IoT Testing – Solutions And Best Practices:

  • IoT Services stresses for robust testing competences to guarantee that the performance of the services is able to meet the requirements and SLA. By adopting effective best practices user can successfully execute IoT testing.
  • QA need to concentrate on good testing approaches and practices for efficiently implementing a testing job. Well-defined requirements, comprehensive test plan, unit testing, integration testing and effective communication would form the basis of IoT testing. Impeccable programming tactics and practices ensure that the end-result is a quality product.
  • New platforms ensure effective communication and to efficiently obtain valid info from huge amounts of raw data. This ensures good timing and systems framework to back the real-time applications. QA testing team can also make use of cutting-edge tools, consoles, viewers and simulators to ensure successful execution of the project.
  • QA testing team also need to have sound understanding of the architecture, the Operating System, hardware, applications, protocols and shortcomings of hardware gadgets to design good test cases.
  • Robust backend – if the mainstream functionalities are embedded into a robust backend, backend functionalities can be tested using usual testing methods, tools and approaches.

At Oniyosys, our team expertise and efforts serve to make testing and validating IoTapplications a simple and productive experience. The Oniyosys Test solution includes a combination of testing with actual devices, tools, and frameworks.