Wednesday, 28 December 2016

The Testing challenges ahead for the Internet of Things






The proliferation of the Internet of Things (IoT) and its related technologies and software applications has confronted the testing teams with a number of challenges. With IoT, where most of the everyday objects communicate with each other, and where technologies upgrade every other day, new challenges have emerged for the software testing industry. 

For any given software project, QA teams need to ensure that a single app functions as designed and performs as per  the user expectations. As the IoT devices  seamlessly connect and communicate with a wide variety of platforms, devices and operating systems, the additional stress on the testing team is enormous. However, such challenges are completely outweighed when it comes to the security challenges posed by the software architecture of the IoT application. With innumerable devices connected to each other in the IoT, there are numerous potential attack vectors that can be exploited by the cyber criminals. If cyber criminals were to tamper with the settings of such devices, the consequences could be highly devastating. 

With the amount of detail that needs to be covered in an IoT testing, having a list of critical QA priorities is very important. Such priorities need to cover the length and breadth of the challenges of IoT testing

The different areas of testing an IoT application are as follows:
Functionality: Web/UI, embedded and back-end computing.
Compatibility: Multiple Configuration, Protocol and product Versions, Backward Compatibility and Mobile OS.
Connectivity: Communication between the devices, third party applications and the infrastructure.
Performance of the network, communication and internal computation.
Exploratory: Rare scenarios and beyond functional requirements and structured testing.
Security: Privacy, Autonomy and Control.

Best Practices for Cloud based Load Testing




Cloud based load testing enables testing teams to conduct more efficient and realistic large-scale tests. It also enables organizations to significantly save costs and time. While all the cloud load testing solutions enable the use of the cloud technology in some way, very few enable to follow the best practices of cloud usage and leverage on the cloud-based load testing services.

The following points need to be accounted for while considering a solution for a cloud load testing solution:
-      Integration with the Cloud Platform: Load Testing tools that offer integration with the cloud, simplify and accelerate the steps needed to use the cloud infrastructure. Most solutions offer different levels of integration with multiple cloud platforms.  

-      Realistic tests:  Simply moving to the cloud does not ensure the most realistic tests. Real users generally have access to a lesser bandwidth than a load generator in the cloud data center. While choosing a cloud load testing tool, the bandwidth simulation feature needs to be considered. This ensures that the virtual users are able to download the content of the web application at a realistic rate. This feature proves very important while testing mobile applications, as they operate at a lesser bandwidth than laptops and desktops.

Also, it is important to look for those tools, which helps to consider requests. Without addressing  requests it is not possible to produce truly realistic performance tests for web applications.

-      Unified Lab Testing and Cloud Testing: It is a disadvantage to use only lab testing or cloud testing. A single solution that supports both lab testing and cloud testing enables engineers to reuse scripts for both kinds of tests. This saves time and effort. Also, this makes it possible to find and fix performance problems earlier in the lifecycle by verifying it internally before the system is made available via the Internet. Reusing scripts also help in uncovering performance problems that show up in cloud testing, but not during internal testing.

-      Ease of use: Testing is always performed under time constraints. Such an environment is not a good place for tools, which are difficult to use and configure. Some of the key features to look out for in testing tools are:
1.  Ability to define advanced behaviors via a graphical interface in addition to the use of scripting language as well
                              2. Automating handling of dynamic parameters
 Read More...

Monday, 19 December 2016

Best Practices for Usability Testing In UX Design




The success and failure of any software depends on its usability, accessibility and responsiveness as felt by its end users or customers. It is observed that designers don’t always take into account the ‘user experience’ while designing a product, for they are mainly guided by its objective as specified by the company. When such a product goes into the market without proper evaluation of its user experience, the inherent issues from the perspective of end users turn it into a non starter. To avoid such a scenario, usability testing is needed to be carried out prior to a product’s release into the market. Post this testing, any lingering issues related to the user interface and overall responsiveness of the product gets addressed. However, usability testing methods should be robust enough to identify the real issues. 

A lot of thought goes into designing a product. After the designing phase the product goes into development phase, where individual components or units are developed and tested for desired outcomes. However, more often than not the product is only checked from the perspective of developers and not the end users. In such a case, even though the product or application comes out looking fabulous, it might possess inherent flaws such as a poor user interface, lack of accessibility, delay in loading, slow scrolling, an unimaginative layout, erroneous content, etc. These flaws when faced by the end users end up as poor user experience. As there are many competitors of the product in the market, end users will not think twice before latching onto some other. This not only reduces the viability of the product, but also dents the brand image of the company producing it. 

To avoid getting into such a situation in the first place, companies need to perform usability testing in UX design for the product or application. Usability testing involves testing of the product by its end users or customers. While testing, the behaviour of users using the product is keenly observed by testers and key areas where some difficulties are faced get noted down. The areas of concern are addressed later before releasing the product into the market thus increasing its market viability.

To know more, please click here